follow me

ArchLinux on Cubieboard

なぜか秋葉原の村役場で実施されたArch Linux インストール勉強会 #01 (自宅ラック勉強会 17.0)
一応、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ディスプレイを使う設定とかは、また後日。
ArchLinux on Cubieboard | 0 件のコメント | アカウント登録
サイト管理者はコメントに関する責任を負いません。