3.5根文件系统的制作

3.5根文件系统的制作

根文件系统其实包含两个含义:1.是根。2.是文件系统。

根:就是第一个的意思。必须有的。

文件系统:就是我们在编译linux内核看到的:

上面的目录和文件就是文件系统的。

 

接下来我们就来创建文件系统:

  1. 创建目录:

 

 

1.2.创建设备文件:

 

这里我们需要下面文件:

 

1.3.加入配置文件:

把它解压开,在把它的内容拷贝到/rootfs/etc:

接着是添加内核模块:

 

1.4.添加内核模块:

首先是编译内核模块:

Make modules ARCH=arm CROSS_COMPILE=arm-linux-

这个编译的过程会有点久。

最后编译好了内核模块,接下来就是拷贝到我们的跟文件系统目录:

 

 

 

 

我们进入/rootfs/lib/modules:

发现多了一个目录:

随便找个文件一直进入,会发现有很多.ko驱动文件:

最后编译和安装我们的busybox:

 

1.5编译和安装busybox:

首先是配置:解压并进入busybox,执行make menuconfig:

 

 

 

 

 

 

配置:工具:arm-linux-

安装:/rootfs/

 

 

 

配置后保存退出,执行make开始编译:

编译完成:执行make install:

 

其实是个拷贝的过程。

拷贝完了之后,我们进入到/rootfs/bin/:

可以看到很多命令。

到此文件系统的制作完成了,接下来实现挂载:

 

 

 

 

 

2.挂载根文件系统:

 

2.1文件系统类型:

 

 

 

 

 

 

 

 

 

2.2使用Initramfs:

 

 

创建软链接:

接着进入内核,来配置内核:

首先进入General setup:

往下找,找到这一项:

把这一系选上,接着进入下面一项,写上你的rootfs的路径:

写好之后保存退出。

然后重新编译内核:

 

 

 

编译好的内核是在arch/arm/boot/目录,把他拷贝到/tfrpboot/root/里面去。

可是在编译内核的时候出现这错误:

上面显示的是通过tftp服务器正在烧写uImage。

启动:

 

 

最后一步是环境变量的配置:

 

2.3使用NFS

2.3使用nfs;

 

1 public class hell{
2        public static void main(String argc[]){
3             System.out.println("hello");
4     }
5 }
View Code

 

posted @ 2015-01-05 20:35  cestlavie  阅读(152)  评论(0编辑  收藏  举报