ArchLinux on Cubieboard
2013年9月17日(火) 08:13 JST
閲覧数 3,394
なぜか秋葉原の村役場で実施されたArch Linux インストール勉強会 #01 (自宅ラック勉強会 17.0)。
一応、Arch Linux環境は作ってました。Cubieboardにですが。
導入方法ですが、イメージ焼いて終りにならないので面倒です。
まずSDカードを作成する為に、Unix系OS機を用意します。もちろんSDカードが書き込める環境を用意してください。
1. パーティション作成
パーティション構成は、16MBのFATと、残りをext4で準備します。
ここで注意するのは、SDのユニットサイズに注意してください、第一パーティションの前にブートローダが書き込める領域を残す必要があります。
200k byteほどあれば良いのですが、何も考えずに先頭から採ると、FATのパーティションが壊れる事があります。
始点を2にするといい感じになります。
パーティションのタイプや、ブートフラグはこんな感じに設定します。
2. フォーマット
16MBのFATと、残りをext4でフォーマットします。
おそらくVFATとかでも大丈夫と思われますが、試してません。
3. イメージ入手、ブートローダ書き込み
ブートローダはddで書き込みます。
4. ルートファイルシステム入手、データ書き込み
ルートファイルシステムのデータは、普通にtarを展開しているだけです。
5. ブートローダの設定等の配置
6. ブートローダの設定変更
そのままだと、512MB版のCubieboardの設定になっていますので、イメージとかの指定を変更します。
bootパーティションのuEnv.txtを変更してください。
7. SDカードの完成
なので、シリアルコンソール必須です。ご注意下さい。
HDMIディスプレイを使う設定とかは、また後日。
一応、Arch Linux環境は作ってました。Cubieboardにですが。
導入方法ですが、イメージ焼いて終りにならないので面倒です。
まずSDカードを作成する為に、Unix系OS機を用意します。もちろんSDカードが書き込める環境を用意してください。
1. パーティション作成
パーティション構成は、16MBのFATと、残りをext4で準備します。
ここで注意するのは、SDのユニットサイズに注意してください、第一パーティションの前にブートローダが書き込める領域を残す必要があります。
200k byteほどあれば良いのですが、何も考えずに先頭から採ると、FATのパーティションが壊れる事があります。
始点を2にするといい感じになります。
パーティションのタイプや、ブートフラグはこんな感じに設定します。
# fdisk /dev/sdb 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを 強く推奨します。 and change display units to sectors (command 'u'). コマンド (m でヘルプ): p ディスク /dev/sdb: 998 MB, 998768640 バイト ヘッド 32, セクタ 63, シリンダ 967 Units = シリンダ数 of 2016 * 512 = 1032192 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム /dev/sdb1 * 2 18 17136 6 FAT16 /dev/sdb2 19 967 956592 83 Linux コマンド (m でヘルプ):
2. フォーマット
16MBのFATと、残りをext4でフォーマットします。
おそらくVFATとかでも大丈夫と思われますが、試してません。
# mkfs.msdos /dev/sdb1 # mkfs.ext4 /dev/sdb2
3. イメージ入手、ブートローダ書き込み
ブートローダはddで書き込みます。
# wget http://archlinuxarm.org/os/sunxi/cubieboard-bootloader.tar.gz # tar xzf cubieboard-bootloader.tar.gz # dd if=cubieboard/sunxi-spl.bin of=/dev/sdX bs=1024 seek=8 # dd if=cubieboard/u-boot.bin of=/dev/sdX bs=1024 seek=32
4. ルートファイルシステム入手、データ書き込み
ルートファイルシステムのデータは、普通にtarを展開しているだけです。
# mkdir /tmp/boot # mkdir /tmp/arch # mount /dev/sdX1 /tmp/boot # mount /dev/sdX2 /tmp/arch # wget http://archlinuxarm.org/os/ArchLinuxARM-sun4i-latest.tar.gz # tar -zxf ArchLinuxARM-sun4i-latest.tar.gz -C /tmp/arch # cp /tmp/arch/boot/uImage /tmp/boot/uImage
5. ブートローダの設定等の配置
# cp cubieboard/cubieboard*.bin /tmp/boot/ # cp cubieboard/uEnv.txt /tmp/boot/uEnv.txt
6. ブートローダの設定変更
そのままだと、512MB版のCubieboardの設定になっていますので、イメージとかの指定を変更します。
bootパーティションのuEnv.txtを変更してください。
boot_mmc=fatload mmc 0 0x43000000 ${fexfile}; fatload mmc 0 0x48000000 ${kernel}; bootm 0x48000000 extraargs=rootwait fexfile=cubieboard.bin
7. SDカードの完成
# sync # umount /dev/sdX*ちなみに、そのままだとLEDは光らないし、HDMIディスプレイも表示されません。
なので、シリアルコンソール必須です。ご注意下さい。
HDMIディスプレイを使う設定とかは、また後日。