移植Busybox与构建根文件系统

0.简介

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

开发环境:

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

1.Busybox下载和配置:1.1下载Busybox

1.2配置、编译Busybox

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

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

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

进入BusyboxSetings—>选项,GeneralConfiguration—>选项按默认配置即可。

进入BuildOptions—>选项:

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

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

(1)静态编译:

选择[*]BuildBusyboxasastaticbinary(nosharedlibs)

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

(2)动态编译:

选空[]BuildBusyboxasastaticbinary(nosharedlibs)

选择[*]Buildsharedlibbusybox

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

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

返回上一层进入BusyboxLibraryTuring—>选项

选择[*]vi-stylelineeditingcommands(NEW)

[*]Fancyshellprompts(NEW)

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

选择[*]init

[*]Suportreadinganinittabfile

[*]Runcommandswithleadingdashwithcontrollingtty

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

[*]Supportrunninginitfromwithinaninitrd(notinitramfs)

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

就看你能不能战胜它。战胜了,你就是英雄,就是生活的强者。

移植Busybox与构建根文件系统

相关文章:

你感兴趣的文章:

标签云: