黒縁眼鏡は海を飛ぶ

IT中心にそこはかとなく

Raspberry pi 2 Model BにArchLinuxを入れる

最近ようやっと炎上案件に終わりが見えて平和な日常を取り戻しました。長かった。。。

今回は再び眠りについてしまったRaspberry Pi 2 Model Bさんを掘り起こして、ArchLinuxを入れてみます。

SDカードの準備

例によってSDカードにはboot領域だけ残し、ルートファイルシステムはUSBに移します。

パーティション作成

ここではSDカードのデバイス名を/dev/sda、USBを/dev/sdbとします。

root@test # fdisk /dev/sda

fdisk (util-linux 2.28.2) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。


コマンド (m でヘルプ): o    # 「o」をタイプ
新しい DOS ディスクラベルを作成しました。

コマンド (m でヘルプ): n    # 「n」をタイプ
パーティションタイプ
   p   基本パーティション (0 プライマリ, 0 拡張, 4 空き)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p    # 「p」をタイプ
パーティション番号 (1-4, 既定値 1): 1    # 「1」をタイプ
最初のセクタ (2048-15564799, 既定値 2048):     # Enter
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (2048-15564799, 既定値 15564799): +100M    # 「+100M」をタイプ

新しいパーティション 1 をタイプ Linux、サイズ 100 MiB で作成しました。

コマンド (m でヘルプ): t    # 「t」をタイプ
パーティション 1 を選択
パーティションのタイプ (L で利用可能なタイプを一覧表示します): c    # 「c」をタイプ

コマンド (m でヘルプ): w    # 「w」をタイプ
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。


root@test # fdisk /dev/sdb

fdisk (util-linux 2.28.2) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。


コマンド (m でヘルプ): o    # 「o」をタイプ
新しい DOS ディスクラベルを作成しました。

コマンド (m でヘルプ): n    # 「n」をタイプ
パーティションタイプ
   p   基本パーティション (1 プライマリ, 0 拡張, 3 空き)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p    # 「p」をタイプ
パーティション番号 (2-4, 既定値 1): 1    # 「1」をタイプ
最初のセクタ (2048-15564799, 既定値 2048):     # Enter
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (206848-15564799, 既定値 15564799):     # Enter

新しいパーティション 2 をタイプ Linux、サイズ 7.3 GiB で作成しました。

コマンド (m でヘルプ): w    # 「w」をタイプ
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。

ファイルシステム作成

まずは/dev/sda1から。

root@test # mkfs.vfat /dev/sda1
root@test # mkdir boot
root@test # mount /dev/sda1 boot

同じく/dev/sdb1を。

root@test # mkfs.ext4 /dev/sdb1
root@test # mkdir root
root@test # mount /dev/sdb1 root

ルートファイルシステムの書き込み

tar.gzの解凍にGNU tarを使うと色々警告が出て困ったので本家の記述どおりにBSD tarを使います。

root@test # wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
root@test # tar xzf ArchLinuxARM-rpi-2-latest.tar.gz -C root
root@test # sync

解凍できたらroot/bootの中身を/dev/sda1をマウントしている/boot配下に移します。

root@test # mv root/boot/* boot

ルートファイルシステムの指定変更

このままだとUSBにルートファイルシステムが存在することを認識してくれないのでcmdline.txtを書き換えます。

root@test # vi boot/cmdline.txt
root=/dev/sda1 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop
↓
root=/dev/sdb1 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop

/etc/fstabも書き換えないといけないかなと思ったけど、元々エントリが存在してなくて、試しにそのまま起動してみたらすんなり起動してしましました。

参考

ArchLinuxはArchWikiが充実しすぎててめちゃ便利ですね。

上記記事はほぼほぼこちらのドキュメントの内容そのままです。

どうでもいいんですけど、PCを慎重したいなと思って色々調べていて、ASUSのE200HA-8350かDELLXPS 9360で迷ってます。

安さを取るか快適さを取るか。。。