关键词不能为空

当前您在: 主页 > 英语 >

busybox简介及使用

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-10 08:16
tags:

-

2021年2月10日发(作者:ardell)


busybox


简介及使用





2006-11-27



作者:


acsbor



来自:


cublog





1,busybox


简介





busybox

< br>是一个集成了一百多个最常用


linux


命令和工具的软 件


,


他甚至还集成了一个


http


服务器和一个


telnet


服务器


,


而所有这一切功能却只有区区


1M

< p>
左右的大小


.


我们平时


用 的那些


linux


命令就好比是分立式的电子元件


,



busybox


就好比 是一个集成电路


,


把常


用的工具和命令 集成压缩在一个可执行文件里


,


功能基本不变

< br>,


而大小却小很多倍


,


在嵌入式


linux


应用中


,busybox< /p>


有非常广的应用


,


另外

< br>,


大多数


linux


发行版的安 装程序中都有


busybox


的身影


,


安装


linux


的时候案


ctrl+alt+F2


就能得到一个控制台


,


而这个控制台中


的所有命令都是指向


bus ybox


的链接


.




Busybox


的小身材大作用的特 性


,


给制作一张软盘的


linux


带来了及大方便


.




2,busybox


的用法





可以这样用


busybox




#busybox ls




他的功能就相当运行


ls

< p>
命令





最常用的用法是建立指向


busybox


的链接


,


不同的链接名完成不同的功能


.




#ln -s busybox ls




#ln -s busybox rm




#ln -s busybox mkdir




然后分别运行这三个链接


:




#./ls




#./rm




#./mkdir




就可以分别完成了


ls rm



mkdir


命令的功能

< br>.


虽然他们都指向同一个可执行程序


busybox




但是只要链接名不同


,


完成的功能就不同


,busybox


就是这么的神奇


.



< /p>


很多


linux


网站都提供


busybox


的源代码下载


.

目前版本是


busybox1.0


正式版

< br>.




3,


配置


busybox




busybox

< br>的配置程序和


linux


内核菜单配置方式简直一模一样


.


熟悉用


make

< br>menuconfig


方式配置


linux


内核的朋友很容易上手


.




#cp /babylinux




#cd /babylinux




#tar xvfz




#cd busybox-1.00




#make menuconfig




下面是需 要编译进


busybox


的功能选项


,


其他的可以根据需要自选


,


但是同样不 要太贪



.




General Configuration


应该选的选项





Show verbose applet usage messages




Runtime SUID/SGID configuration via /etc/




Build Options




Build BusyBox as a static binary (no shared libs)




这个选项是一定要选择的


,


这样才能把


busybox

< br>编译成静态链接的可执行文件


,


运行时

< br>才独立于其他函数库


.


否则必需要其他库文件才能运行< /p>


,


在单一个


linux

< br>内核不能使他正常工



.




Installation Options




Don't use /usr




这个选项也一定要选


,


否则


make install



busybox


将安装在原系统的

< br>/usr



,


这将


覆盖掉系统原有的命令


.


选择这个选项后

< p>
,make install


后会在


busybo x


目录下生成一个叫


_install


的目录


,


里面有


busybox


和指向他的链接


.




其他选项都是一些


linux


基本命令选项


,


自己需要哪些命令就编译进去


,


一般用默认的就


可以了


.




配置好后退出并保存


.




4,


编译并安装


busybox




#make




#make install




编译好后在


busybox


目录下生成子目录


_install,


里面的内容


:




drwxr-xr-x 2 root root 4096 11




24 15:28 bin




lrwxrwxrwx 1 root root 11 11




24 15:28 linuxrc -> bin/busybox




drwxr-xr-x 2 root root 4096 11




24 15:28 sbin



< /p>


其中可执行文件


busybox



bin


目录下


,


其他 的都是指向他的符号链接


.




我编译出来的


busybox


可执行文件是


935K,


加上符号链接


,

< p>
整个


_install


目录是

952K.


加上


845K


的内核不 是已经超过


1440K


了吗


?


别担心


,


我们将对整个根文件系统做大幅度的< /p>


压缩


.



busybox


制作


tiny linux



日期:


2006-11-27



作者:


xoxo



来自:


