免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2606 | 回复: 2
打印 上一主题 下一主题

[求助]入门busybox [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-15 09:26 |只看该作者 |倒序浏览
本帖最后由 再也不回头 于 2010-03-15 09:33 编辑

今天入门busybox,在论坛上找了些文章,然后按照论坛上说的步骤一步一步的进行……
但是,为什么我执行  

#make defconfig

#make

make执行会有错误呢?

gcc版本3.2.2
arm-linux-gcc版本4.3.3

论坛徽章:
0
2 [报告]
发表于 2010-03-15 13:09 |只看该作者
先make menuconfig配置好 再make试试

论坛徽章:
0
3 [报告]
发表于 2010-03-15 18:06 |只看该作者
其实busybox主要是通过make menuconfig 配置好编译器和安装目录,别的没什么大的问题了。
下面是我以前的笔记,希望对你有用了。
tar xvfj busybox-1.1.3.tar.bz2
cd busybox-1.1.3
mkdir /arm/2440_root
make clean
make distclean
make menuconfig

-------------- build the file system (busybox) ------------
## choice  the link type: static link or dymanic link
(1). Build Options ---> Build BusyBox as a satic library.......
               
## configure the compiler prefix
(2). Build Options ---> Do you want to build .……
        /usr/local/arm/3.4.1/bin/arm-linux-
        这里编译busybox的编译起一定要注意,最好和编译内核的编译器,还有编译应用
程序的编译器最好是一个型号的,要不然会可能会出现问题的,关于这方面一个更好的解释
角度:现在我用的是arm-linux-gcc3.4.1 的版本,编译内核,busybox,编译应用程序的
用的都是这个版本的编译器,所以包含库是只需包含这个版本的clib库就可以了,可是如果你
用不同的版本的编译器的话,那意味着你要将不同的版本的编译起的clib库都给拷贝进来,这样
只会增大,

        编译器3.3.2和3.4.1的区别
        前者:
                不支持除法,如果要用除法需要另外的调用函数来完成
        后者:
                支持除法
        比如你的系统中 3.3.2和3.4.1都安装了,那么你arm-linux-gcc 是默认的使用的编译起是你在环境变量中声明的那个编译器,声明的方法修改
~/.bashrc添加
                PATH=/usr/local/arm/3.3.2/binPATH
                export PATH
                也可以修改/etc/profile
                并执行        . ~/.bashrc


                PATH=/usr/local/arm/3.3.2/binPATH
                export PATH
                其实上面的这中方法来声明变量也不是不可以,但是像上面的声明方法会导致的
                直接后果是:它会把/usr/local/arm/3.3.2/bin给加在PATH的最前边,这样有时候会
                出问题的,这当然不是我们想要的,下面这种方法,就能很有效的避免了,它能
                把这东西加到PATH的最后
              export PATH=${PATH}:/usr/local/arm/4.3.2/bin
                也可以修改/etc/profile
                并执行        . ~/.bashrc



## configure Installation floder
(3). Installoation Options --> busybox installation prefix
        /arm/2440_root/
## choice init process
(4). Init Uitilies ---> init
       
## choice the shell
(5). Shells ---> Choose ...... ---> ash
(6). 剩下的除了Linux Module Utilities  --->  [*]insmod -->>
        []Support version 2.2.x to 2.4.x Linux kernels这一项
        不要选之外,其他的可以任意选择,注意你要选了这项和另外的一项
         []Support version 2.6.x Linux kernels同时选的话,会
        出错的,不兼容
     别的可以任意选责
## build
(7). make

## install
(. make install
这样之后呢,你用busybox配置的文件系统就已经被放置到/arm/2440_root/目录下了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP