(小寿制作)busybox-1.1.3制作根文件系统!

首先我使用的busybox是1.1.3版本!
因为这个版本有好多的有用的配置选项!
进入解压后的目录,配置Busybox
[arm@localhost busybox1.1.3]$make menuconfig
配置选项
然后:
#make TARGET_ARCH=arm CROSS=arm-linux-
#make install

如果你是使用的1.4以上的版本,交叉编译同编译内核一样,需要修改Makefile中的arch=arm     CROSS_COMPILE=arm-linux-
然后#make xconfig
#make
#make install
###############################################################
 Busybox Settings >
 General Configuration >
 [*] Support for devfs
 Build Options >
 [*] Build BusyBox as a static binary (no shared libs)
/* 将busybox编译为静态连接,少了启动时找动态库的麻烦 */
 [*] Do you want to build BusyBox with a Cross Compiler?
 (/usr/local/arm/3.4.1/bin/arm-linux-)
 Cross Compiler prefix
/* 指定交叉编译工具路径 */
 Init Utilities >
 [*] init
 [*] Support reading an inittab file
/* 支持init读取/etc/inittab配置文件,一定要选上 */
 Shells >
 Choose your default shell (ash) >
/* (X) ash 选中ash,这样生成的时候才会生成bin/sh文件
* 看看我们前头的linuxrc脚本的头一句:
* #!/bin/sh 是由bin/sh来解释执行的
*/
[*] ash
###################################################################################
另外,按照他的这种方法做出来的文件系统,运行的时候 shell 并不好有,没有历史记录、自动补全、删除字符的功能,下面介绍如何为它添加这些功能:
               Shells --->
---   Bourne Shell Options                                            
   [ ]   Hide message on interactive shell startup                    
   [ ]   Standalone shell                                             
   [*]   command line editing                                         
   [*]     vi-style line editing commands                            
      (15)    history size                                           
   [*]     history saving                                             
   [*]     tab completion                                             
   [*]       username completion                                     
   [ ]     Fancy shell prompts
###################################################################################
 Coreutils >
[*] cp
[*] cat
[*] ls
[*] mkdir
[*] echo (basic SuSv3 version taking no options)
[*] env
[*] mv
[*] pwd
[*] rm
[*] touch
Editors >
[*] vi
Linux System Utilities >
[*] mount
[*] umount
[*] Support loopback mounts
[*] Support for the old /etc/mtab file
Networking Utilities >
##########################################################
 Linux Module Utilities  ---> 
        
[*] insmod                  
       
[*] rmmod                                   
        
[*] lsmod                  
        
[*]   lsmod pretty output for 2.6.x Linux kernels                    
        
[*] modprobe                                            
       
[*]   Multiple options parsing              
                     ---   Options common to multiple modutils              
        
[*]   Support tainted module checking with new kernels            
       
[ ]   Support version 2.2.x to 2.4.x Linux kernels    //此项一定不要选!!!
       
[*]   Support version 2.6.x Linux kernels                                        
########################################################################

建立根文件系统结构

#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin tmp usr var
#chmod 1777 tmp
#mkdir usr/bin usr/lib usr/sbin
#mkdir var/lib var/lock var/log var/run var/tmp
#chmod 1777 var/tmp


准备链接库

#cd ${OBJ_LIB}/lib (${OBJ_LIB}是交叉编译环境的目录)
#for file in libc libcrypt libdl libm /
>libpthread libresolv libutil
>do
>cp $file-*.so /home/fortis/rootfs/lib
>cp -d $file.so.[*0-9] /home/fortis/rootfs/lib
>done
#cp -d ld*.so* /home/fortis/rootfs/lib

#######################################################################

如果不知道需要哪些共享库,可以在你写好自己的程序后使用#ld hello 命令来看看需要哪些共享库然后在复制到/lib目录下面!

#######################################################################

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值