中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
linux initrd 制作及使用

一,       Ramdisk

Ram Disk就是將內(nèi)存中的一塊區(qū)域作為物理磁盤來使用的一種技術(shù)。

使用時內(nèi)核配置:兩個選項:第一個設定Ramdisk個數(shù),默認16個;第二個是設定Ramdisk的大小,設定16M

DeviceDrivers --->

[*] Blockdevices --->

<*>  RAM block device support

(16)   Default number of RAM disks

(16384) Default RAM disk size(kbytes)

另外:設置RAM disk支持

Generalsetup  --->

[*] Initial RAM filesystem and RAM disk(initramfs/initrd) support

 

二,       initrd

initrd全稱是 initial RAMdisk,它提供一種讓核心可以簡單使用Ramdisk的能力,簡單的說,這些能力包括:

格式化一個Ramdisk;

加載文件系統(tǒng)內(nèi)容到Ramdisk;

將Ramdisk作為根文件系統(tǒng);

 

而Linux啟動階段的Ramdisk相當于一個未格式化的硬盤分區(qū),核心可以直接將initrd的內(nèi)容釋放到一個未初始化的Ramdisk里,這個過程與Ghost恢復一個分區(qū)的過程十分相似。于是,相應的內(nèi)容被加載到相應的Ramdisk中,同時,這個Ramdisk也被格式化成某種由initrd格式所表達的分區(qū)格式。

 

initrd支持的格式

· Romfs文件系統(tǒng);

· Ext2文件系統(tǒng);

· cramfs文件系統(tǒng);

· minix文件系統(tǒng);

 

三,       Gzip支持

如果核心選擇了Gzip支持(通常這是默認的,在init/do_mounts_rd.c中定義的BUILD_CRAMDISK宏)還可以使用Gzip壓縮的initrd。相關(guān)的代碼可以在核心源碼drivers/block/rd.c:identify_ramdisk_image中找到。

 

四,       制作initrd

initrd有兩種格式,initrd-image和initrd-cpio。

辦法一

通過ramdisk來制作的方法比較簡單(以ext2文件系統(tǒng)為例):
redice # mkfs.ext2 /dev/ram0
redice # mount /dev/ram0 /mnt/rd
redice # cp _what_you_like_ /mnt/rd #把需要的文件復制過去
redice # dd if=/dev/ram0 of=/tmp/initrd
redice # gzip -9/tmp/initrd
這個過程也最能夠解釋initrd的本質(zhì),對于Linux來說,Ramdisk的一個塊設備,而initrd是這個塊設備上所有內(nèi)容的“克隆”(由
命令dd來完成)而生成的文件。核心中加載initrd相關(guān)的代碼則用于完成將相反的過程,即將這一個文件恢復到Ramdisk中去。

辦法二

通過loop設備來制作initrd的過程:
redice # dd if=/dev/zero of=/tmp/initrd bs=1024 count=4096 #制作一個4M的空白文件
redice # losetup /dev/loop0 /tmp/initrd #映射到loop設備上;
redice # mkfs.ext2 /dev/loop0 #創(chuàng)建文件系統(tǒng);
redice # mount /dev/loop0 /mnt/rd
redice # cp _what_you_like_ /mnt/rd #復制需要的文件;
redice # umount /mnt/rd
redice # losetup -d /dev/loop0
redice # gzip -9 /tmp/initrd

辦法三

bash# dd if=/dev/zeroof=../initrd.img bs=512k count=5
bash# mkfs.ext2 -F -m0 ../initrd.img
bash# mount -t ext2 -o loop../initrd.img   /mnt
bash# cp -r   * /mnt
bash# umount /mnt
bash# gzip -9 ../initrd.img

 

辦法四(新式INITRD:cpio-initrd的制作)

# find . | cpio -c -o > ../initrd.img
# gzip ../initrd.img
解壓initrd
gunzip initrd.img.gz
即使您的 initrd 映像文件不是以 .gz 結(jié)尾,它也可能是一個壓縮文件,
可以給這個文件添加上 .gz后綴,然后再使用 gunzip 對其進行解壓。

cpio 歸檔文件
# mkdir temp ; cd temp
# cp /boot/initrd-2.6.14.2.img initrd-2.6.14.2.img.gz   
# gunzip initrd-2.6.14.2.img.gz   
#cpio -ivmd < initrd-2.6.14.2.img

五,       啟動:

Redboot啟動。

下載initrd

0x01000000-0x01258831

下載zImage

0x00100000-0x002f82f7

啟動命令

exec -r 0x1000000 -s 0x258831 -c"root=/dev/ram rw console=ttymxc0,115200"

六,       結(jié)果:

辦法三制作,也就是initrd-image可以成功啟動:

Kernel command line: root=/dev/ram rwconsole=ttymxc0,115200

checking if image is initramfs...itisn't (no cpio magic); looks like an initrd

Freeing initrd memory: 2402K

RAMDISK: Compressed image found at block0

RAMDISK: ran out of compresseddata

out of input data

VFS: Mounted root (ext2filesystem).

Freeing init memory: 140K

Mounting /proc and /sys

Starting the hotplug events dispatcherudevd

Synthesizing initial hotplugevents

Setting the hostname toaigo_R&D

Mounting filesystems

initrd-cpio無法啟動:

Kernel command line: root=/dev/ram rwconsole=ttymxc0,115200

checking if image is initramfs...itisn't (out of input data); looks like an initrd

Freeing initrd memory: 2376K

RAMDISK: Compressed image found at block0

RAMDISK: ran out of compresseddata

out of input data

List of all partitions:

1f00           2048 mtdblock0 (driver?)

1f01           4096 mtdblock1 (driver?)

1f02           2048 mtdblock2 (driver?)

1f03          16384 mtdblock3 (driver?)

1f04           8192 mtdblock4 (driver?)

1f05           4096 mtdblock5 (driver?)

1f06         786432 mtdblock6 (driver?)

1f07        3371008 mtdblock7 (driver?)

No filesystem could mount root,tried:  ext2 cramfs vfatmsdos

Kernel panic - not syncing: VFS: Unableto mount root fs on unknown-block(1,0)

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
initrd鏡像文件的作用與制作
Linux內(nèi)核Ramdisk(initrd)機制
Linux2.4內(nèi)核和2.6內(nèi)核對Initrd處理流程
詳解linux內(nèi)存磁盤初始化技術(shù)
解析linux根文件系統(tǒng)的掛載過程
initrd.img
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服