LoginSignup
12
20

More than 3 years have passed since last update.

[メモ] Raspberry Pi3でUSBブートする

Last updated at Posted at 2018-01-30

開発機としてのRaspberry Pi3に、HDD(SSD使いたいけど、HDDがあったから)を繋いでHDDからブートして使うためのメモ書きです。もちろんswapもHDDに設定してるので安心とかです。

2018/08/18 ファイルシステムへのラベル付を追記。

1. オリジナルの情報

How to Boot from a USB Mass Storage Device on a Raspberry Pi3
Pi3 Booting Part I: USB Mass Storage Boot Beta

まだベータ状態でしたっけ。

2. ラズパイの更新

$ sudo apt update
$ sudo apt install -y rpi-update
$ sudo rpi-update

3. /boot/config.txtの修正

$ echo "program_usb_boot_mode=1" | sudo tee -a /boot/config.txt
$ echo "program_usb_boot_timeout=1" | sudo tee -a /boot/config.txt
$ vcgencmd otp_dump | grep 17:
> 17:1020000a
$ sudo reboot
$ vcgencmd otp_dump | grep 17:
> 17:3020000a

4. USBデバイスの準備

4.1 パーティション作成

ここでは/dev/sdaとしていますが、もちろん正しいデバイス名にしましょう。

$ sudo parted /dev/sda
(parted) mktable msdos
Yes
(parted) mkpart primary fat32 0% 100M
(parted) mkpart primary ext4 100M 100%
(parted) print
(parted) quit

4.2 ファイルシステム作成

$ sudo mkfs.vfat -n boot -F 32 /dev/sda1
$ sudo mkfs.ext4 /dev/sda2
$ sudo e2label /dev/sda2 rootfs

4.3 mSDからのコピー

$ sudo mkdir /mnt/target
$ sudo mount /dev/sda2 /mnt/target/
$ sudo mkdir /mnt/target/boot
$ sudo mount /dev/sda1 /mnt/target/boot/
$ sudo apt update; sudo apt install -y rsync
$ sudo rsync -ax --progress / /boot /mnt/target

一応 sshの鍵を再作成。

$ cd /mnt/target
$ sudo mount --bind /dev dev
$ sudo mount --bind /sys sys
$ sudo mount --bind /proc proc
$ sudo chroot /mnt/target
$ rm /etc/ssh/ssh_host*
$ dpkg-reconfigure openssh-server
$ exit
$ sudo umount dev
$ sudo umount sys
$ sudo umount proc

4.4 ブートデバイスの設定

$ sudo sed -i "s|root=/dev/mmcblk0p2|root=/dev/sda2|" /mnt/target/boot/cmdline.txt
$ sudo sed -i "s|/dev/mmcblk0p|/dev/sda|" /mnt/target/etc/fstab

4.5 USBデバイスをアンマウントして再起動

$ cd
$ sudo umount /mnt/target/boot
$ sudo umount /mnt/target
$ sudo shutdown -h now

停止後にmSDを抜いてUSBデバイスだけにしてから電源を入れ直してみましょう。

12
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
20