參考網站:http://processors.wiki.ti.com/index.php/Linux_Kernel_Users_Guide#Compiler該網站的操作需要在內核源碼的目錄下操作在編譯uboot源碼時候報錯*** Your dtc is too old, please upgrade ...
參考網站:http://processors.wiki.ti.com/index.php/Linux_Kernel_Users_Guide#Compiler
該網站的操作需要在內核源碼的目錄下操作
在編譯uboot源碼時候報錯
*** Your dtc is too old, please upgrade to dtc 1.4 or newer
安裝即可
sudo apt-get install device-tree-compiler
編譯uboot的步驟(無設備樹,參考網站:http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide#Device_Trees):
以下操作都是在uboot源碼目錄下操作:
1、配置編譯器路徑
export PATH=$HOME/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin:$PATH
2、清除原來的配置文件:
nqp@nqp-pc:~/am5728sdk/board-support/u-boot-2016.05+gitAUTOINC+2f757e5b2c-g2f757e5b2c$ sudo make CROSS_COMPILE=arm-linux-gnueabihf- distclean
3、使用沒有設備樹的文件配置(並且編譯過程中的生成文件都保存在新建的am5728_evm目錄中)
nqp@nqp-pc:~/am5728sdk/board-support/u-boot-2016.05+gitAUTOINC+2f757e5b2c-g2f757e5b2c$ sudo make CROSS_COMPILE=arm-linux-gnueabihf- O=am5728_evm am57xx_evm_nodt_defconfig
4、然後進行編譯:
nqp@nqp-pc:~/am5728sdk/board-support/u-boot-2016.05+gitAUTOINC+2f757e5b2c-g2f757e5b2c$ sudo make CROSS_COMPILE=arm-linux-gnueabihf- O=am5728_evm
5、將am5728_evm目錄下的MLO和uboot.img拷貝到SD卡中boot目錄下即可。
但是啟動過程中內核載入有問題
... ...
3.052490] [<c08c1988>] (start_kernel) from [<80008090>] (0x80008090)
[ 3.059041] r10:00000000 r9:412fc0f2 r8:80007000 r7:c091ab20 r6:c0901a24 r5:c0916484
[ 3.066942] r4:c096f214
[ 3.069497] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 3.069497]
那個應該是內核編譯過程子出了問題(參考網站:http://processors.wiki.ti.com/index.php/Linux_Kernel_Users_Guide)
看看內核編譯:
以下操作都是在linux內核源碼目錄下操作:
配置一下編譯的環境變數
export PATH=<sdk path>/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$PATH
清除一下以前的內核配置文件和生成文件
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
使用預設的環境設置文件配置內核
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am57xx-evm_defconfig
生成.config文件
自定義內核編譯文件
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
進入圖形界面配置內核參數,把設備驅動中的音效卡驅動去掉,並save生成.config文件
編譯內核鏡像
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage
生成設備樹
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am57xx-evm.dtb
編譯內核模塊
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
將生成的設備樹問價和內核鏡像拷貝到SD中
sudo cp arch/arm/boot/zImage arch/arm/boot/dts/am57xx-evm.dtb /media/nqp/rootfs/boot
安裝內核驅動
sudo make ARCH=arm INSTALL_MOD_PATH=/media/rootfs modules_install
上電,啟動SD卡