Ubuntu TVやってみる(6) USBドライブからの起動に変更する

SDをrootFSにしていると、どうにも遅いし、SDが消耗するので、USBハードディスクをrootFSに変更する。

USBドライブをrootFSにする方法は、このへんにもう書かれている。
http://www.omappedia.com/wiki/Ubuntu_on_OMAP_FAQ#I_want_to_install_Ubuntu_on_external_USB_hard_disk_instead_of_sluggish_SD_card


rootfsのkernelパラメータは、UUID形式で書かれているが、これにLabelを使っている。
バイス指定でもいいと思うのだけど。ダメなのかな?


おお、そうだ、USBの口がもう足りない。
USB HUBを使って、キーボードとマウスをそちらに移動して、USB HDDを直接つなげる。
ドライブは、sdaとして認識している。
自動マウントされていたら、アンマウントしておく。
必要なのは1つだが、一応、パーティションを2つ切っておく。

linaro@linaro-ubuntu-desktop:~$ sudo su -
root@linaro-ubuntu-desktop:~# fdisk /dev/sda
root@linaro-ubuntu-desktop:~# fdisk /dev/sda -l

Disk /dev/sda: 40.0 GB, 40007761920 bytes
64 heads, 32 sectors/track, 38154 cylinders, total 78140160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc621b949

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    20973567    10485760   83  Linux
/dev/sda2        20973568    78140159    28583296   83  Linux

10Gと残りの2つ。
どちらもext3で初期化しておく。
10Gのほうにはラベルをutvrootfsと付けておく。

root@linaro-ubuntu-desktop:~# mkfs.ext3 /dev/sda1
root@linaro-ubuntu-desktop:~# mkfs.ext3 /dev/sda2
root@linaro-ubuntu-desktop:~# e2label /dev/sda1 utvrootfs
root@linaro-ubuntu-desktop:~# e2label /dev/sda1
utvrootfs
root@linaro-ubuntu-desktop:~# shutdown -h now

終わったら、一旦Pandaboardを落とす。


別マシンに、SDとHDDをつないで、SDの第二パーティションの内容を、HDDの第一パーティションにコピーする。

kinneko@BuildSV:~/linaro-panda$ sudo su -
root@BuildSV:~# mount /dev/sdb2 /media/
root@BuildSV:~# mount /dev/sdc1 /mnt/
root@BuildSV:~# cp -a /media/* /mnt/
root@BuildSV:~# umount /mnt /media


kernelの起動オプションを書き換える。
先ほどと同様に、boot.txtを変更して、boot.scrを作成する。

root@BuildSV:~# mount /dev/sdb1 /media/
root@BuildSV:~# sudo vi /media/boot.txt
setenv bootargs "console=tty0 console=ttyO2,115200n8 root=LABEL=utvrootfs rootwait ro earlyprintk fixrtc nocompcache omapfb.mode=dvi:1024x768MR-24@60 vram=48M omapfb.vram=0:24M mem=456M@0x80000000 mem=512M@0xA0000000"
root@BuildSV:~# sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ubuntu" -d /media/boot.txt /media/boot.scr
Image Name:   Ubuntu
Created:      Tue Jan 24 23:23:05 2012
Image Type:   ARM Linux Script (uncompressed)
Data Size:    457 Bytes = 0.45 kB = 0.00 MB
Load Address: 00000000
Entry Point:  00000000
Contents:
   Image 0: 449 Bytes = 0.44 kB = 0.00 MB
root@BuildSV:~# umount /media 


SDとHDDをPandaに戻して起動。
おお、前に比べたら、だいぶ起動が速い。
ややぎこちなさは残るものの、これなら使えそうなレベルだわ。