cublog





我省去了制作启动盘的过程,这个网上可以大把大把的抓!





更多


...




我通过在硬盘上安装


linux


得到


linux


的分区

:




/dev/hda1 /boot




/dev/hda2 /




/dev/hda3 swap




好了,现在开始用


busybox


来制作了。。。





实际操作过程相当简单:





下载好


busybox


的源文件,大家最好到


busybox


的官方网站上 面去下,这样还可以


看到很多文档




)



< /p>


我下载的是


busybox-1.00-rc3

< br>版本,也是它的最新版





tar zxvf




cd busybox-1.00-rc3




make menuconfig




(


这个过程类似编译


linux


内核,


如果你还不会编译内核的话,


那先看看我的


blog


里面

< br>的另一篇文档好了


)




做好自己的选项后,





make dep




make




make install




默认情况下,


busybox


会在当前目录下生成一个


_INSTALL


的 目录,编译后生成的文


件都在这个目录下,一会儿我们也要用这个目录下的文件来制作我 们的


tiny linux




我们先看一看这个目录下的结构


:




/usr




/etc




/....




因为我是在编译好后才写这篇文档的,


所以目录列不全了,


反正这个也不重要,


大家在


尝试中自己观察吧




< /p>


然后就是替换工作了,关于


busybox


的工作原理大家可以参考


busybox


的资料,网


上一大把一大把的抓!!





主要的操作目录有



etc usr bin sbin




将这几个目录用刚才编译过的目录替换,然后将原

< p>
etc


目录下的



passwd passwd-


shadow shadow-



几个文件放到


bu sybox


的目录下


(


你得登陆吧,哈 哈,登陆就得用


这几个文件了


)




其实这个时候系统的大小就已经不到


200M


了,





下面是进一步的裁减工作,这个工作主要集中在


lib


目录下





lib


目录的结构:





根目录下是一些常用的

< p>
so






modules



linux


的模块





modules


目录里面还有



EL


结尾的文件夹目录,如果你是多


cpu


的话,有一个< /p>


smp


结尾的目录,如果你已经编译了内核的话,还有一个


ELcustom


结尾的目录





决定你用那个内核,如你用


smp


的话,那就删掉其他的两个,如果你用自己编译的内

< p>
核的话,那就删掉另外的两个,同样的道理





其他在


lib


目录下的


so


文件大家自己决定吧,不过有这样一个问题,如 果你裁减完登


陆时出现


“Login incorrect



User 'unknown' failed on 'tty2'”


提示的话,很可能就是你


这里面的库删错了,补回来吧。。





裁减过程,除了删除文件外,我觉得还有一个问题,就是完善功能,实现


linux


的常用


功能:如网络,文件系统的


rw


属性等





这个也是我在裁减过程中遇到的问题,





1


,恢复网络功能





网络功能需要这样几个必要的条件:





1)


内核支持


inet4




2)


有网卡驱动





好了,假设上面的都成立,我们开 始给这个


tinylinux


设定网络:





我的网卡是

< br>8139


的所以,我需要的网卡驱动在


/lib/mod ules/om/kernel/drivers/net/




当然,


pci


的网卡还需要这个东东:


/lib/modules/om/kernel/driv ers/net/mii.o (


为什么要这个我也说不


清楚,


反正要一定要有,


freebsd


在编 译内核的时候,也是一定要加上


mii


这个东西的,

< p>


译过


bsd


内核的朋友 一定有印象


)



< br>ok


,还有一个


so


是要加上的 ,那就是


/lib/modules/om/kernel/lib/crc32.o< /p>


,这个东东,是什么作用,高手


来解答吧,我也不清楚,或者大家 去


google


搜索一下好了





总结一下加入网络的步骤:





/sbin/insmod /lib/modules/om/kernel/lib/crc32.o




/sbin/insmod /lib/modules/om/kernel/drivers/net/mii.o




/sbin/insmod


/lib/modules/om/kernel/drivers/net/




看到什么了吗?





你的网卡已经起来了。。。不过这样还不可以






/et c/


文件中要增加这样的一句:


alias eth0 8139too (


为啥呢?我


也不懂,向大家请教,


)




现在应该可以了,控制台里面输入:


