在移植Linux內核早期時,如果flash等存儲設備的驅動還沒寫好,可以將文件系統放到內存中運行。
此時可以使用ramfs
和ramdisk
,即將內存的一部分用作文件系統。
ramfs
ramfs
就是將文件系統和內核一起編譯,編譯出來的鏡像就包括 內核本身和文件系統 。
內核打開ramfs
:
在Initramfs source file(s)
選項中,填入文件系統的路徑即可。
最后,uboot
的bootargs
中需要將init=/sbin/init
修改為rdinit=/sbin/init
,主要就是init
和rdinit
的區別。
ramdisk
ramdisk
也是將內存的一部分用作文件系統,只不過不用像上面一樣要重新編譯內核。
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
制作成一個名為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
過程類似,只不過是先制作一個空的鏡像,然后拷貝文件系統的內容。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Linux
+關注
關注
87文章
11319瀏覽量
209830 -
文件
+關注
關注
1文章
568瀏覽量
24769 -
系統
+關注
關注
1文章
1017瀏覽量
21375
發布評論請先 登錄
相關推薦
淺析Ramdisk制作供linux掛載的根文件系統過程
,然后去執行。在linux中,ramdisk有2種:?initrd:linux內核2.0開始支持,大小固定?initramfs: linux
發表于 07-21 15:26
ramfs不支持創建文件夾,是否可以設計一個ramdisk呢?
ramfs不支持創建文件夾,是否可以設計一個ramdisk來實現塊設備然后實現在ram上的文件系統。想法是:1.在系統初始化時使用ram生成
發表于 02-08 11:08
實現嵌入式Linux的新方法-ramdisk
實現嵌入式Linux的新方法-ramdisk
概述
在Linux操作系統中,有一項特殊的功能——初始化內存盤INITRD(INITial Ram
Disk)技術,而且
發表于 04-19 08:40
?998次閱讀
制作ZedBoard上linux根文件系統(ramdisk)
loader(FSBL)和引導linux需要的Second-Stage boot loader(SSBL)、Linux內核zImage、設備樹文件devicetree_
發表于 02-10 18:46
?1598次閱讀
Linux 內核/sys 文件系統介紹
linux2.6內核引入sysfs文件系統,sysfs可以看成與proc,devfs和devpty同類別的文件系統,該文件系統是虛擬的
發表于 04-25 16:20
?4301次閱讀
需要了解的混合文件系統(ramdisk+jffs)
ramdisk制作成一個基本的文件系統,不同項目改動的只是jffs2數據分區,可以實現文件系統的重復利用。類似于核心板和底板的關系。
發表于 04-25 17:38
?1834次閱讀
Linux中ramdisk,tmpfs,ramfs對比說明
在Linux中可以將一部分內存mount為分區來使用,通常稱之為RamDisk,分為:Ramdisk, ramfs, tmpfs.
發表于 04-27 19:38
?2516次閱讀
嵌入式Linux系統移植開發-(1)基于Yocto構建嵌入式u-boot,內核,文件系統
基于Yocto構建嵌入式u-boot,內核,文件系統Yocto是什么?簡單地概括,它是一個工具,可以用來構建u-boot,kernel,文件系統,交叉編譯工具鏈,等等。Yocto提供了一套完整的全面
發表于 11-01 17:38
?14次下載
Linux配置kernel使用ramdisk文件系統
配置kernel使用ramdisk文件系統 修改 uboot 的環境變量: setenv initrd_high= 0 xffffffff setenv bootargs console=ttyS
評論