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

  • 相关阅读:
    010:请教STM32用JLINK V8 SWD输出调试信息到ITM Viewer的问题(转)
    014:针对mdk中STM32程序无法使用printf,产生停留BEAB BKPT 0xAB处问题的解决(转)
    011:Nuvoton(新唐) Cortex M0 使用semihost输入输出办法(转)
    015:6步教你在STM32程序中添加 printf函数(转)
    js定时和离开当前页面事件 明天
    linux常用命令 明天
    mongoDB常用命令 明天
    自定义标签的使用 明天
    浏览器事件 明天
    SonarQube简介
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5323637.html
Copyright © 2011-2022 走看看