根文件系统的制作

1140阅读 0评论2013-01-19 willinux
分类:嵌入式

网上有和多此类的文章,找到的都不是很完整,我根据自己实际测试的经验在次,整理了一份,希望能给需要者提供一份帮助,同时也是自己做份记录,以便今后只需。
转载请说明出处:liwenjin.blog.chinaunix.net  谢谢!!

1.首先是到官网下载busybox,下载自己需要的版本。
2.解压
3.进入源码目录
4.make menuconfig
     编译选项中选择[*]BUILD BUSYBOX AS A STATIC BINARY
     添加交叉编译工具链的前缀(如:arm-none-linux-gnueabi-)Cross Compiler prefix
5.编译 make
6.安装  默认安装在源码目录下_install,
7.进入_install查看是否有bin dev linuxrc sbin usr
8.mkdir 其他需要的目录 (如 dev  etc  mnt proc var tmp sys root )
9.拷贝 自己的交叉编译工具链的相关库文件。
如cp  /home/lwj/toolchain/arm-none-linux-gnueabi/lib  ./
10.删除lib下的所有目录,.o  .a 文件
11.对库进行瘦身减小文件系统的大小 arm-none-linux-gnueabi-strip  lib/*
12 .添加启动文件
在etc下添加inittab文件
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot

在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  default    0  0
tmpfs  /dev  tempfs   default   0  0

挂在文件系统有三个proc  sysfs  tmpfs   内涵中默认支持前两种,末者需要我们在内核中添加
进入内核源码makeconfig后在FIle System中选中Tmpfs POSIX Access Control LIsts
重新编译内核
,由于此篇主要是讲解文件系统的制作,具体如何配置内核系统就不做细讲,此类文章网络上很多,需要者自行去搜索。

接下来在etc下创建init.d 目录,并在其下创建rcS文件,内容为
#!/bin/sh
/bin/mount -a
保存后要对该文件添加可执行权限

然后还要在etc下添加profile文件,内容:
#!/bin/sh
export HOMENAME=LWJ     (此处可自己更改,LWJ是以我名字首字母来写的)
export USER=root
export HOME=root
export PS1 ="[$USER@HOMENAME\W]\#"
PATH=/bin"/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH

13 最后根文件系统有一个设备节点是必须的
mknod  dev/console   c  5   1

14之后就可以拷贝_install  下的所有文件到nfs目录下进行测试了

cp   _install /source/rootfs  -a




本篇文章只是提供制作过程的步骤,具体每个步骤里面实际是做什么用的就没有展开,不理解的可以自己查找相关资料,此外本篇文章主要是面向初学者,高手们可飘过。若有不对的地方请大家提出一起学习。




转载请说明出处:liwenjin.blog.chinaunix.net  谢谢!!













上一篇:linux内核模块装载、卸载详解
下一篇:Linux笔试题(简答题)