raspberry piでroot file systemを2T以上のUSB HDDに移動するには、以下の手順を実行します。
ログ出力などすべてHDDに出力することによりSDカードを延命化できます。
Root filesystemのUSB HDD移行手順
1.(すでにmountされている場合)unmount
sudo umount /dev/sda1
2. パーティション作成
※ディスク丸ごとを1つのパーティションにする場合。
sudoparted /dev/sda
mklabel gpt
mkpart primary ext4 0 -1s
quit
3. ext4 file system作成
sudo mkfs.ext4 /dev/sda1
4. mountする
cd /media
sudo mkdir usbhdd
sudo mount /dev/sda1 /media/usbhdd
df -h
5. sdカード内容をコピー
※必要に応じてrsyncインストール。
sudo apt-get install rsync
sudo rsync -axv / /media/usbhdd
6.起動時設定
sudo vi /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda1
rootfstype=ext4 elevator=deadline rootwait rootdelay=10
※rootを/dev/sda1に変更とrootdelay追加
/etc/fstabで「/」のデバイスを/dev/sda1に修正します。
sudo vi /media/usbhdd/etc/fstab
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/sda1 / ext4 defaults,noatime 0 1
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, so no using swapon|off
from here on, use dphys-swapfile swap[on|off] for that
※ /bootのデバイスはRaspbianのバージョンによって異なります(StretchなどではPARTUUID...となっています)。
7.再起動
sudo reboot
※2018/08/21追記 - Raspbian Stretch Lite (version : 2018 June)での上記手順を実行することができます。
※2020/07/13追記 - Raspbian Busterでも上記手順を実行することができます。