免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1567 | 回复: 0
打印 上一主题 下一主题

busybox-1.7.0制作yaffs根文件系统 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-23 03:18 |只看该作者 |倒序浏览

                                Kernel version :2.6.22.6Crosstool      :arm-linux-gcc-3.4.5Board          :FS2410
参考:《嵌入式Linux应用开发完全手册》
一、编译安装Busybox
使用mdev机制制作最小根文件系统fs_mini_mdev,建立基本目录树:
[root@weijing fs_mini_mdev]# pwd
/work/rootfs/fs_mini_mdev
[root@weijing fs_mini_mdev]# mkdir bin dev etc lib mnt proc sbin sys root tmp usr
[root@weijing fs_mini_mdev]# mkdir mnt/etc
[root@weijing fs_mini_mdev]# mkdir usr/bin usr/sbin usr/lib
[root@weijing fs_mini_mdev]# touch linuxrc
1.配置Busybox
    在busybox-1.7.0目录下"make menuconfig",
    see attachments 1—4 2.编译安装    修改Makefile文件,使用交叉编译器;    ARCH            ?= arm    CROSS_COMPILE   ?= arm-linux-[root@weijing busybox-1.7.0]# make[root@weijing busybox-1.7.0]# make CONFIG_PREFIX=/work/rootfs/fs_mini_mdev install    see attachments 5
二、使用glibc库
[root@weijing fs_mini_mdev]# cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
[root@weijing lib]# cp *.so* /work/rootfs/fs_mini_mdev/lib -d
三、构建根文件系统
  1.创建 etc/inittab 文件
# /etc/inittab
::sysinit:/etc/init.d/rcS
s3c2410_serial0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
  2.创建 etc/init.d/rcS 文件
#!/bin/sh
ifconfig eth0 192.168.1.17
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
改变其属性:chmod +x etc/init.d/rcS
  3.创建 etc/fstab 文件
# device     mount-point    type   options        dump  fsck order
proc           /proc        proc   defaults        0     0
tmpfs          /tmp        tmpfs  defaults        0     0
sysfs          /sys         sysfs  defaults        0     0
tmpfs          /dev        tmpfs  defaults        0     0
  4. mdev 是通过 init 进程来启动的,在使用 mdev 构造 /dev 目录之前,init 至少要用到设备文件/dev/console、 /dev/null ,所以建立这两个设备文件。
[root@weijing fs_mini_mdev]# cd dev/
[root@weijing dev]# sudo mknod console c 5 1
[root@weijing dev]# sudo mknod null c 1 3
[root@weijing dev]# ls
console  null
[root@weijing dev]#
四、修改制作yaffs映象文件的工具
    在 yaffs 源码中有个 utils 目录,里面是工具 mkyaffsimage 和 mkyaffs2image的源代码,前者用来制作 yaffs1 映象文件,后者用来制作 yaffs2 映象文件。目前 mkyaffsimage 工具只能生成老格式的yaffs1 映象文件,需要修改才能支持新格式。在这里,直接打上书中补丁即可。
[root@weijing rootfs]# pwd
/work/rootfs
[root@weijing rootfs]# mkyaffsimage fs_mini_mdev fs_mini_mdev.yaffs
烧写、启动。
u-boot参数:
bootargs=noinitrd console=ttySAC0,115200 root=/dev/mtdblock2 rootfstype=yaffs   
bootcmd=nand read 0x32000000 0x100000 0x200000; bootm 0x32000000
由于我之前制作u-boot 不能向内核传递参数(待研究),所以在编译内核时修改参数:
Kernel command line: noinitrd console=ttySAC0,115200 root=/dev/mtdblock2 rootfs rw
至此,FS2410 上的最小系统构建完毕,CS8900A、USB、QT……等待续。
Attachment:

               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/74310/showart_1144857.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP