下载busybox配置.docx

上传人:b****7 文档编号:16774577 上传时间:2023-07-17 格式:DOCX 页数:17 大小:311.48KB
下载 相关 举报
下载busybox配置.docx_第1页
第1页 / 共17页
下载busybox配置.docx_第2页
第2页 / 共17页
下载busybox配置.docx_第3页
第3页 / 共17页
下载busybox配置.docx_第4页
第4页 / 共17页
下载busybox配置.docx_第5页
第5页 / 共17页
下载busybox配置.docx_第6页
第6页 / 共17页
下载busybox配置.docx_第7页
第7页 / 共17页
下载busybox配置.docx_第8页
第8页 / 共17页
下载busybox配置.docx_第9页
第9页 / 共17页
下载busybox配置.docx_第10页
第10页 / 共17页
下载busybox配置.docx_第11页
第11页 / 共17页
下载busybox配置.docx_第12页
第12页 / 共17页
下载busybox配置.docx_第13页
第13页 / 共17页
下载busybox配置.docx_第14页
第14页 / 共17页
下载busybox配置.docx_第15页
第15页 / 共17页
下载busybox配置.docx_第16页
第16页 / 共17页
下载busybox配置.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

下载busybox配置.docx

《下载busybox配置.docx》由会员分享,可在线阅读,更多相关《下载busybox配置.docx(17页珍藏版)》请在冰点文库上搜索。

下载busybox配置.docx

下载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:

其他工具和用户程式的存放处。

     

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2