配置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
+关注
关注
87文章
11304浏览量
209521 -
文件
+关注
关注
1文章
566浏览量
24746 -
系统
+关注
关注
1文章
1017浏览量
21347
发布评论请先 登录
相关推荐
基于Buildroot的Linux系统构建之根文件系统
基本的Linux根文件系统是Unix文件夹目录层次结构,skeleton是构建根文件系统的基础。
skeleton配置入口:
S
发表于 04-01 10:46
•2615次阅读
想问下怎么把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
•1593次阅读
详解Linux根文件系统Ramdisk的制作过程
ramdisk是一个最小的linux rootfs系统,它包含了除内核以外的所有linux系统在引导和管理时需要的工具,包含如下目录: bi
发表于 10-30 15:54
•1次下载
需要了解的混合文件系统(ramdisk+jffs)
ramdisk制作成一个基本的文件系统,不同项目改动的只是jffs2数据分区,可以实现文件系统的重复利用。类似于核心板和底板的关系。
发表于 04-25 17:38
•1831次阅读
可以了解的Linux 文件系统结构
Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中
发表于 04-27 14:06
•717次阅读
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
评论