Mini6410基于Linux2.6.36内核制作initramfs文件系统

本文介绍如何从零开始构建嵌入式Linux根文件系统,包括创建目录结构、安装配置文件、编译内核模块及使用BusyBox制作根文件系统的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:http://www.educity.cn/linux/1608344.html


根文件系统一般包括:

  1)基本的文件系统结构,包含一些必须的目录,比如:/dev,/proc,/bin,/etc,/lib,/usr,/tmp;

  2)基本程序运行所需的库函数,如:libc/uC-libc;

  3)基本的系统配置文件,如:rc,inittab等脚本文件;

  4)必要的设备支持文件,如:/dev/hd*,/dev/tty,/dev/fdO;

  5)基本的应用程序,如:sh,ls,cp,mv等。 

  根文件系统的制作就是生成包含上述各种文件的文件系统的过程,可通过直接拷贝宿主机上交叉编译器处的文件来制作根文件系统,但是这种方法制作的根文件系统一般过于庞大。也可通过一些工具如busybox来制作根文件系统,用busybox制作的根文件系统可以做到短小精悍并且运行效率较高。写成shell文件便于操作,有些人将BusyBox称为Linux工具里的瑞士军刀.

  根文件系统是linux启动时使用的第一个文件系统。没有根文件系统,linux将无法正常启动。根文件系统:有一系列的目录组成,目录中包含了应用程序、c库、以及相关的配置文件。

  step1:创建根文件系统目录

  cd /opt/FriendlyARM/mini6410/linux

  mkdir rootfs

  cd rootfs

  mkdir bin dev etc lib proc sbin sys usr mnt tmp var

  mkdir usr/bin usr/lib usr/sbin lib/modules

  step2:创建设备文件:

  cd dev/

  mknod -m 666 console c 5 1

  mknod -m 666 null c 1 3

  cd ..

  step3:安装/etc(配置文件可以从其他做好的嵌入式系统中cp)

  tar etc.tar.gz –C /xxx/rootfs

  step4:编译内核模块:

  进入Linux内核目录(linux 2.6.36)

  make modules ARCH=arm CROSS_COMPILE=arm-linux-

  step5:安装内核模块

  make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs

  step6: 配置busybox

  Busybox: 嵌入式开发中的瑞士军刀

  进入busybox目录执行

  make menuconfig

  a.进入 Busybox Settings à
build Options->
   选中 “Build busybox as a static binary”, 静态链接
   Cross Compiler prefix (arm-linux-)
   Installation Options->
   选中 “Don‘t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统
   Busybox Installation Prefix (/xxx/rootfs)
   该选项表明编译后的busybox的安装位置

step7: 编译,安转busybox

make ARCH=arm CROSS_COMPILE=arm-linux-
make install

  配置内核使内核支持此文件系统:在generalsetup中:

  step8: 制作initramfs

  1、配置内核使内核支持此文件系统:在generalsetup中:

  选中initialRAM filesystem and RAM disk……

  并在此选项下设置自己的rootfs所在路径


  设置自己的rootfs所在路径,如下图所示:

   

  2、进入制作好的根文件系统中执行:

  

  ln–s ./bin/busybox init

  创建init软链接

  

  3、进入内核源码根目录,重新编译(编译完后下载到开发板上即可)


基于Spring Boot搭建的一个多功能在线学习系统的实现细节。系统分为管理员和用户两个主要模块。管理员负责视频、文件和文章资料的管理以及系统运营维护;用户则可以进行视频播放、资料下载、参与学习论坛并享受个性化学习服务。文中重点探讨了文件下载的安全性和性能优化(如使用Resource对象避免内存溢出),积分排行榜的高效实现(采用Redis Sorted Set结构),敏感词过滤机制(利用DFA算法构建内存过滤树)以及视频播放的浏览器兼容性解决方案(通过FFmpeg调整MOOV原子位置)。此外,还提到了权限管理方面自定义动态加载器的应用,提高了系统的灵活性和易用性。 适合人群:对Spring Boot有一定了解,希望深入理解其实际应用的技术人员,尤其是从事在线教育平台开发的相关从业者。 使用场景及目标:适用于需要快速搭建稳定高效的在线学习平台的企业或团队。目标在于提供一套完整的解决方案,涵盖从资源管理到用户体验优化等多个方面,帮助开发者更好地理解和掌握Spring Boot框架的实际运用技巧。 其他说明:文中不仅提供了具体的代码示例和技术思路,还分享了许多实践经验教训,对于提高项目质量有着重要的指导意义。同时强调了安全性、性能优化等方面的重要性,确保系统能够应对大规模用户的并发访问需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值