在移植Linux內(nèi)核早期時(shí),如果flash等存儲(chǔ)設(shè)備的驅(qū)動(dòng)還沒(méi)寫好,可以將文件系統(tǒng)放到內(nèi)存中運(yùn)行。
此時(shí)可以使用ramfs
和ramdisk
,即將內(nèi)存的一部分用作文件系統(tǒng)。
ramfs
ramfs
就是將文件系統(tǒng)和內(nèi)核一起編譯,編譯出來(lái)的鏡像就包括 內(nèi)核本身和文件系統(tǒng) 。
內(nèi)核打開ramfs
:
在Initramfs source file(s)
選項(xiàng)中,填入文件系統(tǒng)的路徑即可。
最后,uboot
的bootargs
中需要將init=/sbin/init
修改為rdinit=/sbin/init
,主要就是init
和rdinit
的區(qū)別。
ramdisk
ramdisk
也是將內(nèi)存的一部分用作文件系統(tǒng),只不過(guò)不用像上面一樣要重新編譯內(nèi)核。
ramdisk制作
ramdisk
制作可以使用genext2fs
工具或者mke2fs
等工具制作。
方法一:genext2fs
genext2fs
安裝:
sudo apt-get install genext2fs
ramdisk
制作腳本:
genext2fs -b 16384 -d /home/book/rootfs ramdisk.image
gzip –v9 ramdisk.image
mkimage -A arm -O linux -T ramdisk -C gzip -n 'xx ramdisk filesystem' -d ramdisk.image.gz uramdisk.image.gz
- 先使用
genext2fs
把/home/book/rootfs
制作成一個(gè)名為ramdisk.image
的ramdisk
- 然后使用
gizp
壓縮ramdisk.image
,得到ramdisk.image.gz
- 最后用
mkimage
工具生成uramdisk.image.gz
給uboot
使用
方法二:mke2fs
ramdisk
制作腳本:
dd if=/dev/zero of=ramdisk.image bs=1k count=15360
mke2fs –F –v –m 0 ramdisk.image
mount –o loop ramdisk.image /mnt/loop
cp -a rootfs/* /mnt/loop
umount /mnt/loop
gzip –v9 ramdisk.image
mkimage -A arm -O linux -T ramdisk -C gzip -n 'xx ramdisk filesystem' -d ramdisk.image.gz uramdisk.image.gz
過(guò)程類似,只不過(guò)是先制作一個(gè)空的鏡像,然后拷貝文件系統(tǒng)的內(nèi)容。
-
Linux
+關(guān)注
關(guān)注
87文章
11345瀏覽量
210389 -
文件
+關(guān)注
關(guān)注
1文章
570瀏覽量
24822 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1019瀏覽量
21427
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
ramfs和ramdisk文件系統(tǒng)的制作和啟動(dòng)

淺析Ramdisk制作供linux掛載的根文件系統(tǒng)過(guò)程
ramfs不支持創(chuàng)建文件夾,是否可以設(shè)計(jì)一個(gè)ramdisk呢?
實(shí)現(xiàn)嵌入式Linux的新方法-ramdisk
制作ZedBoard上linux根文件系統(tǒng)(ramdisk)

詳解Linux根文件系統(tǒng)Ramdisk的制作過(guò)程
Linux 內(nèi)核/sys 文件系統(tǒng)介紹

需要了解的混合文件系統(tǒng)(ramdisk+jffs)

Linux中ramdisk,tmpfs,ramfs對(duì)比說(shuō)明

如何實(shí)現(xiàn)Linux內(nèi)核移植和yaffs2根文件系統(tǒng)制作
嵌入式Linux系統(tǒng)移植開發(fā)-(1)基于Yocto構(gòu)建嵌入式u-boot,內(nèi)核,文件系統(tǒng)

嵌入式Linux系統(tǒng)移植-(Linux文件系統(tǒng))

深入剖析Linux內(nèi)核虛擬文件系統(tǒng)

Linux配置kernel使用ramdisk文件系統(tǒng)

評(píng)論