Linux根文件系统制作

时间:2021-09-11 23:43:24

一、环境搭建

vmware+Fedora;

arm-linux-gcc 交叉编译环境

三个压缩包:链接:https://pan.baidu.com/s/1YR7jXKLhRmEhDVQiOMkKyg 密码:0ah0

二、建立文件

1、在根目录下建立文件 cjj

[root@localhost /]# mkdir cjj

2、将三个压缩包放到 /cjj 目录下

Linux根文件系统制作

3、在 cjj 目录下建立 rootfs 目录(必须是rootfs)

[root@localhost cjj]# mkdir rootfs

Linux根文件系统制作

三、对 ncurses-5.9.tar.gz 的操作

1、解压 ncurses-5.9.tar.gz

[root@localhost cjj]# tar zxvf ncurses-5.9.tar.gz 

2、进入 ncurses-5.9 文件

[root@localhost cjj]# cd ./ncurses-5.9/

Linux根文件系统制作

3、运行 configure 文件

[root@localhost ncurses-5.9]# ./configure 

4、编译

[root@localhost ncurses-5.9]# make

5、安装

[root@localhost ncurses-5.9]# make install

四、对 busybox-1.17.2-20101120.tgz 操作

1、解压:busybox-1.17.2-20101120.tgz

[root@localhost cjj]# tar zxvf busybox-1.17.2-20101120.tgz 

2、进入 sybox-1.17.2

[root@localhost cjj]# cd busybox-1.17.2/

3、编辑 Makefile

[root@localhost busybox-1.17.2]# vi Makefile

Linux根文件系统制作

4、修改:ARCH ?= arm

查找方式:(1)在vim里 按Esc键

     (2)输入:/ARCH ?

     (3)n:向下查找,N:向上查找
Linux根文件系统制作

5、修改:CROSS_COMPILE ?=arm-linux-

Linux根文件系统制作

6、qw 保存退出

7、执行

[root@localhost busybox-1.17.2]# make menuconfig

Linux根文件系统制作

8、回车 确定

Linux根文件系统制作

9、空格 取消选择

Linux根文件系统制作

9、空格 选择这三个

Linux根文件系统制作

10、Exit 退出

11、编译

[root@localhost cjj]# make

12、安装

[root@localhost busybox-1.17.2]# make install

注:这里出错可能是你的arm-linux-gcc交叉编译器没安装好

五、对 rootfs 进行操作

1、在 rootfs 里创建 rootdir

[root@localhost rootfs]# mkdir rootdir

2、将 busybox 里面的 _install 里面的文件 复制到 rootdir 里面

[root@localhost busybox-1.17.2]# cp _install/* /cjj/rootfs/rootdir/ -a

Linux根文件系统制作

3、往 rootdir 里面添加 etc 目录

[root@localhost rootdir]# cp /cjj/busybox-1.17.2/examples/bootfloppy/etc/ ./ -a

Linux根文件系统制作

4、创建 dev、 lib 目录

[root@localhost rootdir]# mkdir dev lib

Linux根文件系统制作

5、在 dev 里面创建挂载点

[root@localhost rootdir]# cd ./dev/
[root@localhost dev]# mknod full c 1 7
[root@localhost dev]# mknod null c 1 3

6、在 rootdir 下的 usr 下创建 lib 目录

[root@localhost usr]# ls
bin  sbin
[root@localhost usr]# mkdir lib

六、对 cramfs_exp.tar.bz2 进行操作

1、解压

[root@localhost cjj]# tar jxvf cramfs_exp.tar.bz2

2、将 cranfs 目录下的 lib 里面的文件复制到 rootdir 下的 lib 文件夹下

[root@localhost cramfs]# cp lib/* /cjj/rootfs/rootdir/lib/ -a

Linux根文件系统制作

3、将 cranfs 目录下的 usrlib 里面的文件复制到 rootdir 目录下的 usr 下的 lib 里

[root@localhost cramfs]# cp ./usrlib/* /cjj/rootfs/rootdir/usr/lib/ -a

Linux根文件系统制作

4、将cramfs目录下的 mkcramfs ,mkrootfs.sh 复制到 rootfs 目录下

[root@localhost cramfs]# cp mkrootfs.sh /cjj/rootfs/ -a
[root@localhost cramfs]# cp mkcramfs /cjj/rootfs/ -a

Linux根文件系统制作

5、进入rootfs 目录,执行 mkrootfs.sh ,出现文件 rootfs_up210 说明成功

[root@localhost rootfs]# ./mkrootfs.sh

Linux根文件系统制作

6、根目录制作完成