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 → パッケージごと削除
- リブート(ここからはちゃんとリブートできるようになっているよ)
- 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
※★印を手書きで追加してください
※必須ではないが、ここで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項目を自分の好みに調整
- Master
- PCM
- Mono
タッチスクリーンのキャリブレーション(パターン1)
$ 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を使う方法も紹介しておく。
$ sudo apt-get install xserver-xorg-input-evtouch
$ sudo mkdir /etc/evtouch
$ 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
$ 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は面倒なので追記していないが、支障はないと思われ)
$ sudo service gdm start
bluetooth
カメラ
microSD
サスペンド
$ sudo apt-get install uswsusp
$ sudo dpkg-reconfigure uswsusp ※
※以下の2項目以外はEnterで進めて可
- シャットダウン時の方法:「シャットダウン」を選択
- スプラッシュスクリーンを表示しますか?:「いいえ」を選択
- サスペンド操作に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"
$ 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
以上で電源メニュー等からサスペンド操作が可能になる
ハイバネーション
※ネイティブインストールすればpm-hibernateやs2diskでハイバネ可能なことを確認済み
タッチパッドの設定
- タッチパッドのクリック判定が非常にセンシティブなので、気になる場合は無効化
システム>設定>マウス>タッチ・パッド>タッチ・パッドでのマウス・クリックを有効にする → チェックを外す
アップデート・マネージャ
- セキュリティアップデートもあるので適用したほうが無難
Ubuntuのアンインストール
- やめたくなったらWindowsを起動してコントロールパネルから削除実行でOK
今後の課題
- デフォルトだとファンがブンブンまわってうるさい。電源管理まわりの設定をつめたい(WindowsだとCLKが200MHzくらいまで落ちるが、Ubuntuでは800MHzまでしか落ちない様子)
- W-SIM対応したい。できるといいね
以上