Linux内核使用initramfs文件系统启动

 

    initramfs是Linux开发的一种基于内存的根文件系统,在编译Linux内核的时候,它会直接把根文件系统树打包进内核的镜像文件中(zImage),这也意味着该镜像文件同时包含了Linux内核和根文件系统。因为根文件系统是内核打包进去的,所以内核自己知道根文件系统的位置,这样u-boot也就不需要通过bootargs参数告诉内核根文件系统的信息,此外也不需要额外烧录根文件系统镜像文件,如ubifs、yaffs2、jffs2等。在今后做其他根文件系统的时候,轻务必在内核中禁用initramfs,否则Linux内核将优先使用initramfs启动了

   因为initramfs是基于内存的根文件系统,所以大家在开发板上对根文件系统里的任何文件的操作,包括创建、修改在重启后都会丢失。因此如果想要更改根文件系统里的文件,必须修改根文件系统树,然后重新编译Linux内核并使用u-boot重新烧录

   Linux内核时用initramfs启动,只需要在make menuconfig做下面修改,然后重新编译即可。

   [[email protected] linux-3.0]$ make menuconfig

    进入到General setup-->设置根文件启动位置

    玩转开发板--最简单的根文件系统树的制作-7

    进入到Device Drivers-->Block Drivers-->取消选项 RAM.....

    玩转开发板--最简单的根文件系统树的制作-7

 

     [[email protected] linux-3.0]$ ./build.sh

     将编译生成的linuxrom-s3c2440.bin烧录到开发板上。

    参考烧入linuxrom-s3c2440.bin:https://blog.csdn.net/PipiAvenger/article/details/79563996

    

    开发板:

    进入到u-boot设置:

    [[email protected]]# set bootargs 'console=tty0 console=ttyS0,115200 mem=64M rw loglevel=7'

    [[email protected]]# save

    [[email protected]]# tftp 30008000 linuxrom-tr-s3c2440.bin

    [[email protected]]# bootm 30008000 

     Copyright (C) 2018 LingYun-GuoZhihao Studio<iot-yun.com>

    Default Logon Username: root    Password: 123456

    LingYun-guozhihao-FL2440 login: root

    Password:

    ~ >: ls

    apps     dev      init     mnt      sbin     usr

    bin      etc      lib      proc     sys      var

    data     info     linuxrc  root     tmp

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-12-22
  • 2021-11-26
  • 2022-12-23
  • 2021-04-05
  • 2022-12-23
猜你喜欢
  • 2021-07-01
  • 2021-04-22
  • 2021-05-07
  • 2021-11-08
  • 2022-12-23
  • 2021-11-17
  • 2021-06-08
相关资源
相似解决方案