ifconfig eth0 inet 192.168.0.2 netmask


255.255.255.0




结果呢?应该就是大家期望的了。。





还可以添加路由的


:




/sbin/route add default gw 192.168.0.1




不管别的了,先


ping


一下网关再说:





#ping 192.168.0.1




.........................




登陆到


192



168



0



1


上面去:





192



168



0



1



ping 192.168.0.2




。。。。。。。。。。。。。





网络功能基本上没有问题了,我试过


ping 202.102 .88.*


这个外网


ip


的。





2


。文件系统的读写功能。





busybox

< br>的启动过程跟


linux


是不一样的,它在内核启动后, 运行


/etc/init.d/rcS



个脚本的,而且只有这一个启动脚本,所以,如果有什么在启动时候运行或初始化的程序,

只能写在这个脚本里了。




< /p>


在我的观察来看,


linux


启动过程中 ,与文件系统


(


我指的是


mount< /p>



umount


这样

的操作


)


相关的操作是有这样的步骤的

:


第一个步骤是内核以


ro (read-only,


只读


)


的形式来


m ount /


,这个在


grub


。< /p>


conf(grub


的配置文件,在


/b oot/grub/


目录下


)


有这样的 描


述:


”kernel /boot/x ro root=/dev/hdb1“


,看到那个


“ro”


了吗?





第二个步骤是系统在


fsck(


磁盘扫描,< /p>


检查文件系统上一次关机时是否正常


umount)



然后进行


“umount


-


a”





第三个步骤是这样的,在检查完文件系统没有问题后,运行< /p>



rw /


这样的语句,注意到

< p>
“rw”


了吗?就是这个标志,决定我们的


tin y linux


的文件系统


是否能够写入的,或许你这样考虑, 我直接在



里面把


“ro”


改成


“rw”


不可以吗?


自 己试试就知道了:


)




3



login




关于


lo gin


我不想多说了,关键在于


/lib


里面的库文件,不可多删,当然,为了系统尽


可能的小,也一定不要少删啊。。





多用户登陆的 话,需要更改


/etc/inittab


,详细的参考


busybox


的文档吧





最后总结一下

rcS


这个文件吧:





rcS






/bin/fsck ????(


参数自己找找吧,不懂的话看看


t)




/sbin/umount -a




/sbin/mount -a




/sbin/mount -t ext3 remount rw /




/sbin/insmod /lib/modules/om/kernel/lib/crc32.o




/sbin/insmod /lib/modules/om/kernel/drivers/net/mii.o




/sbin/insmod


/lib/modules/om/kernel/drivers/net/




/sbin/ifconfig eth0 192.168.0.253 netmask 255.255.255.0




/sbin/route default gw 192.168.0.1




参考资料:





/?sid=4335





/?sid=4395





/?sid=4528



QUOTE:




1. Code maturity level options




代码成熟等级。此处只有一项:


prompt for development and/or incomplete


code/driv ers


,如果你要试验现在仍处于实验阶段的功能,比如


kht tpd



IPv6


等,就必

< p>
须把该项选择为


Y


了;否则可以把它选择为


N






2. Loadable module support




对模块的支持。这里面有三项:





Enable loadable module supp ort


:除非你准备把所有需要的内容都编译到内核里


面,否则 该项应该是必选的。





Set version information on all module symbols


:可以不选它。





Kernel module loader


:让内核在启动时有自己装入必需模块的能力,建议选上。





3. Processor type and features



< br>CPU


类型。内容蛮多的,不一一介绍了,有关的几个如下:




Processor fa mily


:根据你自己的情况选择


CPU


类型。





High Memory Support


:大容量内存的支持 。


可以支持到


4G


< br>64G



一般可以不选。





Math emulation< /p>


:协处理器仿真。协处理器是在


386


时 代的宠儿,现在早已不用了。





MTTR support



MTTR


支持。可不选。





Symmetric multi-processing support



对称多处理支持。


除 非你富到有多个


CPU



否则就不用选 了。





4. General setup




这里是对最普通的一些属性进行设置。


这部分内容非常多,


一般使用缺省设置就可以了。


下面介绍一 下经常使用的一些选项:





Networking support


