標(biāo)題: linux啟動(dòng)地址說明(學(xué)習(xí)筆記) [打印本頁(yè)]

作者: 51黑tt    時(shí)間: 2016-3-6 15:22
標(biāo)題: linux啟動(dòng)地址說明(學(xué)習(xí)筆記)
arch/arm/boot/compressed下的內(nèi)核vmlinux就是Image,經(jīng)過壓縮成piggy.gz,再生成piggy.o與解壓縮程序鏈接后生成內(nèi)核zImage。

  內(nèi)核解壓縮的過程是從ZTEXTADDR出的壓縮內(nèi)核中解壓出vmlinux到zreladdr。ZTEXTADDR表示壓縮內(nèi)核加載的位置,zreladdr表示壓縮后的位置。

  ZTEXTADDR、ZBSSADDR是解壓縮程序的代碼鍛、BSS段的地址。2.6內(nèi)核通過CONFIG_ZBOOT_ROM_TEXT和 CONFIG_ZBOOT_ROM_BSS兩個(gè)參數(shù)來設(shè)置,2.4內(nèi)核則在arch/$(arch)/boot/Makefile中設(shè)置。通常 ZTEXTADDR設(shè)置成0x30008000,ZBSSADDR設(shè)置成空,表示緊接在前面一個(gè)段后面。

  zreladdr、initrd_phys、params_phys三個(gè)變量只有在2.6內(nèi)核中才有,分別表示:解壓后的內(nèi)核地址、initrd地址、參數(shù)表地址。通過在arch/$(arch)/$(machine)/Makefile.boot的zreladdr-y、initrd_phys-y、 params_phys-y數(shù)來指定這三個(gè)變量的值。







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1