这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » Xilinx » 从零开始制作文件系统

共1条 1/1 1 跳转至

从零开始制作文件系统

菜鸟
2013-09-02 21:38:43     打赏

本人对于arm的了解属于小白阶段。刚刚学习了如何从零开始制作文件系统,与大家分享,希望能帮助到一些同学。

 

1、首先下载busybox.目前最新的稳定版为1.21.1

 

2、在工作目录下创建根目录文件夹,rootfs.

 

ubuntu:~/PrjDev$ mkdir rootfs;

 

3、解压busybox, 

 

ubuntu:~/PrjDev$tar jxvf busybox-1.21.1.tar.bz2;

 

4、进入busybox根目录,修改Makefile,修改ARCHCROSS_COMPILE两个变量的值

 

ARCH =arm

 

CROSS_COMPILE=arm-xilinx-linux-gnueabi-

 

5、通过busybox的配置菜单配置制作文件系统

 

ubuntu:~/PrjDev/busybox-1.21.1$make menuconfig

 

系统将弹出配置菜单,只需要选择动态库编绎,其它基本不需要配置;

 

6、编译busybox使用命令make install CONFIG_PREFIX=/home/PrjDev/rootfsbusybox进行安装

 

编绎成功之后rootfs下面生成三个文件夹,bin,sbin,usr还有一个指向busybox的软链接linuxrc

 

7、在rootfs下创建相关目录

 

mkdir boot dev etc home lib mnt proc root sys tmp var opt

 

8、下面开始建立及复制文件系统所需的文件

 

 1)在/rootfs/dev/目录下建立 consolenull节点文件

 

      在提示符后输入 sudo mknod -m 666 console c 5 1

 

                             sudo mknod -m 666 null c 1 3

 

 2)在/rootfs/etc目录下创建fstabinittab文件

 

    fstab文件内容如下:

 

   none  /proc proc defaults 0 0

 

   none /dev/pts devpts mode=0622 0 0

 

   tmpfs /dev/shm tmpfs defaults 0 0

 

   inittab文件内容如下:

 

   #[inittab]

 

   ::sysinit:/etc/init.d/rcS

 

   ::askfirst:-/bin/sh

 

   ::restart: /sbin/init

 

   ::ctrlaltdel:/sbin/reboot

 

   ::shutdown:/bin/umount -a -r

 

   ::shutdown:/sbin/swapoff -a

 

创建完成后,再提示符下输入:chmod +x fstab inittab

 

  3)/rootfs/etc/init.d目录下建立rcS文件

 

    etc目录下创建init.d目录,在该目录下创建rcS文件,其内容如下:

 

          #! /bin/sh

          export PATH=/sbin:/bin:/usr/sbin:/usr/bin

          echo "running /etc/init.d/rcS"

echo " mount -t proc proc /proc"

mount -t proc proc /proc

echo " mount -t sysfs /sys /sys"

mount -t sysfs /sys /sys

# echo " mount -t tmpfs /tmpfs /dev "

#/mount -t tmpfs /tmpfs /dev

#echo "mount ramfs filesystem to /var"

#/mount -t ramfs none /var

#echo "starting udevd..."

#/udevd --daemon

#/udevstart

#ln -s /dev/rtc0 /dev/rtc

#/mount -t yaffs2 /dev/mtdblock1 /home/

#hostname SBC6020

#ifconfig lo 127.0.0.1 netmask 255.0.0.0

#ifconfig eth1 192.192.192.200 netmask 255.255.255.0

#ifconfig eth0 hw ether 00:11:22:33:44:55

#ifconfig eth0 192.168.0.1 netmask 255.255.255.0

#/opt/apache/bin/apachectl start

#exec /etc/init.d/rcS.local

最后在提示符下输入:

Chmod +x rcS

4)复制lib库文件

将交叉编绎工具有下的lib文件拷贝到rootfs下的lib目录下。

Cp  /lib/*  /home/PrjDev/rootfs/lib/ -df

 

至此,文件系统制作完成,如果想移植opencv等库,只需要将交叉编绎工具编绎好的库文件也拷贝进来就行了。




关键词: 开始     制作     文件     系统    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]