国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網(wǎng)>,專注嵌入式工程師培養(yǎng)15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > initrd 簡述
initrd 簡述
時間:2017-01-04作者:華清遠見

initrd是在Linux系統(tǒng)引導過程中掛載的一個臨時根文件系統(tǒng),用來支持兩階段的引導過程。initrd 文件中包含了各種可執(zhí)行程序和驅(qū)動程序,它們可以用來掛載實際的根文件系統(tǒng),然后再將這個 initrd RAM 磁盤卸載,并釋放內(nèi)存。

initrd 與內(nèi)核綁定在一起,并作為內(nèi)核引導過程的一部分進行加載。內(nèi)核然后會將這個 initrd 文件作為其兩階段引導過程的一部分來加載模塊,這樣才能稍后使用真正的文件系統(tǒng),并掛載實際的根文件系統(tǒng)。initrd 中包含了實現(xiàn)這個目標所需要的目錄和可執(zhí)行程序的小集合,如在initrd解壓后的 ./bin 目錄中有一組很少但卻非常必要的應用程序,包括 nash(即 not a shell,是一個腳本解釋器)、insmod(用來加載內(nèi)核模塊)和 lvm(邏輯卷管理工具)。

在桌面或服務(wù)器 Linux 系統(tǒng)中,initrd 是一個臨時的文件系統(tǒng),而在嵌入式系統(tǒng)中,initrd則有可能是永久的根文件系統(tǒng)。對于傳統(tǒng)的 Linux 系統(tǒng)來說,initrd 映像是在 Linux 構(gòu)建過程中創(chuàng)建的。有很多工具,例如 mkinitrd,都可以用來使用必要的庫和模塊自動構(gòu)建 initrd,從而用作與真實的根文件系統(tǒng)之間的橋梁。

而在很多基于 Linux 的嵌入式系統(tǒng)上,可以按照下面的步驟來構(gòu)建initrd。

dd if=/dev/zero of=/tmp/initrd.img bs=$BLKSIZE count=$RDSIZE

mke2fs -F -m 0 -b $BLKSIZE /tmp/initrd.img $RDSIZE

mount /tmp/initrd.img /mnt/initrd -t ext2 -o loop=/dev/loop0

mkdir /mnt/initrd/bin
        mkdir /mnt/initrd/sys
        mkdir /mnt/initrd/dev
        mkdir /mnt/initrd/proc

pushd /mnt/initrd/bin
        cp /usr/local/src/busybox-1.1.1/busybox .
        ln -s busybox ash
        ln -s busybox mount
        ln -s busybox echo
        ln -s busybox ls
        ln -s busybox cat
        ln -s busybox ps
        ln -s busybox dmesg
        ln -s busybox sysctl
        popd

cp -a /dev/console /mnt/initrd/dev
        cp -a /dev/ramdisk /mnt/initrd/dev
        cp -a /dev/ram0 /mnt/initrd/dev
        cp -a /dev/null /mnt/initrd/dev
        cp -a /dev/tty1 /mnt/initrd/dev

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達個人看法,并不表明本站同意其觀點或證實其描述)