ubuntuでraspiにArch Linuxをインストールする(SSH接続するまで)

ubuntuでraspiにArchを入れようと思ったらちょっと苦労したはなしです.

  • 環境
Ubuntu 18.04 LTS
Raspberry Pi 3 MODEL B

Arch Linux のインストール

公式ドキュメント(カテゴリ:ARM アーキテクチャ - ArchWiki)に沿って進めていると

bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root

としたところで

bsdtar: Error exit delayed from previous errors.

というエラーが出てしまう.
調べてみると,どうやら"Current ArchLinuxARM-rpi-latest needs bsdtar 3.3+ (unavailable in Ubuntu) "らしい*1ので,bsdtarをアップグレードする.

bsdtarのアップグレード

まず,もとあるbsdtarを削除する

$ sudo su
# rm /usr/bin/bsdtar 

次に公式ドキュメント(BuildInstructions · libarchive/libarchive Wiki · GitHub)にそってバージョン3.3.1のbsdtarをインストールする.

$ sudo su
# git clone https://github.com/libarchive/libarchive.git
# cd libarchive
# /bin/sh build/autogen.sh
# ./configure
# make
# make check
        ~    ( 略 )    ~
PASS: libarchive_test
PASS: bsdtar_test
PASS: bsdcpio_test
PASS: bsdcat_test
============================================================================
Testsuite summary for libarchive 3.3.1
============================================================================
# TOTAL: 4
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
        ~    ( 略 )    ~

makeした後にmake checkすることで,makeに成功したことが確認できた.

# make install
# exit
$ exit

exitでシェルを閉じた後,もう一度開く.

$ bsdtar --version
bsdtar 3.3.1 - libarchive 3.3.1 zlib/1.2.11

これでbsdtarのバージョンを3.3.1まで上げることができた.

Arch Linux ARM のインストール

あとはドキュメント(カテゴリ:ARM アーキテクチャ - ArchWiki)に従うだけでできる.

raspiの起動

ここまでできたらSDカードをアンマウントしてPCから取り外し,raspiに差す.
また,ethernetケーブルでルーターとraspiを接続する.
最後に電源ケーブルを指して,電源を入れる.

SSH接続

初回ログインからいきなりSSH接続する.
まだIPアドレスを固定してないので,raspiにどのアドレスがルーターから割り振らているかを調べる.ルーターの管理画面にアクセスすればどのアドレスかがわかるが,arpコマンドでざっくり調べる.

$ arp -vai wlan0
_gateway (192.168.1.1) at ■■■■■■■■■■■■■ [ether] on wlan0
? (192.168.1.10) at <不完全> on wlan0
? (192.168.1.11) at <不完全> on wlan0
? (192.168.1.8) at ■■■■■■■■■■■■■ [ether] on wlan0
? (192.168.1.9) at ■■■■■■■■■■■■■ [ether] on wlan0
? (192.168.1.6) at ■■■■■■■■■■■■■ [ether] on wlan0
? (192.168.1.7) at <不完全> on wlan0
エントリ: 7	スキップ: 0	発見: 7

arpコマンドはAddress Resolution Protocolの略で,ローカルネットワーク内のIPアドレスMACアドレスの組み合わせを表示する.今回は無線LANでPCからルーター越しにraspiにSSH接続するため,iオプションでwlan0を指定している.
arpの実行結果からraspiのIPアドレスは192.168.1.8,192.168.1.9,192.168.1.6のどれかであることがわかる.
全探索する()

$ ssh alarm@192.168.1.8
ssh: connect to host 192.168.1.8 port 22: Connection refused
$ ssh alarm@192.168.1.9
ssh: connect to host 192.168.1.9 port 22: Connection refused
$ ssh alarm@192.168.1.6
alarm@192.168.1.6's password: 

192.168.1.6で接続できた.
Archのデフォルトのユーザー名は alarm でパスワードも alarm.

$ ssh alarm@192.168.1.6
alarm@192.168.1.6's password: 
Welcome to Arch Linux ARM

     Website: http://archlinuxarm.org
       Forum: http://archlinuxarm.org/forum
         IRC: #archlinux-arm on irc.Freenode.net
Last login: Sat Feb  2 03:39:07 2019 from 192.168.1.5
[alarm@alarmpi ~]$ 

ArchにSSHでログインできた.

この後,無線LANへの接続とIPアドレスの固定の設定をする.