:网络支持。必须,没有网卡也建议你选上。





PCI support



PCI


支持。如果使用了

PCI


的卡,当然必选。





PCI access mode



PCI


存取模式。可供选择的有


BIO S



Direct


< br>Any


,选


Any


吧。





Support for hot-pluggabel devices


:热插拔设备支持。支持的不是太好,可不选。





PCMCIA/CardBus support



PCMCIA/CardBus


支持。有


PCMCIA


就必选了。

< br>




System V IPC




BSD Process Accounting




Sysctl support



以上 三项是有关进程处理


/IPC


调用的,


主要就是


System V



BSD< /p>


两种风格。如果你不是使用


BSD


,就按 照缺省吧。





Power Management support


:电源管理支持。





Advanced Power Management BIOS support


:高级电源管理


BIOD

< p>
支持。





5. Memory Technology Device(MTD)




MTD


设备支持。可不选。





6. Parallel port support




串口支持。如果不打算使用串口,就别选了。





7. Plug and Play configuration




即插即用支持。虽然


Linux


对即插即用目前支持的 不如


Windows


好,但是还是选上


吧,这样你可以拔下鼠标之类的体验一下


Linux


下即插即用 的感觉。





8. Block devices




块设备支持。这个就得针对自己的情况来选了,简单说明一下 吧:





Normal PC floppy disk support


:普通


PC


软盘支持。这个应该必选。





XT hard disk support






Compaq SMART2 support






Mulex DAC960/DAC1100 PCI RAID Controller support



RAID


镜像用的。





Loopback device support






Network block device suppor t


:网络块设备支持。如果想访问网上邻居的东西,就


选上。< /p>





Logical volume manager(LVM)support


:逻辑卷管理支持。





Multiple devices driver support


:多设备驱动支持。





RAM disk support



RAM


盘支持。





9. Networking options




网络选项。这里 配置的是网络协议。内容太多了,不一一介绍了,自己看吧,如果你对


网络协议有所了解 的话,


应该可以看懂的。


如果懒得看,


使用缺省选项


(


肯定要选中


TCP/I P


networking



)


就可以了。让我们看看,


TCP/IP



ATM



IPX



DECnet



Appletalk… …


支持的协议好多哦,


IPv6


也支持 了,


Qos and/or fair queueing(


服 务质量公平调度


)


也支


持了,还有


kHTTPd


,不过这些都还在实验阶段。





10. Telephony Support




电话支持。这个 是什么东东?让我查查帮助,原来是


Linux


下可以支持电话 卡,这样


你就可以在


IP


上使用普通的 电话提供语音服务了。


记住,


电话卡可和


modem


没有任何关


系哦。





11. ATA/IDE/MFM/RLL support




这个是有关各种接口的硬盘


/


光驱


/


磁带


/


软盘支持的,


内容太多了,


使用缺省的选项吧,


如果 你使用了比较特殊的设备,比如


PCMCIA


等,就到里面自己 找相应的选项吧。





12. SCSI support




SCSI


设备的支持。我没有


SCSI


的设备,所以根本就不用选,如果你用了

SCSI


的硬



/


光驱


/


磁带等设备,自己找好了。




13. IEEE 1394(FireWire)support




这个是什么?低版本的没有见过,


看看帮助再说。


原来是要


Fireware


硬件来提高串行

< br>总线的性能,我没有,不选了。





14. I2O device support




这个也不清楚,帮助里说是这个需 要


I2O


接口适配器才能支持的,在智能


Input/Output(I2O)


体系接口中使用,又是要硬件,不选了。





15. Network device support




网络设备支持。上面选好协议了,现在该选设备了,可想而知,内容肯定多得很。还好


还好,里面大概分类了,有


ARCnet


设备、


Ethernet(10 or 100 Mbit)



Ethernet(1000Mbit)



W ireless LAN(non- hamradio)



Token Ring device



Wan


interfaces



PCMCIA network device support


几大类。我用的是

10/100M


的以太网,


看来只需要选则这个了。


还是


10/100M


的以太网设备熟悉,


内容虽然多,


一眼就可以看到


我所用的


RealTeck RTL-8139 PCI Fast Ethernet Adapter support


,为了免得麻烦,


