Beagleboard-XM 製作 x-loader and u-boot

Beagleboard-XM 只能靠MMC/SD card啟動,這篇文章,筆記如何製作能開機的SD卡。

可以參考這篇文章在Linux下分割SD卡,及建立開機磁區,開機磁區的檔案系統是FAT32。
http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat

sudo mount -t ext3 /dev/sdb1/media/boot
sudo mount -t ext3 /dev/sdb2 /media/rootfs


或是這在邊下載,HP USB Disk Storage Format Tool 2.0.6 for Windows.
http://code.google.com/p/beagleboard/wiki/BeagleSourceCode



先設好CROSS_COMPILE的環境變數。

export CROSS_COMPILE=arm-none-linux-gnueabi-
export PATH=/opt/arm-2012.03/bin/:$PATH



U-boot 這邊我們使用Mainline U-Boot:
一樣先抓下來最新的source接著再抓 omap3 branch。

git clone git://git.denx.de/u-boot.git u-boot-main
cd u-boot-main
git checkout --track -b omap3 origin/master


接著就是去build U-boot的image,這裡的toolchain,可以用我網誌所教的crosstool-NG自己做,或是抓現有的 Code Sourcery GCC
下面的範例是使用Code Sourcery GCC的,成功會產一個MLO跟u-boot.bin。


make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config
make CROSS_COMPILE=arm-none-linux-gnueabi-


最後把MLO、U-boot.bin 都放到SD卡的開機磁區裡。

成功可以如下圖!

參考資料
http://elinux.org/BeagleBoard#Serial_and_USB_boot
http://www.embeddedsystemonline.com/home/embedded-system/beagleboard-labs/lab3
http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/115094


留言

這個網誌中的熱門文章

C語言,大數運算,階層筆記

Raspberry Pi (ARMv6)上自幹一個微小作業系統

Linux VLAN 筆記