※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Wubiで手軽にWin-Ubuntuデュアルブート環境を構築


Windows環境への影響を最小限におさえて手軽にUbuntuをインストールできるWubiを利用した、Windows+Ubuntu Netbook Remix(10.04)のデュアルブート環境の構築について説明します

Wubiの特徴として、新たにパーティションを切りなおさずに、WindowsのFS上の空きスペースを使ってUbuntuをインストールすることが出来ます


準備するもの

Windows上でのインストール開始

  • デスクトップ環境に「Ubuntu Netbook」を選択。他は適当に
  • 終わったらリブート

Linuxインストーラーブート

  • ブートメニューでUbuntuを選択
  • インストールが進む
  • 最後に「Restarting system.」と表示されて固まるが、これは仕様なので電源ボタン長押しして電源を落とす(このリブート動作不良問題は次の項目で対処を行う)

リブート動作不良対応

  • Ubuntuからリブートを行うと最後の最後でハングアップする問題があるので、その対策として bootパラメータに reboot=bios と入れて回避する
※memとacpi_osiの設定はグラフィックドライバのためのおまじないだがついでなのでここで書いた
$ sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
↓
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=bios mem=976mb acpi_osi=Linux"
$ sudo update-grub
  • シャットダウンして電源を落とし、また入れなおす

無線LANの設定

  • sd8686と相性の悪いNetwork Managerを削除する
