配置kernel使用ramdisk文件系統(tǒng)
修改uboot的環(huán)境變量:
setenv initrd_high=0xffffffff
setenv bootargs console=ttyS0,115200 root=/dev/ram rw init=/sbin/init; bootm ${loadaddr} ${ramdiskaddr} ${fdtaddr}
initrd_high為0xffffffff,表示將initrd加載到最高的可用內(nèi)存地址上。這樣可以確保在啟動過程中有足夠的內(nèi)存空間來加載initrd文件。
bootargs中,主要是這句:root=/dev/ram rw init=/sbin/init要對。
bootm啟動中,loadaddr是內(nèi)核的加載地址,ramdiskaddr是ramdisk的加載地址,fdtaddr是設(shè)備樹的加載地址
制作好的uramdisk.image.gz文件系統(tǒng),可以在uboot中,先通過tftp命令將uramdisk.image.gz加載到某段內(nèi)存,例如tftp 82000000 uramdisk.image.gz。最后通過bootm啟動。
kernel配置
打開ramfs支持:
General setup --- >
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

打開ext2文件系統(tǒng)支持:
File systems --- >
* > Second extended fs support

打開ram block支持,并設(shè)置大?。?/p>
Device Drivers --- >
[*] Block devices --- >
< * > RAM block device support
(16) Default number of RAM disks
(65536) Default RAM disk size (kbytes)

正確配置后,uboot啟動時,能夠看到類似如下ramdisk加載的過程:
## Loading init Ramdisk from Legacy Image at 42000000 ...
Image Name:
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 2168875 Bytes = 2.1 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Linux
+關(guān)注
關(guān)注
88文章
11696瀏覽量
218658 -
文件
+關(guān)注
關(guān)注
1文章
589瀏覽量
25997 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1045瀏覽量
22245
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
基于Buildroot的Linux系統(tǒng)構(gòu)建之根文件系統(tǒng)
基本的Linux根文件系統(tǒng)是Unix文件夾目錄層次結(jié)構(gòu),skeleton是構(gòu)建根文件系統(tǒng)的基礎(chǔ)。
skeleton配置入口:
S
發(fā)表于 04-01 10:46
?3225次閱讀
linux驅(qū)動開發(fā)_文件系統(tǒng)本地掛載
介紹Linux開發(fā)根文件系統(tǒng)掛載、NFS文件系統(tǒng)配置,UBOOT環(huán)境變量配置,完成文件系統(tǒng)啟動。
想問下怎么把ramdisk文件系統(tǒng)類型改掉呢
ramdisk文件系統(tǒng),沒辦法在線更新我們的引用,必須要刷固件才能更新,好麻煩啊,而且應(yīng)用參數(shù)都沒辦法保存,一重啟系統(tǒng)配置參數(shù),生成的文件都沒有了;所以想問下,怎么把
發(fā)表于 01-14 08:52
淺析Ramdisk制作供linux掛載的根文件系統(tǒng)過程
,然后去執(zhí)行。在linux中,ramdisk有2種:?initrd:linux內(nèi)核2.0開始支持,大小固定?initramfs: linux內(nèi)核2.4開始支持,大小可變amdisk并非
發(fā)表于 07-21 15:26
Linux文件系統(tǒng)課程
本章學(xué)習(xí)目標(biāo)理解什么是文件系統(tǒng)了解文件系統(tǒng)工作原理理解Fedora Core Linux文件系統(tǒng)的結(jié)構(gòu)掌握Fedora Core Linux
發(fā)表于 04-10 17:07
?0次下載
制作ZedBoard上linux根文件系統(tǒng)(ramdisk)
loader(FSBL)和引導(dǎo)linux需要的Second-Stage boot loader(SSBL)、Linux內(nèi)核zImage、設(shè)備樹文件devicetree_ramdisk
發(fā)表于 02-10 18:46
?1928次閱讀
《Linux設(shè)備驅(qū)動開發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng)
《Linux設(shè)備驅(qū)動開發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng)
發(fā)表于 10-27 14:13
?0次下載
詳解Linux根文件系統(tǒng)Ramdisk的制作過程
ramdisk是一個最小的linux rootfs系統(tǒng),它包含了除內(nèi)核以外的所有linux系統(tǒng)在引導(dǎo)和管理時需要的工具,包含如下目錄: bi
發(fā)表于 10-30 15:54
?1次下載
需要了解的混合文件系統(tǒng)(ramdisk+jffs)
ramdisk制作成一個基本的文件系統(tǒng),不同項目改動的只是jffs2數(shù)據(jù)分區(qū),可以實現(xiàn)文件系統(tǒng)的重復(fù)利用。類似于核心板和底板的關(guān)系。
發(fā)表于 04-25 17:38
?2162次閱讀
可以了解的Linux 文件系統(tǒng)結(jié)構(gòu)
Linux中的文件是什么?它的文件系統(tǒng)又是什么?那些配置文件又在哪里?我下載好的程序保存在哪里了?在 Linux 中
發(fā)表于 04-27 14:06
?982次閱讀
Linux新的exFAT文件系統(tǒng)驅(qū)動程序要來了
微軟開放 exFAT 技術(shù)并積極將其添加到 Linux 內(nèi)核后,Linux Kernel 5.4 帶來了對 exFAT 文件系統(tǒng)的初步支持?,F(xiàn)在,基于早期代碼進行改進,新的 exFAT
如何制作一個自啟動的Linux根文件系統(tǒng)
(制作編譯控制 mtd 分區(qū)及 jffs2 文件系統(tǒng)工具)(4) squashfs3.3.tar (制作 squashfs 文件系統(tǒng)工具)(5) cramfs-1.1.tar (制作 cramfs 文件系統(tǒng)工具)(6) bus
發(fā)表于 04-22 08:00
?1次下載
移植Linux內(nèi)核ramfs和ramdisk文件系統(tǒng)
在移植Linux內(nèi)核早期時,如果flash等存儲設(shè)備的驅(qū)動還沒寫好,可以將文件系統(tǒng)放到內(nèi)存中運行。 此時可以使用 ramfs 和 ramdisk ,即將內(nèi)存的一部分用作文件系統(tǒng)。 ra
Linux的文件系統(tǒng)特點
Linux的文件系統(tǒng)特點 文件系統(tǒng)要有嚴(yán)格的組織形式,使得文件能夠以塊為單位進行存儲。 文件系統(tǒng)中也要有索引區(qū),用來方便查找一個
Linux根文件系統(tǒng)的掛載過程
Linux根文件系統(tǒng)(rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點,它是內(nèi)核啟動時掛載的第一個
Linux配置kernel使用ramdisk文件系統(tǒng)
評論