RaspberryPiをUSBメモリからブートするとSDカードはいらないのでは?と思っていましたが、実際には/boot
としてSDカードは必須でした。
USBへのRaspbianのインストール
とりあえず、普通にRaspbianをインストールしたSDカードを作成します。
$ sudo dd if=./2016-03-18-raspbian-jessie.img of=/dev/sdb # sdbはSDカード
で、その後、USBメモリに/dev/sdb2をインストール?します。
$ sudo dd if=/dev/sdb2 of=/dev/sdc1 # sdcはUSBメモリ
その後、
$ sudo e2fsck -f /dev/sdc1
$ sudo resize2fs /dev/sdc1
のような感じで、ファイルシステムのエラーチェックをして、ddコマンドでよくわからなくなったパーティションサイズを全領域使えるようします。
USBブート設定
/boot/cmdline.txt
のroot
の値をSDカードのルートファイルシステムからUSBメモリのルートファイルシステムに切り替えます。
編集前
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
編集後
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
不要かもしれませんが、/etc/fstab
も編集しておきます。/
に設定するデバイスを/dev/mmcblk0p2
⇒/dev/sda1
に変えるだけです。
/etc/fstab
/etc/fstab
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
/dev/sda1 / ext4 defaults,noatime 0 1
一応、これでUSBメモリから起動できるはずです。
どうでもいい情報
- bootパーティションがLite版のRaspbianだったせいか、USBメモリから通常版を起動した時、キーボートとマウスが使えませんでした。。。orz
- hdparmでアクセス速度を測定してみた感じでは、
SDカード:20.41 MB/sec
USBメモリ:32.55 MB/sec
だったので、ルートファイルシステムをUSBメモリに取り換えると1.5倍くらいの速さが期待できそうです。
(一応、テストに使ったUSBメモリはUSB3対応で、USB3接続だと60MBぐらい出せる子です。)