[玄箱PRO]Fedora Core 6起動
さて、玄箱PROでの起動についてです。また、rtc関連に関しても、LinkstationWikiでメンテナンスされているarm9 kernelの2.6.22からのバックポートによって解決したのであわせて書いておきます。
カーネルの構築(3)
カーネルに関しては、LinkstationWikiのArm9 kernel 2.6.22から持ってくることで解決しました。また、前回の設定ファイル(.config)では、udevdの起動に失敗するので、こちらも直したものを置いておきます。前回のパッチに加えて、このパッチをあててコンパイルし直します。
- RTC関係:LinkstationWikiのArm9 kernel 2.6.22からのバックポートパッチ(5,142 bytes)
- 玄箱PRO用カーネル 2.6.20-1.2.tsorg(20070902版)(2,008,384 bytes)
- 玄箱PRO用モジュール(20070902版)(805,313 bytes)
- 設定ファイル(20070902版)(27,741 bytes)
※ 右クリックから保存しないと大変なことになるかも。
なお、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