0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux配置kernel使用ramdisk文件系统

麦辣鸡腿堡 来源:嵌入式Linux充电站 作者: Vincent 2023-10-04 14:48 次阅读

配置kernel使用ramdisk文件系统

修改uboot的环境变量:

setenv initrd_high=0xffffffff
setenv bootargs console=ttyS0,115200 root=/dev/ram rw init=/sbin/init; bootm ${loadaddr} ${ramdiskaddr} ${fdtaddr}

initrd_high0xffffffff,表示将initrd加载到最高的可用内存地址上。这样可以确保在启动过程中有足够的内存空间来加载initrd文件。

bootargs中,主要是这句:root=/dev/ram rw init=/sbin/init要对。

bootm启动中,loadaddr是内核的加载地址,ramdiskaddrramdisk的加载地址,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

    文章

    10990

    浏览量

    206741
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402
  • 系统
    +关注

    关注

    1

    文章

    981

    浏览量

    21036
收藏 人收藏

    评论

    相关推荐

    基于Buildroot的Linux系统构建之根文件系统

    基本的Linux文件系统是Unix文件夹目录层次结构,skeleton是构建根文件系统的基础。   skeleton配置入口:   S
    发表于 04-01 10:46 2346次阅读

    linux驱动开发_文件系统本地挂载

    介绍Linux开发根文件系统挂载、NFS文件系统配置,UBOOT环境变量配置,完成文件系统启动。
    的头像 发表于 09-17 15:52 1104次阅读
    <b class='flag-5'>linux</b>驱动开发_<b class='flag-5'>文件系统</b>本地挂载

    ramdisk文件系统怎么实现在线通过网络更新应用程序?

    ramdisk文件系统,没办法在线更新我们的引用,必须要刷固件才能更新,好麻烦啊,而且应用参数都没办法保存,一重启系统配置参数,生成的文件都没有了;所以想问下,怎么把
    发表于 01-05 06:23

    想问下怎么把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次下载

    构造嵌入式Linux文件系统

    文件系统Linux 系统最基本的资源。本文介绍了一种嵌入式Linux 文件系统的构造过程,较为详细地讲解了如何选择和
    发表于 08-07 09:11 10次下载

    Linux文件系统简介

    Linux文件系统简介 什么是根文件   根文件系统首先是一种文件系统,但是相对于普通的文件系统
    发表于 04-21 17:01 5027次阅读

    制作ZedBoard上linux文件系统(ramdisk)

    loader(FSBL)和引导linux需要的Second-Stage boot loader(SSBL)、Linux内核zImage、设备树文件devicetree_ramdisk
    发表于 02-10 18:46 1350次阅读
    制作ZedBoard上<b class='flag-5'>linux</b>根<b class='flag-5'>文件系统</b>(<b class='flag-5'>ramdisk</b>)

    详解Linux文件系统Ramdisk的制作过程

    ramdisk是一个最小的linux rootfs系统,它包含了除内核以外的所有linux系统在引导和管理时需要的工具,包含如下目录: bi
    发表于 10-30 15:54 1次下载

    需要了解的混合文件系统ramdisk+jffs)

    ramdisk制作成一个基本的文件系统,不同项目改动的只是jffs2数据分区,可以实现文件系统的重复利用。类似于核心板和底板的关系。
    发表于 04-25 17:38 1657次阅读
    需要了解的混合<b class='flag-5'>文件系统</b>(<b class='flag-5'>ramdisk</b>+jffs)

    可以了解的Linux 文件系统结构

    Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux
    发表于 04-27 14:06 613次阅读
    可以了解的<b class='flag-5'>Linux</b> <b class='flag-5'>文件系统</b>结构

    Linux新的exFAT文件系统驱动程序要来了

    微软开放 exFAT 技术并积极将其添加到 Linux 内核后,Linux Kernel 5.4 带来了对 exFAT 文件系统的初步支持。现在,基于早期代码进行改进,新的 exFAT
    的头像 发表于 03-08 08:40 2377次阅读

    如何制作一个自启动的Linux文件系统

    (制作编译控制 mtd 分区及 jffs2 文件系统工具)(4) squashfs3.3.tar (制作 squashfs 文件系统工具)(5) cramfs-1.1.tar (制作 cramfs 文件系统工具)(6) bus
    发表于 04-22 08:00 1次下载
    如何制作一个自启动的<b class='flag-5'>Linux</b>根<b class='flag-5'>文件系统</b>

    移植Linux内核ramfs和ramdisk文件系统

    在移植Linux内核早期时,如果flash等存储设备的驱动还没写好,可以将文件系统放到内存中运行。 此时可以使用 ramfs 和 ramdisk ,即将内存的一部分用作文件系统。 ra
    的头像 发表于 10-04 14:41 587次阅读
    移植<b class='flag-5'>Linux</b>内核ramfs和<b class='flag-5'>ramdisk</b><b class='flag-5'>文件系统</b>