首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

ARM Linux 下生成 uImage 完整步驟筆記

     編輯:關於C語言

前置條件

  1. 已使用 crosstool-NG 構建並安裝 arm-unknown-linux-gnueabi 交叉編譯工具鏈。
  2. 已編譯完成 U-Boot,並將產生的 mkimage 工具複製至 /usr/local/bin 目錄(確保在 PATH 中)。

操作步驟

  1. 進入 Linux 內核源碼目錄(例:linux-3.10.4)。
  2. 修改主 Makefile,設置架構與交叉編譯前綴(切勿在行尾添加註釋):
    ARCH        ?= arm
    CROSS_COMPILE  ?= arm-unknown-linux-gnueabi-
  3. 執行配置與編譯:
    make smdk2410_defconfig   # 針對 SMDK2410 開發板的默認配置
    make uImage               # 生成 uImage

常見問題排查

  • mkimage: command not found:確認 mkimage 確實在 /usr/local/bin 且該目錄在 $PATH 中。
  • 編譯報錯缺少頭文件:檢查工具鏈 include 路徑是否正確,必要時 export CROSS_COMPILE=... 後重試。
  • 生成的 uImage 無法啟動:核對 load address 與 entry point 是否與板級配置一致(可在 arch/arm/boot/compressed/head.S 或板級 defconfig 中確認)。

延伸閱讀

若需自定義啟動參數(如 console=ttySAC0 root=/dev/mtdblock2),可在編譯前通過 make menuconfig → Kernel hacking → Default kernel command string 設置,或在 U-Boot 環境變量 bootargs 中傳遞。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved