下载busybox配置.docx
- 文档编号:28535218
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:17
- 大小:311.48KB
下载busybox配置.docx
《下载busybox配置.docx》由会员分享,可在线阅读,更多相关《下载busybox配置.docx(17页珍藏版)》请在冰豆网上搜索。
下载busybox配置
下载busybox-1.1.3.tar.gz压缩文件,并解压到/tmp目录下,进入/tmp/busybox-1.1.3后执行makemenuconfig命令执行busybox的配置。
我的配置界面show如下。
GeneralConfiguration配置
BuildOptions 配置
Debugging Options 配置
InstallationOptions配置
BusyboxLibrary Tuning 配置
ArchivalUtilities配置
Coreutils配置
ConsoleUtilities配置
DebianUtilities配置
Editors配置
FindingUtilities配置
InitUtilities配置
Login/PasswordManagementUtilities配置
LinuxExt2FSProgs配置
LinuxModuleUtilities配置
LinuxSystemUtilities配置
Miscellaneous Utilities配置
NetworkingUtilities 配置
ProcessUtilities配置
Shells 配置
SystemLoggingUtilities 配置
经过上面的配置后,会在/tmp/busybox-1.1.3生成.config配置文件。
执行makeTARGET_ARCH=armCROSS=arm-linux-;makeinstall命令后,在/tmp/busybox-1.1.3下会生成_install目录,里面包含lib,bin,sbin,usr四个子目录和一个linuxrc文件。
这些就是我需要的。
文件系统制
(一)
2010-03-0914:
01:
52|阅读评论(0)|浏览(30)
开发板上的bootloader使用U-Boot1.1.4,内核使Linux2.6.14,只有那个文件系统还是原来的的东东,别人的东西,自己想修改一下都不可以的,这让我很不爽。
我决定使用所谓的“瑞士军刀”Busybox自己制作文件系统。
在制作文件系统之前,有下面的工作要做。
1) 开发环境的搭建
交叉编译器我使用网上下载的arm-linux-gcc-3.4.1.tar.gz。
将它解压到/usr/local/arm目录下,为了让host系统启动后能自动识别arm-linux-gcc等文件,可以修改/etc/profile文件。
修改如下:
#Pathmanipulation
if ["$EUID"="0"];then
pathmunge /sbin
pathmunge /bin
pathmunge /usr/local/sbin
pathmunge /usr/local/arm/3.4.1/bin
fi
修改后,这样makefile等文件就可以自动/usr/local/arm/3.4.1/bin下找到arm-linu-gcc,arm-linux-ld等文件了。
2)NFS文件系统的建立
在开发阶段,使用NFS文件系统比较方便一些,为了NFS文件系统能正常工作,目标板上和宿主机(host主机)都要做相应的工作。
a)host主机配置
(1)配置host主机,让其能支持NFS服务,配置方法如下图示:
(2)在/etc/exports文件里面加入下面语句,指定NFS文件操作目录和权限。
/nfs *(rw,sync,no_root_squash)
Exports文件中一些选项的含义
Ro 该主机对该共享目录有只读权限
Rw 该主机对该共享目录有读写权限
Root_squash 客户机用root用户访问该共享文件夹时并将root用户映射成匿名用户
No_root_squash 客户机用root访问该共享文件夹时,不映射root用户
All_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
Anonuid 将客户机上的用户映射成指定的本地用户ID的用户
Anongid 将客户机上的用户映射成属于指定的本地用户组ID
Sync 资料同步写入到内存与硬盘中
Async 资料会先暂存于内存中,而非直接写入硬盘
Insecure 允许从这台机器过来的非授权访问
(3)在/etc/rc.local文件里面加入下面语句,让host系统启动后自动启动NFS服务。
/etc/rc.d/init.d/nfs start
b)目标机(开发板)
(1)重新配置开发板上的Linux2.6.14内核。
让CONFIG_IP_NPN,CONFIG_NFS_FS,CONFIG_NFS_V3,CONFIG_ROOT_NFS这些配置项修改为y,然后重新编译内核。
(2)修改U-Boot向内核传递的参数。
修改了U-Boot目录下的include/configs/smdk2410.h文件,将CONFIG_BOOTARGS="noinitrdroot=/dev/mtdblock/3init=/linuxrcconsole=ttySAC0"改为:
CONFIG_BOOTARGS="noinitrdroot=/dev/nfsnfsroot=192.168.0.10:
/nfsip=192.168.0.2:
192.168.0.10:
192.168.0.1:
255.255.255.0:
:
eth0:
offinit=/linuxrcconsole=ttySAC0115200",然后重新变异U-Boot 。
说明:
/nfs是NFS服务器开启的NFS文件目录
第一项(192.168.0.2)是目标板的临时IP(注意不要和局域网内其他IP冲突);
第二项(192.168.0.10)是开发主机的IP;
第三项(192.168.0.1)是目标板上网关(GW)的设置;
第四项(255.255.255.0)是子网掩码;
第五项是开发主机的名字(一般无关紧要,可随便填写)
eth0是网卡设备的名称。
做完这两项工作后,就可以进行下面的Busybox的移植工作了。
Continuingisdifficult
2010-03-0913:
22:
30|阅读评论(0)|浏览(17)
当初那满腔的热情,为嵌入式开发奋斗终身的伟大意念并没有持续多久,这种热情劲,就像我学习英语,背完新概念英语第二册的第一课,就再也不能坚持背第二课一样。
我硬是让我那块开发板在我的书房里休息了两年。
两年后,猛然间发现书房一角还沉睡着那块S3c2410的开发板,我心为之一怔,我得在你上面做点什么。
刚好我当时正在使用条码识别设备开发一个条码管理的程序,如是乎,我在想,我何不在那块开发板上开发一套条码管理系统程序?
好主意,敢想就敢干,男人也。
经过差不多4个月的努力,我的这个系统终于完成了,虽然不够完善,但也能正常工作,我沾沾自喜了好几天。
我是一个记性不好的人,而且现在为了每天混个温饱,还要到处打拼,终日为生机忙碌,说不定那天晚上加个班之后,我的这些东西都会忘得干干净净。
我得把他们记录下来,以后让我儿子也来这看看,嘿嘿。
决定分下面四个方面去记录:
1)文件系统制作篇
2)MiniGui移植篇
3)TSlib移植篇
4)Sqlite移植篇
两年前朋友给我一块远峰的S3c2410得开发板,如是我决定在这快开发板上做点什么,刚好我对嵌入式Linux有极大的兴趣。
开发板上运行的是Linux2.4的内核,bootloader是远峰将vivi重新修改后烧写到开发板上的,还不提供源码,文件系统是什么cramfs.我拿了这个开饭板后,把bootloader,2.4的kernel,还有文件系统的image烧了又擦,擦了又烧,参照别人的例子,写了个LED驱动,按键中断驱动外,几乎没做什么工作。
周围的同事都在玩Linux2.6的核,而且Linx2.6在市场上为主导地位已经是一种趋势,我决定在这块开发板上玩玩Linux2.6的内核。
在别人的基础上,移植了一个U-Boot1.1.4在这个开发板上,取代了原来的vivi.当我用自己移植的U-boot1.1.4成功引导kernel2.4的时候,我兴奋了好一阵。
在这个基础之上,我又用自己移植的U-Boot1.1.4引导起来了Linux2.6.14的内核。
当我能够用U-Boot1.1.4引导Linux2.6.14的内核,使用NFS文件系统代替原来烧写到开发板上的cramfs文件系统的时候,我认为我的嵌入式Linux开发平台已经搭建起来了,我可以在上面reachinganddoing....
设置busybox,makemenuconfig。
①BusyboxSettings(busybox设置组)
BusyboxSettings--->
GeneralConfiguration--->
BuildOptions--->
BuildBusyBoxasastaticbinary(nosharedlibs)
[]Buildsharedlibbusybox
DebuggingOptions--->
InstallationOptions--->
Don’tuse/usr
Appletslinks(assoft-links)--->
(./_install)BusyBoxinstallationprefix
BusyboxLibraryTuning--->
代表必选项:
BuildBusyBoxasastaticbinary(nosharedlibs)表示应用静态库,
在嵌入式工作时一般最佳选择,他不应用动态库,能节省空间,在创建的ramdisk
的lib目录中能加入动态库支持;
[]Buildsharedlibbusybox表示应用动态库,这样会耗费空间。
Don’tuse/usr这个选项也一定要选,否则makeinstall后busybox将安装
在原系统的/usr下,这将覆盖掉系统原有的命令.选择这个选项后,makeinstall
后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向他的链接.
②---Applets(命令设置组)
ArchivalUtilities--->文件选项例如:
压缩文件tar、gzip等命令;
Coreutils--->常用命令选项一般/bin下的命令的选择点;
Allowuseofcolortoidentifyfiletypes
Producecoloredlsoutputbydefault
这两个可选,在控制台将会根据文件的类型有颜色区分和提示;
ConsoleUtilities--->控制台选项例如:
清屏命令clear等;
DebianUtilities--->Debian命令选项组;
Editors--->文件编辑选项组,例如:
vi编辑器;
FindingUtilities--->查找选项组;
InitUtilities--->系统初始化选项;
Login/PasswordManagementUtilities--->登录管理;
LinuxExt2FSProgs--->Ext2文件系统选项例如:
longin、passwd;
LinuxModuleUtilities--->模块选项,例如:
lsmod、insmod;
LinuxSystemUtilities--->系统选项,例如:
mount、dmesg;
MiscellaneousUtilities--->其他命令选项;
NetworkingUtilities--->网络功能选项,例如:
ifconfig;
ProcessUtilities--->进程选项;
Shells--->Shell选项;
Chooseyourdefaultshell(msh)--->选择默认的shell
()ash
()hush
(X)msh
()none
SystemLoggingUtilities--->系统日志选项;
RunitUtilities--->即刻运行选项;
ipsvdutilities--->ip服务进程;
③保存和载入设置文件选项组
LoadanAlternateConfigurationFile
SaveConfigurationtoanAlternateFile
(11)小结
根据需求不同则设置busybox的情况不同,所以系统所需选择的设备文件、命令文件也不同。
/bin:
linux必需命令目录;
/sbin:
系统常用命令目录;
/dev:
设备文件目录;
/etc:
系统启动和运行所需文件目录;
/proc:
proc文件系统mount目录;
/mnt:
用户mount目录;
/lib:
库文件存放处;
/usr:
其他工具和用户程式的存放处。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 下载 busybox 配置
![提示](https://static.bdocx.com/images/bang_tan.gif)