碧波液压网 欢迎你,游客。 登录 注册

用busybox制作嵌入式Linux的文件系统

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  一、编译

  1.busybox简介

  熟悉嵌入式Linux的人对busybox一定不会陌生。它被非常形象地称为嵌入式Linux系统中的“瑞士军刀”,因为它将许多常用的UNIX命令和工具结合到了一个单独的可执行程序中。虽然与相应的GNU工具比较起来,busybox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或者嵌入式系统中,已经足够了。

  下面就来一步步地用busybox从无到有地建立一个全新的Linux文件系统。

  2. 编译busybox

  完整的源代码可以从http://www.busybox.net下载,压缩包大小为1.3 MB左右。将源码解压之后,进入到busybox1.00目录中,运行make menuconfig可以打开它的编译界面。这个界面和Linux内核编译有些接近。在这个菜单界面中除了可以对最终编译到可执行文件中的命令进行选择外,还有很多其他设置也是非常重要的。下面三个目录是很多人都会感兴趣的:

  我改变了以下选项:

  General Configuration --->

  [*] Support for devfs

  Build Options --->

  [ ] Build BusyBox as a static binary (no shared libs)

  [*] Do you want to build BusyBox with a Cross Compiler?

  /usr/local/arm/3.4.1/bin/arm-linux-

  (/usr/local/arm/3.4.1/bin/arm-linux-) Cross Compiler prefix

  Installation Options --->

  (./_install) BusyBox installation prefix

  然后到当前目录建立一个_install的文件夹。

  Linux Ext2 FS Progs --->

  [*] e2fsck

  Linux Module Utilities --->

  [*] insmod

  [*] rmmod

  [ ] lsmod

  [ ] modprobe

  --- Options common to multiple modutils

  [*] Support tainted module checking with new kernels (NEW)

  [ ] Support version 2.2.x to 2.4.x Linux kernels

  [*] Support version 2.6.x Linux kernels (NEW)

  注意此处的选择,可能会影响到编译不过。

  Networking Utilities --->

  [*] ftpget

  [*] ftpput

  [*] wget

  [*] telnet

  [*] Pass TERM type to remote host (NEW)

  [*] Pass USER type to remote host (NEW)

  [*] telnetd

  注释:tlenetd命令是一个远程登录服务程序,把它编译进busybox中会为将来的调试提供很多的方便。 Shells --->

  [*] Enable builtin version of 'echo'

  Linux System Utilities --->

  [*] mount

  [*] Support mounting NFS file systems

  注释:这个比较重要,否则会在后来的mount时候出现mount program didn't pass remote address的错误。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论