根文件系统制作


1.创建目录
#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

2.创建设备文件
(1)在Linux中设备都以文件的形式存在和操作。

(2)这些文件都在dev目录

(3)在启动Linux系统的时候必须要使用两个设备文件console和null
#cd rootfs/dev
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3

3.加入配置文件(一般都是借鉴已有的)
#tar etc.tar.gz
#mv etc/* ../rootfs/etc/ -rf

4.添加内核模块
#cd …/linux
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
#make modules_install ARCH=arm INSTALL_MOD_PATH=…/rootfs

5.编译安装busybox(瑞士军刀)
(1)busybox提供linux的系统调用等功能

(2)配置busybox
#make menuconfig
Busybox Settings àbuild Options->
--》 “Build busybox as astatic binary”, 静态链接
--》 Cross Compiler prefix (写入前缀arm-linux-)

Installation Options->
--》选中 “Don‘t use /usr”
 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统
--》 Busybox Installation Prefix(写入参数/xxx/rootfs)
该选项表明编译后的busybox的安装位置

(3) 编译/安装busybox
make
make  install

6.文件系统分类
根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为 RAM 和FLASH,常用的基于存储设备的文件系统类型包括:jffs2, yaffs2, ubifs, ramdisk等

7.根文件系统一般用initfamfs,基于内存的文件系统掉电丢失,但是速度快。一般一个系统是多个文件系统混合使用。

8.要使用initramfs就必须使用软链接
ln  -s  ./bin/busybox  init
在当前文件夹产生init的快捷方式对应于./bin/busybox 

9.配置内核要选上 initramfs选项(General里),且紧接着填写根文件系统所在位置。再重新编译内核。

10.设置UBOOT环境变量(传给内核的启动参数)
setenv bootargs noinitrd console=ttySAC0,115200
但是这样,如果要添加文件则必须要重新编译内核使得文件系统得到更新,因为此时的文件系统是通过解压存在内存里面的。即这种方式的文件系统是包含在内核里的。

11. 使用NFS
(1)内核配置
---》取消initramfs
---》进入File  System
---》根文件系统onNFS选上
(2)编译内核

(3)设置UBOOT启动参数
setenv bootargs noinitrd (设置启动参数的固定格式)
console=ttySAC0,115200 init=/init  (启动项信息,串口0,波特率)
root=/dev/nfs rw (指明用nfs启动)
nfsroot=192.168.1.3:/home/S5-driver/lesson9/rootfs(根文件系统在主机的路径)
ip=192.168.1.6(开发板IP地址):192.168.1.3(主机IP):192.168.1.1(网关):255.255.255.0(掩码):(开发板主机名):eth0(启动之后IP地址赋值的对象):off(关闭动态IP)

setenv bootargs noinitrd  console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.107:/home/U-BOOT/mini2440/rootfs_mini2440 ip=192.168.1.105:192.168.1.107:192.168.1.1:255.255.255.0:XiaoJunJun:eth0:off

12.产品成熟以后都用initramfs和yaffs2文件系统。如果开发板的IP和windows的相同会导致访问NFS很慢甚至掉线。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值