移植Busybox与构建根文件系统


0.简介

本文旨在为以LOONGSON-1B开发板为平台,为移植busybox、构建根文件系统提供技术文档。

相关阅读:Linux文件系统使用udhcpc动态获取ip配置

开发环境:

    系统环境:龙芯1B开发板(mips32指令集)Linux3.0.0内核、Busybox1.19.2

    编译环境:Ubuntu10.04 ,gcc-3.4.6-2f

1. Busybox下载和配置:

1.1 下载Busybox

BusyBox各版本下载见 ,下载Busybox-1.19.2.tar.bz2工具包。

1.2配置、编译Busybox

busybox是一个集成了一百多个最常用linux命令和工具的软件,它甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小。Busybox的完全可定制性,提供了非常灵活,宜于扩展的结构。

Busybox的配置方法类似于linux内核的配置。下载解压Busybox-1.19.2.tar.gz工具包后,进入busybox-1.19.2目录,运行“make menuconfig”,根据需要选择需使用的模块,保存退出后会在本地生成一个.config文件,它指定busybox在编译的过程中需要包含哪些功能。

执行make menuconfig,弹出配置窗口如下: 

进入Busybox Setings--->选项,General Configuration --->选项按默认配置即可。

进入Build Options--->选项:

这里可选择静态编译或动态编译busybox,可根据需要任选一种编译方式进行编译。

(说明:动态编译的busybox在构建文件系统时需要加入一些必须的动态库,而静态编译的busybox不依赖动态库便可执行,构建文件系统时可省略拷贝动态库的步骤。)

(1)静态编译:

    选择[*]Build Busybox as a static binary (no shared libs)

    进入()Cross Compiler prefix选项,修改本地交叉工具链的路径。

(2)动态编译:

    选空[]Build Busybox as a static binary (no shared libs)

    选择[*]Build shared libbusybox

    进入()Cross Compiler prefix选项,修改本地交叉工具链的路径。

返回上一层进入Installation Options(“make install”behavior)--->选项,配置链接类型与安装路径,这里使用默认配置:

返回上一层进入Busybox Library Turing--->选项

    选择[*]vi-style line editing commands(NEW)

            [*]Fancy shell prompts(NEW)

返回最顶层进入Init Utilities--->选项(这里使用默认配置,如图)

    选择[*]init

           [*]Suport reading an inittab file

           [*]Run commands with leading dash with controlling tty

       该项表示在真实的串口设备中运行命令行,不选该项启动时会出现“-sh:can’t access tty;job control turned off”的错误

           [*]Support running init from within an initrd (not initramfs)

        不选此选项将不会生成linuxrc文件

  • 1
  • 2
  • 下一页

相关内容