Raspberry PiにArch Linuxをインストールする

Raspberry PiをLinuxベースで使用する際は間違いなくLaspbianがメインストリームであるが、いかんせんサイズが大きくて「組み込み用途」としてはもっとコンパクトなものが欲しくなることもある。Arch Linuxというコンパクトなディストリビューションが提供されているのだが、現在はRaspberry Piの公式ページからはダウンロードできなくなっているので、紹介を兼ねてインストール方法を説明する。

情報源

Raspberry Piの公式ページからダウンロードできなくなった経緯はこの辺から伺える。Arch Linux ARMのメンテナーから見れば、Raspberry Piは「プラットフォームの1つ」に過ぎないので、まぁそんなものか、と。

配布アーカイブは、bsdtarによってアーカイブされたものなので、解くためにはbsdtar互換のツールが必要。MaxOS Xにはデフォルトで入っているが、主要なLinuxディストリビューションでは追加でインストールが必要。(Windowsについては調べていない)。

Raspberry Pi用のSDカードを作成する

まずRaspberry Piで使用するSDカードを作成する。次のように2つのパーティションを作成する。

  • 第1パーティションを、VFATフォーマットで。容量は100MB程度で可
  • 第2パーティションを、Ext4フォーマットで。残りの容量全部

次に、フォーマットしたSDカードを、親子関係に注意しながらマウントする。仮にマウントポイントを/mnt、SDカードが/dev/sdcだとすると、Linuxでは以下の手順でマウントできる。Mac OS Xの場合は、diskutil unmountDisk コマンドで、各パーティションをアンマウントしておく(SDカードボリュームをEjectしてしまってはいけない)。

# mount -t ext4 /dev/sdc2 /mnt   (第2パーティションを/mntにマウント)
# mkdir /mnt/boot   (/bootディレクトリを作成する)
# mount -t vfat /dev/sdc1 /mnt/boot

最後に、ダウンロードしたイメージファイルをSDカードに書き込む。-pオプションは、ファイルの所有者やパーミッションを「そのまま」回復することを指定するもの。-Cオプションは、展開先のディレクトリを指定するものである。

# bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C /mnt

各パーティションをアンマウントして、SDカードを取り出せばできあがり。rootの初期パスワードはrootになっている。

初期設定など

まず最初に、時計が狂っていると何かと面倒なので、その設定だけはしておこう。(日本で使うのであれば)以下のコマンドで、タイムゾーンをAsia/Tokyoにセットし、時計を合わせておく。(参考にしたサイト)

# timedatectl set-timezone Asia/Tokyo
# timedatectl set-time "2014-10-29 18:55:00"  ←正しい時刻(ローカル)を指定する
# timedatectl status
      Local time: Wed 2014-10-29 18:13:59 JST
  Universal time: Wed 2014-10-29 09:13:59 UTC
        RTC time: n/a
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a 

次に、OSを最新の状態にアップデートすると共に、パッケージを追加するための準備を行う。Arch Linuxは、独自のパッケージマネージャを使用している。Arch LinuxのWikiは日本語情報が充実しているので、以下のページなどを参考にして、必要なパッケージを導入する。

とりあえず、最初に行うのは、以下のコマンドを実行して、インストールされたパッケージを最新の状態に更新すること。ARM版のリポジトリのミラーは少ない上に国内には無いので、ミラーサイトの調整は必要なさそうだ。

# pacman -Syu

インストール直後の初期状態では、見事なほどに最小限のパッケージしか入っていないので、必要なパッケージを順次入れていくことになる。