进击吧,linux(五)- 嵌入式根文件系统
0赞
Linux内核启动后,需要挂载根文件系统后,才能正常的运行linux。因此需要构建根文件系统。因为是在嵌入式中使用,所以构建的是嵌入式根文件系统。
构建嵌入式文件系统,有以下两步:
1、 建立根文件系统和目录
2、 挂载根文件系统到内核
一、建立根文件系统和目录
1、创建目录
在使用的linux下,在\下是有一些目录的,因此,我们也要去建立这些目录,有些目录是必须的。
首先创建一个目录,rootfs作为根目录,然后在该目录下,创建必须的文件以及子文件。这里,我多创建了weiqi7777文件夹。
2、 创建设备文件
到根目录下的dev文件下,创建两个设备文件。
3、 加入配置文件
配置文件都是放在etc目录下的,所以需要将所需的配置文件放在etc目录下。
将准备好的etc压缩包解压,放到etc目录下去。
4、 添加内核模块
在OK6410的编译linux目录里,编译内核模块,将内核模块安装到我们设置的根目录下。注意,该目录只要设置根目录,软件会自动的找到目录下的lib/modules目录,将内核模块放进去。
5、 编译/安装busybox
这个工具是用来生成二进制执行文件的。在linux系统中,lib目录下,有很多二进制执行文件,用来执行我们输入的命令。在嵌入式中,也要支持这些命令,所以也需要命令对应的二进制执行文件,用busybox,可以生成命令的二进制执行文件。
将准备好的easybox解压后,到其目录下,执行make menuconfig。
在busybox settings->build options下,将第一个选项选中。
然后在将第四个选项设置为arm-linux-,表示使用arm-linux的编译器。
进入busybox settings->installation options
将第一个选中选上,表示编译出来的二进制执行文件不要放在/usr目录下,在第二个选项,填入我们创建的根文件的目录,这样,编译出来的二进制执行文件就在我们创建的根文件下的了。
最后执行make和make install命令。
在我们创建的根目录的bin目录下,就有二进制执行文件了。
二、挂载根文件系统
使用initramfs挂载
首先在根目录下,创建一个软连接。然后在到linux内核配置的地方,更改设置。
在general setup中,将红色框部分选中,并设置根文件的目录。
最后在编译内核。
生成的uImage就是带有文件系统的linux内核。将该文件下到开发板中,linux内核启动后,就会挂载文件系统,就可以看到我们刚刚创建的那些目录了。
busybox和etc的压缩包已上传,都打包成一个压缩包了。