|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 不要天才 于 2010-7-28 11:28 编辑
小弟今日在做一个基于mips + linux的yaffs2格式的根文件系统,制作方法如下:
把linux-2.6.24.3的源码包解压到mips-rootfs目录下,并且已经进行了内核编译和配置,同时也把busybox-1.14.4.tar.bz2拷贝到mips-rootfs目录下,最后建立自己的工作目录rootfs.
tar jxvf /home/src busybox-1.14.4.tar.bz2
cd busybox-1.14.4
修改 Makefile文件
ARCH ?= $(SUBARCH) --> ARCH ?= mips
CROSS_COMPILE ?= /home/tools/mips/mipseltools-gcc412-glibc261/bin/mipsel-linux-
//静态编译
make menuconfig
Busybox Settings --->
Build Options --->
Build BusyBox as a static binary (no shared libs)
// rootfs 目录下
mkdir dev etc lib proc sys tmp home mnt
// 复制 make install 产生的_install目录下的 bin sbin linuxrc复制到当前目录下面
cd dev
mknod -m 660 console c 5 1
mknod -m 660 null c 1 3
// 配置启动脚本 需要创建一个文件夹三个文件
mkdir etc/init.d
touch etc/init.d/rcS
touch etc/fstab
touch etc/inittab
chmod 777 . -R
// inittab内容(不需要登陆)
#System initialization .
console::sysinit:/etc/init.d/rcS
console::respawn:-/bin/sh
# Stuff to do when restarting the init process
::restart:/sbin/init
# Stuff to do before rebooting
::ctrlaltdel:/bin/umount -a -r
::restart:/sbin/init
// fstab内容
none /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
// rcS内容
/bin/mount -a
/sbin/mdev –s
// 根文件系统库的提取
// yaffs2 根文件系统制作
工具编译 :
cd linux-2.6.24.3/fs/yaffs2/utils/
#make clean
#make
生成根文件系统 :
#/root/mips-rootfs/linux-2.6.24.3/fs/yaffs2/utils/mkyaffs2image 1 /root/mips-rootfs/rootfs /root/mips-rootfs/rootfs/rootfs.yaffs2
#chmod 777 /home/work/jz4740/rootfs/myrootfs.yaffs2
而在
生成根文件系统 :
#/root/mips-rootfs/linux-2.6.24.3/fs/yaffs2/utils/mkyaffs2image 1 /root/mips-rootfs/rootfs /root/mips-rootfs/rootfs/rootfs.yaffs2
编译提示的最后部分如下 :
Object 511, /root/mips-rootfs/rootfs/bin/mv is a symlink to "busybox"
Object 512, /root/mips-rootfs/rootfs/bin/pipe_progress is a symlink to "busybox"
Object 513, /root/mips-rootfs/rootfs/bin/grep is a symlink to "busybox"
Object 514, /root/mips-rootfs/rootfs/bin/lsattr is a symlink to "busybox"
Object 515, /root/mips-rootfs/rootfs/dev is a directory
Object 516, /root/mips-rootfs/rootfs/dev/console is a character device
Object 517, /root/mips-rootfs/rootfs/dev/null is a character device
Object 518, /root/mips-rootfs/rootfs/tmp is a directory
Object 519, /root/mips-rootfs/rootfs/sys is a directory
Object 520, /root/mips-rootfs/rootfs/mnt is a directory
Object 521, /root/mips-rootfs/rootfs/linuxrc is a symlink to "bin/busybox"
文件大小超出限制
[root@localhost rootfs]# ls
bin dev etc lib linuxrc mnt proc rootfs.yaffs2 sbin sys tmp usr
[root@localhost rootfs]# du -sh rootfs.yaffs2
2.1G rootfs.yaffs2
[root@localhost rootfs]#我想一定是哪里除了问题了,但是又不是晓得是哪里出了问题。。郁闷。。。yaffs2根文件系统不可能那么大的。。。而且,也不是正常的编译完毕。。。那yaffs2文件根本就不能用。。。大家指点一下吧 ! |
|