8.0-RELEASE をソースも一緒にインストールすれば Marvell Orion 88F5182 サポートが含まれています.なので KUROBOX-PRO へのイ ンストールを試してみました.
カーネルは NAND フラッシュに置いてルートファイルシステムはハー ドディスクや USB メモリに置くことにします. 工場出荷時に戻す方法を確認しておく http://kuroutoshikou.com/products/kuro_box_pro/updata/kbpfw102.zip http://kuroutoshikou.com/products/kuro_box_pro/updata/defenv.zip TFTP サーバ準備(たとえば MacOS X の場合) mac$ sudo cp initrd.buffalo uImage.buffalo /private/tftpboot mac$ sudo /sbin/service tftp start KUROBOX を TFTP ブート 必要であれば環境変数を defenv.txt からペーストしたのち, Marvell>> setenv bootcmd 'tftp 0x00100000 uImage.buffalo; bootm 0x00100000' Marvell>> setenv nand_boot no Marvell>> boot (中略) KUROBOX-PRO login: root Password: ~ # update_mtd.sh all ~ # shutdown -h (再起動) buildworld # cd /usr/src # make -j 8 buildworld TARGET_ARCH=arm # export DESTDIR=/somewhere (または setenv) # mkdir -p $DESTDIR # make installworld TARGET_ARCH=arm # make distrib-dirs TARGET_ARCH=arm # make distribution TARGET_ARCH=arm $DESTDIR/etc/fstab を用意.例えば, /dev/ad0 / ufs rw 1 1 proc /proc procfs rw 0 0 作成した DESTDIR の内容を UFS フォーマットしたハードディ スクか USB メモリにコピーする.あるいは,はじめから DESTDIR にマウントしておく.これを,あとで KUROBOX に取り つける. buildkernel 必要に応じ /usr/src/sys/arm/conf/DB-88F5XXX を編集する. ・ options pci をコメントにしないと起動中にフリーズした. ・ options ROOTDEVNAME=\"ufs:/dev/da0\" など適宜追加. # make buildkernel TARGET_ARCH=arm KERNCONF=DB-88F5XXX uImage 作成 $ cp /usr/obj/arm/usr/src/sys/DB-88F5XXX/kernel.bin どこか $ cd どこか $ mkimage -A arm -O freebsd -T kernel \ -C none -a 0x900000 -e 0x900000 \ -n 'fbsd8arm' -d kernel.bin \ uImage.fbsd8 mkimage は ports/devel/u-boot で用意できる. NAND フラッシュ上の uImage.buffalo の置き換え ファイル共有などの方法で uImage を KUROBOX にコピー mac$ cp uImage.fbsd8 /Volumes/mtd\ device/ KUROBOX で update_mtd.sh を使い NAND フラッシュに uImage を書き込み,再起動する. ~ # mv /mnt/mtd/uImage.fbsd8 /boot/uImage.buffalo ~ # /usr/local/bin/update_mtd.sh uImage ***** Cleaning and collect badlist /dev/mtd1 ***** ***** copying /boot/uImage.buffalo to /dev/mtd1 ***** Done. ~ # reboot U-BOOT のプロンプトで必要な設定をしたのち起動 Marvell>> setenv default_kernel_addr 0x00900040 Marvell>> setenv bootargs Marvell>> setenv nand_boot yes Marvell>> nboot $(default_kernel_addr) 0 $(nand_uImage_offset) Marvell>> bootm 問題なければ再起動し,そのときに saveenv しておく. 感想などを別便で. 齊藤@湖西市