zoukankan      html  css  js  c++  java
  • 3.根文件系统的制作

                根文件系统的制作

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

    一、创建目录

      # 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   进行安装

  • 相关阅读:
    《第一行代码》学习笔记18-广播接收器Broadcast_Receiver(1)
    《第一行代码》学习笔记17-碎片Fragment(2)
    《第一行代码》学习笔记16-碎片Fragment(1)
    《第一行代码》学习笔记15-UI(4)
    《第一行代码》学习笔记14-UI(3)
    《第一行代码》学习笔记13-UI(2)
    《第一行代码》学习笔记12-UI(1)
    ios-NSMutableAttributedString 更改文本字符串颜色、大小
    ios-实现项目在开发、测试、正式环境快速部署
    ios-滚动导航条页面
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5323637.html
Copyright © 2011-2022 走看看