编译到内核 里面好了,不选


M


了,选


Y

< p>
。耐心点,一般说来你都能找到自己用的网卡。如


果没有,你只好自己到厂 商那里去要驱动了。





16. Amateur Radio support




又一个不懂的,应该是配置业余无线广播的吧,没有,不要了。





17. IrDA(infrared)support




这个要红外支持,免了。





18. ISDN subsystem




如果你使用


ISDN


上网,这个就必不可少了。自己看着办好了。





19. Old CD-ROM drivers(not SCSI



not IDE)




做的可真周到,原来那些非


SCSI/IDE


口的光驱谁还在用啊,自己选吧,反正我是用



IDE



CD- ROM


,不选这个。





20. Character devices




字符设备。


这个内容又太多了,


先使用缺省设置,需要的话自己就修改。把大类介绍一

< p>
下吧:





I2C support



I2C



Philips


极力推动的微控制应用中 使用的低速串行总线协议。如


果你要选择下面的


Video For Linux


,该项必选。





Mice


:鼠标。现在可以支持总线 、串口、


PS/2



C&T 82C710 mouse port



PC110


digitizer pad


,自己根据需要选择。





Joysticks


:手柄。即使在


Linux


下把手柄驱动起来意义也不是太大,游戏太少了。< /p>





Watchdog Cards


:虽然称为

Cards


,这个可以用纯软件来实现,当然也有硬件的。


如果你把这个选中,


那么就会在你的


/dev

< br>下创建一个名为


watchdog


的文件,


它可以记录


你的系统的运行情况,一直到系统重新启动的

1


分钟左右。有了这个文件,你就可以恢复


系统到重启前的 状态了。





Video For Linux


:支持有关的音频

< p>
/


视频卡。





Ftape, the floppy tape device driver






PCMCIA character device support






21. File systems




文件系统。内容又太多了,老法子 ,在缺省选项的基础上进行修改。介绍以下几项:





Quota support



Quota


可以限制每个用户可以使用的硬盘空间的上限,在多用户 共


同使用一台主机的情况中十分有效。





DOS FAT fs support



DOS FAT


文件 格式的支持,可以支持


FAT16



F AT32






ISO 9660 CD-ROM file system support


:光盘使用的就是


ISO 9660


的文件格式。





NTFS file system support



ntfs



NT< /p>


使用的文件格式。





/proc file system support



/proc


文件系统是

< br>Linux


提供给用户和系统进行交互的


通道,建议选上 ,否则有些功能没法正确执行。





还有另外三个大类都规到这儿了:


Network File Systems(


网络文件系统


)


、< /p>


Partition


Types(


分区 类型


)



Native Language Support(


本地语言支持


)


。值得一提的是


Network


File S ystems


里面的两种:


NFS


和< /p>


SMB


分别是


Linux



Windows


相互以网络邻居的形


式访问对方所使用的文件系统,根据需要加以选择。





22. Console drivers




控制台驱动。一般使用


VGA text console


就可以了,标准的


80*25


的文本控制台 。





23. Sound



< p>
声卡驱动。如果你能在列表中找到声卡驱动那自然最好,否则就试试


OSS


了。





24. USB supprot




USB


支持。很多


USB


设备,比如鼠标、调制解调器、打印机、扫描仪等,在


Linux

< p>
都可以得到支持,根据需要自行选择。





25. Kernel hacking




配置了这个,

即使在系统崩溃时,


你也可以进行一定的工作了。


普通用户 是用不着这个


功能的。





对了,


你还是把


我省去了制作启动盘的过程,


这个网上可以大把大把的抓 !



也加上的


好,这样更有利于其他人 的学习





制作启动盘的过成实际上是在一个空空的硬盘或软盘上加上启动信息的过程


,

< p>
针对


linux



uni x


来讲


,


也就是增加

< br>lilo


启动信息的过程


,


从而 使得我们转移到本硬盘的内核能够


启动


,


进一步能够执行


linux


其他的一些必要的系统初始程序< /p>


...




启 动盘的制作过程可以搜索关键字


:


制作软盘

linux



-


-


-


-


-


-


-


-



本文更新与2021-02-10 08:16,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/627629.html

busybox简介及使用的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文