制作linux根文件系统过程

来源:互联网 发布:杜冷丁多少钱一只淘宝 编辑:程序博客网 时间:2024/06/04 19:30

介绍根文件系统制作步骤

第一步、解压根文件系统

tar xjf busybox-1.7.0.tar.bz2

可以根据INSTALL文件介绍的编译步骤进行开发

第二步、可以通过 make menuconfig 和内核一样的方式进行配置

修改Makefile交叉编辑选项   arm-linux-

第三步、执行make命令编译

第四步、安装到指定的目录

make CONFIG_PREFIX=/path.../first_fs  install

  会生成first_fs文件,包含根文件系统的基本框架

第五步、创两个设备文件 mkdir dev

查看要创建设备文件的主设备号和此设备号

ls -l /dev/console /dev/null

/dev/console    mknod  /dev/console   c   5   1

       /dev/null               mknod  /dev/null   c    1   3

第六步、创建配置文件  mkdir  etc

1、vim   /etc/inittab      linux内核在启动时要启动的进程

console::askfirst:-/bin/sh            q\启动sh进程

::ysyinit:/etc/init.d/rtc                执行脚本

2、vim  /etc/init.d/rcS              sh脚本文件    执行linux启动时参数设置操作   修改文件属性  chmod  +x  rcS

#!/bin/sh

ifconfig eth0 192.168.1.11    设置ip

mount  -a             挂在/etc/fstab  文件中设置的文件系统

3、vim  /etc/fstab

设备名       挂载点       文件系统          参数            备份设置         读磁盘顺序设置

proc         /proc            proc                 defaults           0                       0

tmpfs       /tmp             tmpfs                defaults         0                       0

第七步、创建根文件系统使用的库到   mkdir  lib

cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

cp *.so* /home/book/yaffs/first_fs/lib -d

第八步、制作的根文件系统基本已经成型后面会在添加上udev功能,自动创建/dev目录下的设备节点




1、在、etc/fstab文件下添加两个文件系统配置

sysfs  /sys  sysfs    defaults   0    0

tmpfs  /dev    tmpfs   default    0   0

2、在文件 etc/init.d/rcS

mkdir   dev/pts

mount -t  devpts  devpts  dev/pts

echo sbin/mdev > /proc/sys/kernel/hotplug

mdev -s

  3、创建sys目录


后面需要将文件系统生成映像文件才能烧录到开发板中  ,需要生成制作映像文件的工具

第一步、生成制作根文件系统的工具     解压工具源文件  

tar xjf   yaffs_source_util_larger_small_page_nand.tar.bz2

cd Development_util_ok/yaffs2/utils/

Make           编译生成工具

sudo cp mkyaffs2image /usr/local/bin/    拷贝制作根文件系统的命令到环境变量path包含的路径下

sudo chmod +x /usr/local/bin/mkyaffs2image     更改命令文件的属性  为可执行

mkyaff2image   first_fs    first_fs.yaffs2     使用生成的工具制作根文件映像文件。


以上就是根文件系统的制作烧录过程,但是在调试的时候很不方便,下面为大家介绍一种nfs网络文件系统

第一步、连接上网线  电脑到开发板     

ifconfig eth0 up  启动网卡

第二步、配置ip

ifconfig eth0 192.168.1.11

ping 192.168.1.107

第三步、修改nfs配置文件

sudo vi /etc/exports

添加挂在网络文件路径     /home/book/yaffs/first_fs  *(rw,sync,no_root_squash)

第四步、重启nfs服务

sudo  /etc/init.d/nfs-kernel-server testart

第五步、可以尝试在电脑上挂在网络文件试试成功

sudo   mount  -t   nfs   192.168.1.107:/home/book/yaffs/first_fs  /mnt

第六步、单板挂在网络根文件

创建挂载的目录   mkdir   mnt

mount  -t  nfs  -o  nolock   192.168.1.107:/home/book/yaffs/first_fs   /mnt

ls /mnt

以上是手动挂在网络文件

第七步、修改命令行启动参数

原:bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

设置为:set bootargsbootargs=noinitrd root=/dev/nfs nfsroot=192.168.1.107:/home/book/yaffs/first_fs ip=192.168.1.11:192,168.1.107:192.168.1.1:255.255.255.0::eth0:off  init=/linuxrc console=ttySAC0

 




原创粉丝点击