zoukankan      html  css  js  c++  java
  • 第4阶段——制作根文件系统之编译配置安装busybox(3)

    在上一节分析出制作一个最小的根文件系统至少需要:

    (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误)

    /dev/null  (为空的话就是/dev/null, 所有写到这个文件中的数据都会被丢弃掉。)

    (2)init进程的程序(也就是busybox,因为init程序位于busybox中)

    (3)/etc/inittab(用于init进程读取配置, 然后执行inittab里的指定应用程序)

    (4)应用程序(被inittab配置文件调用的应用程序)

    (5)C库(glibc,被应用程序调用的C库函数,比如:printf,strcmp,fopen等)

    本节目的:

    编译配置busybox (因为制作最小的根文件系统需要init进程,以及运行各种命令等)

    1 编译配置busybox

    1.1 首先将busybox源码(位于资料光盘/system)放在linux中/work/system下

    cd /work/system            

    tar -xjf busybox-1.7.0.tar.bz2

    解压后,cd busybox-1.7.0 进入busybox-1.7.0目录

    2 查看busybox-1.7.0/INSTALL文件,让我们知道如何编译配置它,如下图:

     

    得出:

    make menuconfig             //通过配置菜单配置.config文件

    make                        //编译busybox可执行文件

    make install                  //直接安装,该命令会安装到PC机中,将破坏系统

    make CONFIG_PREFIX=/path/from/root  install  //安装到指定目录/path/from/root下

    3 所以首先make menuconfig 配置.config,如下图:

     

    3.1 在Library Tuning(库调整)子菜单中设置按tab键补齐,如下图:

     

    3.2 取消静态连接,如下图:

     

    因为使用库函数glibc时,如果静态编译busybox,会出现很多警告信息:

     

    库函数glibc需要放在/lib目录下

    3.3 选择tar命令:

     

    3.4选择insmod/rmod/lsmod命令,支持2.6.x内核:

     

    3.5 支持mdev(并支持medv.conf和热拔插),选择mount/umount命令(并支持NFS文件系统)

     

    3.6 选择ifconfig命令

     

    4 通过make直接编译

    make编译后发现有错:

     

    原因是 busybox-1.7.0顶层目录下Makefile没有使用交叉编译”arm-linux-”

    在Makefile中添加”arm-linux-”:

     

    然后重新make编译即可

    5 安装到指定目录

    mkdir -p /work/nfs_root/mini_fs     //先创建指定目录

    make CONFIG_PREFIX=/work/nfs_root/mini_fs  install    //安装到指定目录

    cd /work/nfs_root/mini_fs 进入安装的目录:

    从上图看出共有3个目录和1个linuxrc文件,其中

    bin包含用户工具,包括了大部分命令,该子目录下所有文件指向busybox

    sbin目录包含操作系统工具,同样也指向busybox。

    linuxrc是一个链接文件,指向busybox。

     

    busybox做好后,下一节就开始构建根文件系统

  • 相关阅读:
    Silverlight DataGrid 获取 Row 左键双击事件
    数据结果集拼接到一行
    程序“[6040] iisexpress.exe”已退出,返回值为 0 (0x0)。
    新手用WPF山寨QQ管家7.6(二)
    风向十六方位图和温度湿度图
    新手向使用XAML画出Win8风格图标的照相机,小姐你相机~~
    新手用WPF山寨QQ管家7.6(一)
    实验一
    实验5
    实验4
  • 原文地址:https://www.cnblogs.com/lifexy/p/7406220.html
Copyright © 2011-2022 走看看