RetropieをHDDから起動する

今回のお題:Retropieを外付けHDDから起動する

Raspberry Piのディストリビューションの一つ、Retropieを利用している。レトロゲーム好きにはたまらないアイテムだが、SDカード起動というのが少々引っかかっている。最近こそ大容量となっているが、色々入れることを考えるとまだ足りない。書き込み耐性にも不安を覚えている。

よろしい、ならばルートディレクトリを変えようぞ。

下ごしらえ:ハードウェアの準備とパーティションの書き込み

準備するハードウェアだが、以下をそろえた。

  1. 2.5インチHDD 320GB
  2. 2.5インチHDDケース
  3. 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に差し戻して起動する。無事に起動したら、作業完了となる。

ネタ晴らし:他のディストリビューションでも使える

というよりは、他のディストリビューションでやったことを適用させただけなので、特別なことをしているというわけではない。それでも、書き込み回数が多い用途には便利だといえる。たとえばHypriot。

余談:RetropieをHDD起動にするといいことがあるのか

個人的な見解だが、「ある」としておく。メディアプレイヤーKodiを起動できるので、サイズの大きな動画を管理させるというところではメリットが出ると思う。あと、RetropieにはもともとSambaがインストールされているようなので、ファイルサーバーとしても使える。そのため、HDD起動にしておくといいことがある、と考えている。

最後に:参考サイト

純規の暇人趣味ブログ Raspberry PiをUSB(HDD)で起動させる

コメント

このブログの人気の投稿

OpenStackでイメージを導入してみる

OpenStackでネットワークを設定してみる