ほげです.
先日,raspbianがアップデート中にフリーズしてOSが壊れてしまいました.しかし,空のSDカードは手持ちになく,chrootして直すわけにも行かなかったので,OSを入れ直すことにしたのですが,血迷ってArch Linuxを入れたので,備忘録も兼ねて記事にしました.ちなみにRaspberry Pi zeroを想定しています.
インストールに関しては,arch wikiのhttps://archlinuxarm.org/platforms/armv6/raspberry-pi の通りにやればいいのですが,一応日本語で残しておきます.
まず,SDカードにパーティションテーブルを作り,パーティションを切ります.arch wikiと同じくfdiskを使います.デバイス名を間違えると大変なことになるので気をつけてくださいね.sdXは適宜置き換えて下さい.(sdbだったり,mmcblk0pだったり…)
# fdisk /dev/sdX
とすると,インタラクティブなプロンプトが出ますので,以下のような感じで進めていきます.(各コマンドの後にはENTERを入力します.)
- o と入力.(SDカードにあるパーティションテーブルをクリアする.まっさらなら不要.)
- pと入力し,パーティションがないことを確認.
- nと入力し,続いてn,1と入力し,ENTERを押した後,+100Mと入力.(新しい1つめのパーティションを先頭からデフォルトで100MBの大きさで作成するという意味.bootパーティションとして使う.)
- t,cの順に入力.(FAT32にフォーマットするという意味.)
- n,p,2の順に入力.(新しい2つめのパーティションをデフォルトで残り全部に作成するという意味./となるパーティション.)
- wと入力.(パーティションテーブルを書き込む.)
これで,パーティションテーブルの作成は完了です.これは,あくまで標準なので,適宜変更して下さい.
次に,ファイルシステムを作成し,必要なファイルを展開します.ここでは,/mnt/raspberry/で作業することとします.
まず,マウントポイントを用意します.
# mkdir /mnt/raspberry
# mkdir /mnt/raspberry/boot /mnt/raspberry/root
ファイルシステムを作成します.
# mfks.vfat /dev/sdX1
# mkfs.ext4 /dev/sdX2
マウントします.
# mount /dev/sdX1 /mnt/raspberry/boot
# mount /dev/sdX2 /mnt/raspberry/root
archを落として,rootに展開します.
$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
# bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C /mnt/raspberry/root
$ sync
# mv /mnt/raspberry/root/boot/* /mnt/raspberry/boot
以上で,Arch Linuxのインストールは完了です.
ですが,このままRaspberry Pi zeroブートしても,sshできなくて詰むので作業します.
Ethernet over USBを使ってsshできるようにしてあげましょう.
まず,
# vim /mnt/raspberry/boot/boot.txt
で,末尾に
dtoverlay=dwc2
を追記する.
# vim /mnt/raspberry/boot/cmdline.txt
で,rootwaitの後ろに
modules-load=dwc2,g_ether
を追記する.
これで,Ethernet over USBが有効になってるはずなので,アンマウントして終了です.
# umount /mnt/raspberry/boot /mnt/raspberry/root
お疲れ様でした.
次回のRaspberryPiにArch Linuxをインストール(2)に続く
まだ書いてないです…