はじめに
ここでは、Slackware LinuxのARM版を動かすために、micro sdにパーティションを作り、必要最低限のLinux環境をインストールする手順を記します
インストール作業で、いくつかのLinuxコマンドを使います。ある程度コマンドに慣れている必要があります
コマンドに記されている ${TARGET_DEV} はSDカードのデバイスを指します。/dev/sda など、実際の環境に応じて適宜読み替えてください。もし間違ったデバイスを指定してしまうと、既存の環境を破壊してしまう恐れがありますので注意して作業してください
0. 準備
必要なもの
- 4GB以上のmicro sd
- micro sdに書き込むためのLinuxマシン
- Slackwareのrootイメージ
- Raspberry Piのbootファイル一式(ブートローダー、ファームウェア、カーネル)
rootイメージのダウンロード
以下のURLにアクセスし、一番下の"here"をクリックします
Slackware ARM
https://arm.slackware.com/installation/
slack-current-minirootの.tar.xzファイルと、details.txtファイルをダウンロードしてください
Raspberry Piのbootファイル一式をダウンロード
以下のURLにアクセスし、Download ZIPボタンをクリックしてください
GitHub - raspberrypi/firmware
https://github.com/raspberrypi/firmware
Linuxマシン
これらのファイルをLinuxマシン置き、micro sdをセットすれば準備は完了です
以降の手順は、Linuxマシンからの作業になります
1. パーティションテーブルの構築
パーティションを削除
一旦、既に作られているパーティションを削除します
# dd if=/dev/zero of=${TARGET_DEV} bs=1K count=1
パーティションの作成
以下の通りに、partedコマンドを実行します
# parted -s ${TARGET_DEV} mklabel msdos
# parted -s ${TARGET_DEV} mkpart primary fat16 1MiB 64MiB
# parted -s ${TARGET_DEV} mkpart primary ext4 64MiB 100%
フォーマット
1番目のパーティションをvfat、2番目のパーティションをext4形式でフォーマットします
# mkfs.vfat ${TARGET_DEV}1
# mkfs.ext4 ${TARGET_DEV}2
確認
fdiskで確認して、以下のようになればOKです (8GBのmicro sdを使った場合)
# fdisk -l /dev/sda
Disk /dev/sda: 7.2 GiB, 7751073792 bytes, 15138816 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x55197317
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 131071 129024 63M e W95 FAT16 (LBA)
/dev/sda2 131072 15138815 15007744 7.2G 83 Linux
2. bootパーティションのインストール
1番目の63MBの領域をbootパーティションとして使います
ファームウェアのコピ―
BootパーティションにRaspberry Piのファームウェアをコピーします
ダウンロードしたZIPファイルを展開
# unzip firmware-master.zip
# cd firmware-master
bootパーティションをマウント
# mount ${TARGET_DEV}1 /mnt
bootディレクトリ配下をマウントしたディレクトリへコピー
# cp -Rf boot/* /mnt
以下の内容でconfig.txtを作成(お好きなように変更してください)
dtparam=i2c_arm=on
disable_overscan=1
hdmi_force_hotplug=1
hdmi_drive=2
hdmi_group=1
hdmi_mode=16
アンマウント
# umount /mnt
3. rootパーティションのインストール
マウント
# mount ${TARGET_DEV}2 /mnt
rootイメージの展開
マウントした場所に.tar.xzの内容を展開します
# tar -C /mnt -xvpf slack-current-miniroot_11Feb16.tar.xz
※ rootイメージのリリース日によって、ファイル名の日付部分が変わります。ダウンロードしたファイルに合わせて、適宜読み替えてください
モジュールのインストール
bootファイルのZIPを展開した場所に移動します
# cd firmware-master
modulesディレクトリの中身を/lib/modulesにコピーします
# mkdir /mnt/lib/modules
# cp -Rf modules/* /mnt/lib/modules
/etc/fstabの編集
起動時にmicro sdのパーティションをマウントするために、fstabを編集します
# vi /mnt/etc/fstab
以下の内容を記述します
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/mmcblk0p2 / ext4 defaults,noatime 0 0
/etc/inittabの編集
「“s0” respawning to fast」のメッセージが出てしまうので、シリアル用のコンソールを無効にします
エディタでinittabを開き、以下の行をコメントアウトしてください
# vi /mnt/etc/inittab
s0:12345:respawn:/sbin/agetty 115200 ttyS0 vt100
keymapの変更
初期状態では、イギリスのキーボードに設定されているため、刻印通りの文字が打てません。日本語用に設定します。
rc.keymapをエディタで開き、loadkeysで読み込むkeymapをjp106(日本語用)に変更してください
# vi /mnt/etc/rc.d/rc.keymap
以下の通りに変更
変更前:
/usr/bin/loadkeys uk.map
変更後:
/usr/bin/loadkeys jp106.map
アンマウント
# umount /mnt
インストール完了
以上でインストール手順は終了です。
作成したmicro sdをRaspberry Piにセットして起動してください
ログインはroot、パスワードは準備作業でイメージと一緒にダウンロードしたdetails.txt に書いてあります