發表文章

目前顯示的是 8月, 2012的文章

Beagleboard-XM kernel

圖片
有了x-loader,u-boot 接下來,剩下的就是kernel跟root file system。 這篇文章筆記了,怎麼製作kernel image。 首先先下載kernel source,我選了omap用的kernel source http://muru.com/linux/omap/ git clone git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git linux-omap cd linux-omap 接著去Build kernel make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap2plus_defconfig make menuconfig時也許會缺少這個套件( sudo apt-get install libncurses5-dev) make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage build好的uImage會在arch/arm/boot/uImage 下,把uImage放到SD中。 接著製作一個給U-boot用的uEnv.txt,內容如下。 vram=12MB defaultdisplay=dvi dvimode=1280x720MR-16@60 kernel_file=uImage boot=bootm console=ttyO2,115200n8 mmcroot=/dev/mmcblk0p2 ro mmcrootfstype=ext4 rootwait fixrtc xyz_load_image=fatload mmc 0:1 0x80000000 uImage mmcargs=setenv bootargs console=${console} ${optargs} vram=${vram} omapfb.mode=${de

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 都放到