System>Startup Applications>Network Manager → チェックをオフに
System>Administration>Synaptic Package Manager>Network Manager → パッケージごと削除
※どうしてもNetwork-Managerやwicdを使って管理したいという向きには、こちら(http://nblog.jp/0129)などを参考に頑張ってみてください
  • リブート(ここからはちゃんとリブートできるようになっているよ)
  • sd8686のファームを有効にする
$ cd /lib/firmware
$ sudo modprobe -r libertas_sdio libertas
$ sudo ln -s ./libertas/sd8686_v9.bin ./sd8686.bin
$ sudo ln -s ./libertas/sd8686_v9_helper.bin ./sd8686_helper.bin
$ sudo modprobe libertas_sdio
$ sudo modprobe libertas
  • wlan0にAPとの接続設定を入れる。
    ここでのターゲットは、SSIDはステルスAP・暗号化はWPA-PSK(AES/TKIP)・IPはDHCPで取得、とする
$ wpa_passphrase "SSID"
# reading passphrase from stdin
パスフレーズ
network={
	ssid="SSID"
	#psk="パスフレーズ"
	psk=ac11cca760e62cec3628a9fee832d510d321bda57ba42e23dd5ed71bafe459fd
}
↓この情報を元に…
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
★ctrl_interface=/var/run/wpa_supplicant
★ap_scan=1
★
●network={
★	scan_ssid=1
●	ssid="SSID"
★	key_mgmt=WPA-PSK
★	proto=WPA WPA2
★	pairwise=CCMP TKIP
★	group=CCMP TKIP
★	#
●	psk=ac11cca760e62cec3628a9fee832d510d321bda57ba42e23dd5ed71bafe459fd
★}
※●印はコピペで、★印を手書きで追加してください

$ sudo cp -ip /etc/network/interfaces /etc/network/interfaces~
$ sudo vi /etc/network/interfaces
 auto lo
 iface lo inet loopback
 
★auto wlan0
★iface wlan0 inet dhcp
★	wpa-driver wext
★	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
※★印を手書きで追加してください
  • リブート
  • APに繋がることを確認
※必須ではないが、ここでvinoなどをインストールすると、D4を母艦からリモートで操作できるようになるので以降の作業が楽になる

日本語環境の設定

  • 日本語環境の追加パッケージのインストール
System>Administration>Language Supportを開くとインストールするかどうか聞いてくるのでインストールをする
  • リブート
  • メニューが日本語表示になる
  • 日本語入力で漢字変換できるようになる

グラフィックドライバのインストール

  • ドライバを入れるとNetbook Launcherが死んでなにも操作できなくなるのでログイン画面をNetbook Launcher 2Dに変更する
※余談ながらNetbook Launcher 2Dもよく迷子になるのでなにか別のランチャを用意したほうがいいかもしれない
システム>システム管理>ログイン画面>「Ubuntu Netbook Edition 2D(以下略)」をデフォルトセッションにする
$ sudo add-apt-repository ppa:gma500/ppa && sudo apt-get update
$ sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config
  • リブート

サウンドドライバの設定

  • 自動で適切な設定にならないので手書きする
$ sudo cp -ip /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf~
$ sudo vi /etc/modprobe.d/alsa-base.conf
★alias snd-card-0 snd-hda-intl
★alias sound-slot-0 snd-hda-intl
★options snd-hda-intel model=desktop enable=1 index=0
 ↑この3行のみにする
  • リブート
  • Synapticから、gnome-alsamixerをインストール
  • gnome-alsamixerで以下の3項目を自分の好みに調整
  1. Master
  2. PCM
  3. Mono

タッチスクリーンのキャリブレーション(パターン1)

  • IdeaComのドライバをインストールする
$ wget http://www.ideacom.com.tw/download/DRIVE/IDC_Linux_3_1_0.tar.gz
$ tar xzf IDC_Linux_3_1_0.tar.gz
$ cd IDC_Linux_3_1_0
$ sudo ./IDC_setup.sh
  • リブート
  • キャリブレーション
$ sudo /usr/local/IDC/calibration
  • リブート

タッチスクリーンのキャリブレーション(パターン2)

※IdeaComドライバ導入後フリーズが一回発生した。原因はさだかではないが近々で変更したのはタッチパネルのドライバなので、IdeaComのドライバではなくevtouchを使う方法も紹介しておく。
  • evtouchパッケージをインストールする
$ sudo apt-get install xserver-xorg-input-evtouch
$ sudo mkdir /etc/evtouch
  • xorg.conf.d/のファイルを修正する
$ cd /usr/lib/X11/xorg.conf.d/
$ sudo vi 10-evtouch.conf
 Section "InputClass"
         Identifier "touchscreen catchall"
         MatchIsTouchscreen "on"
         Driver "evtouch"
 EndSection
  ↓
 Section "InputClass"
●        Identifier "tablet catchall"
●        MatchIsTablet "on"
★        MatchDevicePath "/dev/input/event*"
         Driver "evtouch"
★        Option "MoveLimit" "1"
★        Option "LongTouchTimer" "1"
★        Option "Calibrate" "1"
 EndSection
※●=修正、★=追加
  • キャリブレーションツールを修正する
$ cd /usr/lib/xf86-input-evtouch
$ sudo perl -i.bak -pe 's/freemono/monotype/;' ev_calibrate
  • X停止
$ sudo service gdm stop
  • キャリブレーション(calibrate.shは使わない)
$ mknod /tmp/ev_calibrate p
$ sudo xinit ./ev_calibrate -- /usr/bin/X :1.0 -auth /dev/null
$ rm /tmp/ev_calibrate
  • xorg.conf.d/のファイルにキャリブレーション結果を反映する
$ cat /etc/evtouch/config
★MINX="278"
★MINY="412"
★MAXX="7958"
★MAXY="7850"
 X0="-3"
 Y0="-7"
 X1="-5"
 Y1="-5"
  :
$ cd /usr/lib/X11/xorg.conf.d/
$ sudo vi 10-evtouch.conf
 Section "InputClass"
         Identifier "tablet catchall"
         MatchIsTablet "on"
         MatchDevicePath "/dev/input/event*"
         Driver "evtouch"
         Option "MoveLimit" "1"
         Option "LongTouchTimer" "1"
●        #Option "Calibrate" "1"
★        Option "MinX" "278"
★        Option "MinY" "412"
★        Option "MaxX" "7958"
★        Option "MaxY" "7850"
 EndSection
●=コメントアウト、★=/etc/evtouch/configの内容を反映(Xn・Ynは面倒なので追記していないが、支障はないと思われ)
  • X再開
$ sudo service gdm start

bluetooth

  • 特に設定しなくても使用できる

カメラ

  • 特に設定しなくても使用できる

microSD

  • メディアが手元になかったので試してない

サスペンド

  • uswsuspパッケージをインストールする
$ sudo apt-get install uswsusp
$ sudo dpkg-reconfigure uswsusp ※
※以下の2項目以外はEnterで進めて可
  1. シャットダウン時の方法:「シャットダウン」を選択
  2. スプラッシュスクリーンを表示しますか?:「いいえ」を選択
  • サスペンド操作にuswsuspを利用するようにする
$ sudo cp -ip /usr/lib/pm-utils/defaults /usr/lib/pm-utils/defaults~
$ sudo vi /usr/lib/pm-utils/defaults
#SLEEP_MODULE="kernel"
↓
SLEEP_MODULE="uswsusp"
  • s2ramの動作をD4にあわせる
$ sudo mv -i /usr/sbin/s2ram /usr/sbin/s2ram.bin
$ sudo touch /usr/sbin/s2ram
$ sudo chmod 755 /usr/sbin/s2ram
$ sudo vi /usr/sbin/s2ram
★#!/bin/sh
★for w in `ls /sys/devices/pci0000\:00/*/usb*/power/wakeup`
★do
★        echo disabled > $w
★done
★
★#pm-suspend --quirk-vbestate-restore
★s2ram.bin --force --vbe_save
★
★for w in `ls /sys/devices/pci0000\:00/*/usb*/power/wakeup`
★do
★        echo enabled > $w
★done
以上で電源メニュー等からサスペンド操作が可能になる

ハイバネーション

  • Wubiはハイバネーションに対応していない
※ネイティブインストールすればpm-hibernateやs2diskでハイバネ可能なことを確認済み

タッチパッドの設定

  • タッチパッドのクリック判定が非常にセンシティブなので、気になる場合は無効化
システム>設定>マウス>タッチ・パッド>タッチ・パッドでのマウス・クリックを有効にする → チェックを外す

アップデート・マネージャ

  • セキュリティアップデートもあるので適用したほうが無難

Ubuntuのアンインストール

  • やめたくなったらWindowsを起動してコントロールパネルから削除実行でOK

今後の課題

  • デフォルトだとファンがブンブンまわってうるさい。電源管理まわりの設定をつめたい(WindowsだとCLKが200MHzくらいまで落ちるが、Ubuntuでは800MHzまでしか落ちない様子)
  • W-SIM対応したい。できるといいね

以上