构建yaffs2根文件系统

来源:互联网 发布:网络推广思路 编辑:程序博客网 时间:2024/05/17 03:26

本文参考韦东山的是《嵌入式Linux应用开发完全手册》


busybox的移植:

1、编译、安装busybox
tar xjf busybox-1.7.0.tar.bz2
2、配置
对于较低版本的busybox,进入Makefile修改“CROSS_COMPILE   ?= ”成“CROSS_COMPILE   ?= arm-linux-”
然后make menuconfig,添加busybox setting--->busybox library tuning--->tab completion
然后make
接着安装,执行make CONFIG_PREFIX=/work/nfs_root/wf_fs install
安装glibc库:
1、操作如下
mkdir -p /work/nfs_root/wf_fs/lib
cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*so*  /work/nfs_root/fs_mini_mdev_new/lib -d
cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*so*  /work/nfs_root/fs_mini_mdev_new/usr/lib -d


构建根文件系统
a、构建etc目录:
1、创建etc/inittab文件:
vi etc/inittab
内容:
console::askfirst:-/bin/sh
::sysinit:/etc/init.d/rcS


2、创建etc/init.d/rcS
vi etc/init.d/rcS
内容:
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
#ifconfig eth0 125.217.32.123 
改变属性,使它能执行:
chmod +x etc/init.d/rcS


3、创建etc/fstab文件
vi etc/fstab
内容:(挂接proc、tmpfs文件系统)
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
4、使用mdev创建设备文件:
mdev的用途主要为初始化/dev目录、动态更新。
使用mdev,需要内核支持sysfs文件系统,为减少flash的读写,还支持tmpfs 文件系统。先确保内核已经设置CONFIG_SYSFS,CONFIG_TMPFS配置项。




使用mdev构造/dev目录前,init进程至少有设备文件/dev/console   /dev/null,所以还得执行
mkdir -p /work/nfs_root/wf_fs/dev
cd /work/nfs_root/wf_fs/dev
sudo mknod console c 5 1
sudo mknod null c 1 3


3、构建其他目录
mkdir proc mnt tmp sys root


4、制作yaffs/yaffs2文件系统映象文件(yaffs针对小页nand flash(每页512字节),yaffs2针对大页)
步骤:
tar xjf  yaffs_source_util_larger_small_page_nand.tar.bz2
cd Development_util_ok   //Development_util_ok为解压后的文件夹,里面有yaffs和yaffs2文件夹
cd yaffs2/utils
make 
sudo cp mkyaffs2image /usr/local/bin     //将生成的mkyaffs2image工具拷到pc系统文件里
sudo chmod u+x /usr/local/bin/mkyaffs2image    //加上可执行属性 
cd /work/nfs_root/
mkyaffs2image wf_fs wf_fs.yaffs2   //生成wf_fs.yaffs2镜像文件系统,待烧入开发板成
0 0
原创粉丝点击