RetropieをHDDから起動する
今回のお題:Retropieを外付けHDDから起動する
Raspberry Piのディストリビューションの一つ、Retropieを利用している。レトロゲーム好きにはたまらないアイテムだが、SDカード起動というのが少々引っかかっている。最近こそ大容量となっているが、色々入れることを考えるとまだ足りない。書き込み耐性にも不安を覚えている。よろしい、ならばルートディレクトリを変えようぞ。
下ごしらえ:ハードウェアの準備とパーティションの書き込み
準備するハードウェアだが、以下をそろえた。- 2.5インチHDD 320GB
- 2.5インチHDDケース
- USBコネクタ用ACアダプタ コネクタ2口
HDDを中古で手に入れるなら、予算はだいたい4千円くらいと思う。SSDにしても面白いかなぁ、とは思うのだが、今回のお題を考えると値段が高くつく。手持ちにあるなら利用すると面白くなるかなぁ、と思っている。
HDDをRaspberry PiのUSBコネクタに差して起動したら、TeratermなどのSSHコンソールでリモート接続する。Raspberry PiはWiFiでネットワーク接続しているので大丈夫・・・と思ったら、接続拒否された。理由はSSHが有効になっていなかったからで、以下の通りに対処した。
【Retropieのメニュー画面より操作】
「Retropie」→「RASPI-CONFIG」→「Interfacing Option」→「SSH」の順に選択。「Would you like the SSH server to be enabled?」(SSHサーバを有効にしますか?)が出たら「Yes」を選択する。
リモート接続できたら、fdiskコマンドでHDDにLinuxパーティションを書き込む。
# fdisk -l ←USBコネクタに差したHDDと、SDカードのルートディレクトリをチェックする。何もなければHDDは/dev/sdaになるはず
# fdisk /dev/sda ←/dev/sdaにLinuxパーティションを書き込む。ほかにパーティションがある場合は、dで削除しておく
実行1:SDカードの全コピー
下ごしらえができたら、SDカードにあるデータすべてをHDDにコピーする。# dd if=/dev/mmcblk0p2 of=/dev/sda bs=32M conv=noerror,sync
書き込みには時間がかかるので、焦らず待つ。終わったら、ファイルシステムのチェックと領域拡張をあわせて行う。
# e2fsck -f /dev/sda ←ファイルシステムチェック。-fオプションがついているのは、次のresize2fsコマンド実行で促されるからである。
# resize2fs /dev/sda ←領域拡張。ちょっと時間がかかるので焦らず待つ。
# e2fsck /dev/sda ←ファイルシステムチェック。領域拡張後は-fオプションをつけなくてもいいように思う。
実行2:HDDの自動マウントとシステム指定
ファイルシステムのチェックが完了したら、/etc/fstabを編集して、HDDがルートディレクトリとしてマウントするようにする。# mount -t ext4 -o defaults /dev/sda /mnt ←HDDをマウントする。ファイルシステムはext4を選ぶのが無難と思われる。
# nano /mnt/etc/fstab ←HDD側の/etc/fstabを編集する。
編集内容は
編集前 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1
編集後 /dev/sda / ext4 defaults,noatime 0 1
終わったら、Retropieの電源を切り、SDカードを別のPCに差して読み込ませる。読み込ませると、「cmdline.txt」というファイルが見つかるので、テキストエディタで開いて以下のように編集する。
編集前 root=/dev/mmcblk0p2
編集後 root=/dev/sda
あとは、SDカードをRaspberry Piに差し戻して起動する。無事に起動したら、作業完了となる。
コメント
コメントを投稿