Mini2440根文件系统的制作

1.建立跟文件系统目录和文件

(1)创建目录(根目录及其子目录)

创建rootfs目录:mkdir rootfs
mkdir bin dev etc lib proc sbin sys usr mnt tmp var (注意是在rootfs目录下创建)
mkdir usr/bin usr/lib usr/sbin lib/modules

(2)创建设备文件
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
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的安装位置

2> 编译/安装busybox
make
make install

注意:
(1)安装时一定要安装在rootfs目录下
(2)配置是可以去掉一些没用的功能(一般是编辑器一类的)和命令
(3)安装其实是一个拷贝的过程
(4)安装完成后可以在/bin目录下发现有许多命令。
(5)busybox提供linux的系统调用及一些常用嵌入式的小命令和小工具等功能

2.挂载根文件系统

(1)采用initfamfs的文件类型挂载根文件系统

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

2>配置内核要选上 initramfs选项,且紧接着填写根文件系统所在位置。再重新编译内核,下载到开发板。
在General下选中红色框内的选项Mini2440根文件系统的制作_第1张图片

3>设置UBOOT环境变量(传给内核的启动参数)
setenv bootargs noinitrd console=ttySAC0,115200

(2)使用NFS挂载根文件系统
1>内核配置
—》取消initramfs
—》进入File System
—》根文件系统onNFS选上

2>编译内核

make uImage ARCH=arm CROSS_COMPILE=arm-linux-

(3)设置UBOOT启动参数

setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.100:/home/shunzhi/kernel/part3/lesson3/rootfs ip=192.168.1.101:192.168.1.100:192.168.1.1:255.255.255.0:mini2440:eth0:off
注意:
(1)该指令不能换行
(2)init=/init root=/dev/nfs(设置自己的nfs服务器安装目录)
(3)nfsroot=192.168.1.100:/home/shunzhi/kernel/part3/lesson3/rootfs (nfs服务器设置自己的服务器ip地址,根文件目录设置自己的的根文件目录)
(4)ip=192.168.1.101:192.168.1.100:192.168.1.1:255.255.255.0:mini2440:eth0:off(设置自己开发板的ip,nfs服务器的地址,网关,子网掩码)

你可能感兴趣的:(文件系统)