[玄箱PRO]Fedora Core 6起動

さて、玄箱PROでの起動についてです。また、rtc関連に関しても、LinkstationWikiでメンテナンスされているarm9 kernelの2.6.22からのバックポートによって解決したのであわせて書いておきます。

カーネルの構築(3)

カーネルに関しては、LinkstationWikiのArm9 kernel 2.6.22から持ってくることで解決しました。また、前回の設定ファイル(.config)では、udevdの起動に失敗するので、こちらも直したものを置いておきます。前回のパッチに加えて、このパッチをあててコンパイルし直します。

※ 右クリックから保存しないと大変なことになるかも。

なお、XFS関連に関してはまだ直っていません。

玄箱開発環境の用意(3)

ルートファイルシステム

さて、カーネルによりudevが有効になったことで、/devのファイルはほとんど不要になります。ただし、/dev/consoleだけは(シリアル経由でコンソール見る際には)udevd起動前にアクセスにいくので作っておいた方がよいでしょう。また、時計合わせもudevd軌道前に/dev/rtcにアクセスにいくので作っておく必要があります。

# mknod (ルート)dev/console c 5 1
# mknod (ルート)dev/rtc c 10 135

SCON-KIT/PRO

前回、前々回と全く書いていませんでしたが、玄箱PROとはSCON-KIT/PROを利用してシリアル経由でアクセスしています。この後出てくる新カーネルでの起動はシリアル経由でu-Bootを使うことが前提になっているます。頑張れば、標準の開発きっとを入れるのと同じ手順でできるかもしれませんが…。

まぁ、ハンダ付けができる人にはSCON-KIT/PROを使うことをお勧めします。ただし、SCON-KIT/PROを付けると、玄箱PRO本体ごと保証がなくなるので注意が必要です。

玄箱内臓ディスクへのルートイメージのコピー

簡単なのは、まず、標準添付の開発環境をインストールして、そのパーティション構成をそのまま使うことでしょう。自分でパーティションを切ってもよいかもしれません。ただし、ここでのカーネルはルートパーティション(/)にXFSを使うと起動できないので、ext3でフォーマットしなおす必要があります。

私の環境のパーティション構成は以下のようになっています:

/dev/sda1               1           7       56196   83  Linux
/dev/sda2               8         373     2939895   83  Linux
/dev/sda3             374         390      136552+  82  Linux swap / Solaris
/dev/sda4             391       60801   485251357+  83  Linux

sda1がカーネル(というかuImage.*)が入っているext3です。sda2がルートパーティションです。sda4がxfsでフォーマットされた/homeです。

/dev/sda2をどっかにマウントして、ごそっとコピーします。cp -aでコピーするか、tarでかためて展開し直すかしないと、ファイルの属性が保持されないので注意しましょう。

カーネルのコピー

カーネルはsda1の中に放りこみます。ここでは、uImage.tsorgという名前で保存しています。 u-Bootでは、カーネルのファイル名を指定できるので、いろいろ試している間は、ファイル名を変えて保存しておくのがよいでしょう。

u-Bootから起動

u-Bootからの起動コマンドは以下のようになります。まずは、新カーネルを使って、内蔵フラッシュメモリをルートファイルシステムに指定する場合です:

setenv bootargs_root root=/dev/mtdblock2 rw panic=5 rootfstype=jffs2
setenv kernel uImage.tsorg
setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
setenv nand_boot yes
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
boot

これで正しく起動できたら、今度は、ディスク上のパーティションをルートファイルシステムに指定します。

setenv bootargs_root 'root=/dev/sda2 rw panic=5'
setenv kernel uImage.tsorg
setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
setenv nand_boot no
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
boot

正しく、起動できるようになったら、最後のbootをのぞくコマンドを打った後、saveコマンドで環境を保存できます。環境を保存すれば次回からは自動的に起動できます。

パッケージの追加

さて、これだけでは単に起動しただけなので、あとは、必要なパッケージをどんどん入れていきましょう。この上で開発するなら gcc関連を入れてもよし、たぶん、xorg関連を入れればXも動くでしょう。とりあえず、私は、以下のようなものを追加したりしています。

pciutils mkinitrd xfsprogs system-config-date system-config-language dhclient

これに付随して他にもいろいろ入っていますが。

これにて、玄箱PRO関連の記事は一応、終了とします。

Posted by TechStrom on Sunday, September 02, 2007