1). copy u-boot
linux
sudo dd if=u-boot-mx6q-sabresd.bin of=/dev/sdb bs=512 seek=2 skip=2 conv=fsyncide
2). copy uImage
post
sudo dd if=uImage of=/dev/sdb bs=512 seek=2048 conv=fsync測試
3). copy rootfsui
4). run bootcmd in u-boot env:spa
#: setenv loadaddr 0x10800000
#: setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
#: setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p1 rootwait rw video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60 ,if=RGB24'
#: setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 2;mmc read ${loadaddr} 0x800 0x2000;bootm'
#: setenv bootcmd 'run bootcmd_mmc'.net
#: saveenvdebug
#: run bootcmd
日誌
增長對xenomai的支持:ip
GCC 4.8.1, 同時將3.14.28的arch/arm/lib/memset.S copy到3.0.35對應的地方:若是不這麼作的話,GCC4.8.1編譯以後,會在kmem_alloc的地方crash.
cd $LINUX_DIR, make uImage,生成編譯結果以後dd if=arch/arm/boot/uImage of=/dev/sdb bs=512 seek=2048 conv=fsync; 查看運行結果,可以正常boot,說明全部配置一切正都正確
cp $xenomai_dir%/ksrc/arch/arm/patches/mxc/*.patch $LINUX_DIR
patch -p1 < *.pre..patch 使用mx6的pre patch
patch -p1 < *.patch 使用正常的patch
patch -p1 < *.post..patch 使用post patch
make uImage開始編譯
將原來的根文件系統下的/etc/rc.d/init.d/gtk2刪除,若是不刪除,則會啓動GPU等,致使內核crash,
編譯完成以後,內核自動帶xenomai補丁,能夠經過cd /proc/xenomai/查看到有相應的文件生成,同時在boot log中可以看到以下的日誌:
I-pipe: Domain Xenomai registered.
Xenomai: hal/arm started.
Xenomai: scheduling class idle registered.
Xenomai: scheduling class rt registered.
Xenomai: real-time nucleus v2.6.3 (Lies and Truths) loaded.
Xenomai: debug mode enabled.
Xenomai: starting native API services.
Xenomai: starting POSIX services.
Xenomai: starting RTDM services.
測試Xenomai的運行狀況:
1) export PATH=/opt/poky/1.5.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/
2) cd $xenomai_dir
3) ./configure CFLAGS="-march=armv7-a -mfpu=vfp3" --build=-march=armv7-a -mfpu=vfp3 --host=arm-poky-linux-gnueabi
4) make
5) make DESTDIR=$INSTALL_ABSOLUTE_PATH install