ARM开发板系统移植-----kernel的编译
前面一篇文章http://www.cnblogs.com/linzizhang/p/4817336.html介紹了開發板上系統軟件的第一部分--bootloader的編譯方法。
背景:把bootloader燒寫到開發板的Nand Flash中后,開發板從Nand啟動,硬件會自動將bootloader加載到內存中運行,bootloader將板載資源都初始化完成后,會停留在一個命令行界面,接收并執行用戶敲入的命令。這時候用戶可以通過命令控制開發板,比如查看參數列表:print、讀寫nand:nand read\nand write 、內存管理:mm、設置參數列表:setenv、網絡下載:tftp、啟動內核:bootm等等。如果我們把一個編譯好的內核通過tftp服務器下載到內存中,就可以通過bootm 命令啟動內核。
好吧,啰嗦了、、、下面回到正題-----內核的編譯。
編譯適合開發板的使用的內核映像其實很簡單,無非就是配置然后編譯。當然最麻煩的就是配置了,因為配置的過程需要了解板子上都有哪些資源,都是什么型號,需要什么驅動等等,然后根據這些了解到的信息舍取。不過既然我們使用的是別人開發的開發板,那就說明廠家已經進行配置過,只要我們能拿到別人后的配置文件,再通過自己稍加修改,就能省掉很多麻煩。進入頂層目錄,操作步驟如下:
1、配置內核:執行命令? make menuconfig ARCH=arm-linux 出現如下配置界面:
????? 前面說了,這里可以根據板子的情況一項一項的選,但是筆者通常都是往下拉,找到一個 "Load an Alternate Configuration File"
的選項,使用廠家提供的配置文件,這樣省時省力。配置完成后保存退出,進行下一步。
2、編譯內核:執行命令 :make uImage ARCH=arm CROSS_COMPILE=arm-linux- 。這是個挺漫長的過程,而且還可能出現編譯錯誤,比如筆者就遇到一個問題,mkimage not found ,其實就是一個打包工具沒找到,導致內核映像生成失敗。后來發現這個工具是在uboot/tools目錄中的,把工具復制到/bin目錄中再執行一次編譯命令即可。
這兩個步驟完成后用戶可以在 arch/arm/boot/中找到uImage.bin文件,這是一個可以被啟動的二進制文件,當然這里面還沒有文件系統的代碼,這將是下一篇文章的內容。
?
轉載于:https://www.cnblogs.com/linzizhang/p/4817519.html
總結
以上是生活随笔為你收集整理的ARM开发板系统移植-----kernel的编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用Ubuntu打电话
- 下一篇: 信息安全系统设计基础第二周学习总结