BeagleBoard B6 てごわい
ここ
を見てカーネル作ってますが、BeagleBoard B6(かなり古い版)で動かすと、起動中にカーネルがこけます。もしかすると、もう B6 なんかでテストされていないのかも! せめて動く BeagleBoard がないとデバッグする気力も出ず。悲しい。。。
という訳ででジタバタしているのですが、ふと上記サイトで
git checkout 3.8
というのを見て、試しに 3.13 カーネルを作ってみることにしました。果たしてうまくいくのか??
あるいは、寄らば大樹のなんとやらで、注文している最新 BeagleBone が来るのを待つかな。昼は職場で某 MCSDK Linux のデバッグ、家では BeagleBoard と格闘。疲れますw
その後
げっ。uImage ができない。なんでなんで? しょーがない、zImage でやるか。
Kernel: arch/arm/boot/zImage is ready multiple (or no) load addresses: This is incompatible with uImages Specify LOADADDR on the commandline to build an uImage make[1]: *** [arch/arm/boot/uImage] Error 1 make: *** [uImage] Error 2
その後 (2)
こっちで見つけた U-Boot を使ったけど、そのままでは
Starting kernel ...
でだんまりになります。ダメもとと思って
fatload mmc 0 0x80300000 zImage setenv bootargs console=ttyO2,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc bootz 0x80300000
したら、ちゃんとブートして login: 出たー。console= の設定が悪いのか? Device Tree のせいか? 切り分けなう。
→ .dtb を食わせると起動しません。
とりあえずまとめておく
X-Loader と U-Boot は、ここから。
でもって、Debian の rootfs は同じとこから
でもってカーネルは上に書いたように
を見て、git clone git://github.com/beagleboard/kernel.git してきて、
cd kernel git checkout 3.13 ./patch.sh cp configs/beagleboard kernel/arch/arm/configs/beagleboard_defconfig
して、uImage は作れないみたいなので
make ARCH=arm CROSS_COMPILE=arm-linux-gnu- beagleboard_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnu- zImage make ARCH=arm CROSS_COMPILE=arm-linux-gnu- modules
あ、コンパイラは Linaro ね。
https://releases.linaro.org/13.12/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux.tar.xz
で bootargs は
fatload mmc 0 0x80300000 zImage setenv bootargs console=ttyO2,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc bootz 0x80300000