根文件系统的制作

Posted for_learning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根文件系统的制作相关的知识,希望对你有一定的参考价值。

            根文件系统的制作

  嵌入式系统包含多个文件系统但是第一个(根文件系统)是必须的。

一、创建目录

  # mkdir rootfs
  # cd rootfs
  # mkdir bin dev etc lib proc sbin sys usr mnt tmp var
  # mkdir usr/bin usr/lib usr/sbin lib/modules

二、创建设备文件
  # cd rootfs/dev
  # mknod -m 666 console c 5 1
  # mknod -m 666 null c 1 3

其中:

  console是设备的名字

  c指的是字符设备

  5指的是该设备在major.c中定义的标记

  1指的是第一个设备

三、加入配制文件

  这里是国嵌提供的配置文件,复制到linux下面解压,并且将全部内容复制到新建的rootfs文件系统目录下面

技术分享

  # tar  xvzf  etc.tar.gz
  # mv  xvzf  etc/* …/rootfs/etc/ -rf

四、添加内核模块

4.1进入内核文件目录

  #cd  .../linux

4.2编译内核模块

  #make modules ARCH=arm CROSS_COMPILE=arm-linux-

  技术分享

4.3将内核模块安装到新建的文件系统下面

执行:

   #make modules_install ARCH=arm INSTALL_MOD_PATH=/home/rootfs

安装成功如下:

技术分享

五、编译安装busybox

  BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 android 系统的自带的shell。

5.1配置busybox

  这里的busybox是由国嵌视频中提供的

  技术分享

  #make  menuconfig  ARCH=arm

进入Busybox Setting -->

  1.进入Bulid  Options-->

    选中Build busybox as a static binary 静态链接

    Cross Compiler prefix(arm-linux-)

技术分享

  2.进入Installation Options-->

    选中Don,t use /usr  选中该项可以避免busybox白安庄到宿主系统的/usr目录下,破坏宿主系统

    Busybox Installation Prefix (/xxx/rootfs)该选项表明编译后的busybox的安装位置

技术分享

5.2编译安装busybox

执行:make

  技术分享

执行:make  install   进行安装

技术分享

 

以上是关于根文件系统的制作的主要内容,如果未能解决你的问题,请参考以下文章

根文件系统的制作

什么时候要重新制作Linux的根文件系统?谢谢

根文件系统制作与NFS挂载

8根文件系统制作final

根文件系统制作

Linux 4.10.8 根文件系统制作---制作yaffs文件系统