配置kernel使用ramdisk文件系统
修改uboot的环境变量:
setenv initrd_high=0xffffffff
setenv bootargs console=ttyS0,115200 root=/dev/ram rw init=/sbin/init; bootm ${loadaddr} ${ramdiskaddr} ${fdtaddr}
initrd_high为0xffffffff,表示将initrd加载到最高的可用内存地址上。这样可以确保在启动过程中有足够的内存空间来加载initrd文件。
bootargs中,主要是这句:root=/dev/ram rw init=/sbin/init要对。
bootm启动中,loadaddr是内核的加载地址,ramdiskaddr是ramdisk的加载地址,fdtaddr是设备树的加载地址
制作好的uramdisk.image.gz文件系统,可以在uboot中,先通过tftp命令将uramdisk.image.gz加载到某段内存,例如tftp 82000000 uramdisk.image.gz。最后通过bootm启动。
kernel配置
打开ramfs支持:
General setup --- >
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

打开ext2文件系统支持:
File systems --- >
< * > Second extended fs support

打开ram block支持,并设置大小:
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
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Linux
+关注
关注
88文章
11822浏览量
219609 -
文件
+关注
关注
1文章
598浏览量
26124 -
系统
+关注
关注
1文章
1047浏览量
22408
发布评论请先 登录
相关推荐
热点推荐
基于Buildroot的Linux系统构建之根文件系统
基本的Linux根文件系统是Unix文件夹目录层次结构,skeleton是构建根文件系统的基础。
skeleton配置入口:
S
发表于 04-01 10:46
•3317次阅读
想问下怎么把ramdisk文件系统类型改掉呢
ramdisk文件系统,没办法在线更新我们的引用,必须要刷固件才能更新,好麻烦啊,而且应用参数都没办法保存,一重启系统配置参数,生成的文件都没有了;所以想问下,怎么把
发表于 01-14 08:52
浅析Ramdisk制作供linux挂载的根文件系统过程
,然后去执行。在linux中,ramdisk有2种:◾initrd:linux内核2.0开始支持,大小固定◾initramfs: linux内核2.4开始支持,大小可变amdisk并非
发表于 07-21 15:26
Linux文件系统课程
本章学习目标理解什么是文件系统了解文件系统工作原理理解Fedora Core Linux文件系统的结构掌握Fedora Core Linux
发表于 04-10 17:07
•0次下载
制作ZedBoard上linux根文件系统(ramdisk)
loader(FSBL)和引导linux需要的Second-Stage boot loader(SSBL)、Linux内核zImage、设备树文件devicetree_ramdisk
发表于 02-10 18:46
•2005次阅读
详解Linux根文件系统Ramdisk的制作过程
ramdisk是一个最小的linux rootfs系统,它包含了除内核以外的所有linux系统在引导和管理时需要的工具,包含如下目录: bi
发表于 10-30 15:54
•1次下载
需要了解的混合文件系统(ramdisk+jffs)
ramdisk制作成一个基本的文件系统,不同项目改动的只是jffs2数据分区,可以实现文件系统的重复利用。类似于核心板和底板的关系。
发表于 04-25 17:38
•2237次阅读
可以了解的Linux 文件系统结构
Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中
发表于 04-27 14:06
•1068次阅读
Linux新的exFAT文件系统驱动程序要来了
微软开放 exFAT 技术并积极将其添加到 Linux 内核后,Linux Kernel 5.4 带来了对 exFAT 文件系统的初步支持。现在,基于早期代码进行改进,新的 exFAT
如何制作一个自启动的Linux根文件系统
(制作编译控制 mtd 分区及 jffs2 文件系统工具)(4) squashfs3.3.tar (制作 squashfs 文件系统工具)(5) cramfs-1.1.tar (制作 cramfs 文件系统工具)(6) bus
发表于 04-22 08:00
•1次下载
移植Linux内核ramfs和ramdisk文件系统
在移植Linux内核早期时,如果flash等存储设备的驱动还没写好,可以将文件系统放到内存中运行。 此时可以使用 ramfs 和 ramdisk ,即将内存的一部分用作文件系统。 ra
Linux配置kernel使用ramdisk文件系统
评论