小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

OS linux - uboot 引導 kernel

 看見就非常 2022-03-14

bootm [kernel_addr] [initrd_address] [dtb_address],

其中kernel_addr為內(nèi)核鏡像的地址,initrd為initrd的地址,dtb_address為dtb所在的地址。若initrd_address為空,則用“-”來代替。

 

linux執(zhí)行內(nèi)核后,會運行init進程,掛載根文件系統(tǒng)(rootfs B)。

init進程,是在哪里呢?也是在根文件系統(tǒng)(rootfs A)。

rootfs A和rootfs B之間關(guān)系呢?

kernel 2.6版之前,rootfs-A在initrd.img中。kernel先mount initrd.img,掛載rootfs-B,然后unmount 。

kernel2.6版及之后,rootfs-A在initramfs中。內(nèi)核啟動時,會對內(nèi)核文件中,.init.ramfs段中的數(shù)據(jù)進行解壓,然后使用它作為臨時的根文件系統(tǒng)。

kernel 2.6 以來都是 initramfs 了,只是很多還沿襲傳統(tǒng)使用 initrd。

 

 

說明:

(initramfs和內(nèi)核編譯成一個文件(該initramfs是經(jīng)過gzip壓縮后的cpio格式的數(shù)據(jù)文件),該cpio格式的文件被鏈接進了內(nèi)核中特殊的數(shù)據(jù)段.init.ramfs上,其中全局變量__initramfs_start和__initramfs_end分別指向這個數(shù)據(jù)段的起始地址和結(jié)束地址。)

 

initrd和initramfs區(qū)別如下:
1.制作方式
initrd制作時需要關(guān)聯(lián)loop back device,把它格式化為一個文件系統(tǒng)例如ext2,然后mount到你的host系統(tǒng),再把需要的文件復制進去,而initramfs直接就是file system,一個cpio搞定。
2.空間占用
initrd在內(nèi)核啟動引導完就釋放空間,而initramfs的空間在內(nèi)核解壓完畢是一直占用的。(需要代碼中,明確釋放。)
3.靈活性
initrd是基于某個文件系統(tǒng)固定大小,擴充空間需要重新走流程;而initramfs就是簡單打包,簡單靈活。


  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多