系统环境:龙芯1B开发板(mips32指令集)、Linux3.0.0内核、Busybox1.19.2
编译环境:Ubuntu10.04 ,gcc-3.4.6-2f
1. Busybox下载和配置: 1.1 下载BusyboxBusyBox各版本下载见 ,下载Busybox-1.19.2.tar.bz2工具包。
1.2配置、编译Busyboxbusybox是一个集成了一百多个最常用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文件