uboot 引導Linux

來源:互聯網
上載者:User

        核心的引導步驟如下:
(1)用U-boot 的mkimage 工具處理核心映像zImage。
(2)通過網路、串口、USB 磁碟機、SD 記憶卡等方式將處理過的核心映像傳輸到SDRAM 的一定
位置(一般使用0x30008000)
(3)然後使用”bootm"等核心引導命令來啟動核心。

        為什麼要用U-boot 的mkimage 工具處理核心映像zImage?
因為在用bootm 命令引導核心的時候,bootm 需要讀取一個64 位元組的檔案頭,來擷取這
個核心映象所針對的CPU 體繫結構、OS、載入到記憶體中的位置、在記憶體中進入點的位置以
及映象名等等資訊。這樣bootm 才能為OS 設定好啟動環境,並跳入核心映象的進入點。而
mkimage 就是添加這個檔案頭的專用工具。具體的實現請看U-boot 中bootm 的源碼和
mkimage 的源碼。

      mkimage 工具的使用:
參數說明:
-A 指定 CPU 的體繫結構,可用值有:alpha、arm 、x86、ia64、mips、mips64、
ppc 、s390、sh、sparc 、sparc64、m68k 等
-O 指定作業系統類型,可用值有:openbsd、netbsd、freebsd、4_4bsd、linux、
svr4、esix、solaris、irix、sco、dell、ncr、lynxos、vxworks、psos、qnx、u-boot、
rtems、artos
-T 指定映象類型,可用值有:standalone、kernel、ramdisk、multi、firmware、script、
filesystem
-C 指定映象壓縮方式,可用值有:
none 不壓縮(一般使用這個,因為zImage 是已經被bzip2 壓縮過的自解壓核心)

    gzip 用gzip 的壓縮方式
    bzip2 用bzip2 的壓縮方式
    -a 指定映象在記憶體中的載入地址,映象下載到記憶體中時,要按照用 mkimage 製作映象
時,這個參數所指定的地址值來下載
   -e 指定映象啟動並執行進入點地址,這個地址就是-a 參數指定的值加上0x40(因為前面有個
mkimage 添加的0x40 個位元組的頭)
   -n 指定映象名
   -d 指定製作映象的源檔案
以下是製作核心映像的命令樣本:
mkimage -n 'tekkaman' -A arm -O linux -T kernel -C none -a 0x30008000 -e
0x30008040 -d zImage zImage.img

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.