busybox使用

来源:互联网 发布:威少刷数据集锦 编辑:程序博客网 时间:2024/05/16 10:07

1.busybox介绍

busybox是什么?

     (1)busybox是Linux上的一个应用程序(application),即只有一个ELF文件头。

     (2)它整合了许多Linux上常用的工具和命令(utilities), 如rm, ls, gzip, tftp等。对于这些工具和命令,busybox中的实现可能不是最全的,但却是最常用的,因此它的特点就是短小精悍,特别适合对尺寸很敏感的嵌入式系统。

     (3)busybox的官方网站是 http://www.busybox.net/downloads/

2.编译

     (1) make menuconfig

                 选择交叉编译工具

                 选择静态编译

     (2)make

     (3) make install

BusyBox中并没有尖括号(< >)的选项,也不会被编译成模块

将所有配置进行了分类,可以很方便地根据项目的需要进行裁减。 

  1. Busybox Settings --->        //BusyBox的通用配置,一般采用默认值即可。   
  2.     ---Applets  
  3. Archival Utilities --->      //压缩、解压缩相关工具。   
  4. Coreutils --->           //最基本的命令,如cat、cp、ls等。   
  5. Console Utilities --->       //控制台相关命令。   
  6. Debian Utilities --->        //Debian操作���统相关命令。   
  7. Editors --->         //编辑工具,如vi、awk、sed等。   
  8. Finding Utilities --->       //查找工具,如find、grep、xargs。   
  9. Init Utilities --->      //BusyBox init相关命令。   
  10. Login/Password Management Utilities --->   //登陆、用户账号/密码等方面的命令。   
  11. Linux Ext2 FS Progs ---> //ext2文件系统的一些工具。   
  12. Linux Module Utilities --->  //加载/卸载模块等相关的命令。   
  13. Linux System Utilities --->  //一些系统命令。   
  14. Miscellaneous Utilities ---> //一些不好分类的命令,如crond、crontab。   
  15. Networking Utilities --->    //网络相关的命令和工具。   
  16. Print Utilities --->     //print spool服务及相关工具。   
  17. Mail Utilities --->      //mail相关命令。   
  18. Process Utilities --->       //进程相关命令,如ps、kill等。   
  19. Runit Utilities --->     //runit程序。   
  20. Shells --->              //shell程序。   
  21. System Logging Utilities --->    //系统日志相关工具,如syslogd、klogd。


3安装busybox_env.sh脚本

echo "install busybox"

mkdir -p /usr/sbin /usr/bin /bin
#/mnt/extsd/tools/busybox --install
cp /mnt/extsd/tools/busybox /
./busybox --install
rm /busybox
export PATH=$PATH:/usr/sbin:/usr/bin:/bin

echo "OK, u can use busybox now"

4. busybox 格式化与分区

(1)  umount /mnt/extsd
     umount /mnt/tmpsd
(2)  busybox fdisk  /dev/block/mmcblk0
d


1


d


n
p
2


+2048M


n
p
1




t
1
b
t
2
b
w


(3) busybox mkfs.vfat /dev/block/mmcblk0p1
busybox mkfs.vfat /dev/block/mmcblk0p2

mount -t vfat  /dev/block/mmcblk0p1   /mnt/extsd
mount -t vfat  /dev/block/mmcblk0p2   /mnt/tmpsd


5.int StorageMonitor::formatSDcard() {
int ret = 0;
if (mInserted == false) {

return -1;

}
if (mConnectFD < 0) {
return mConnectFD; 
}
ALOGD("formatSDcard start,mMounted=%d",mMounted);

mFormated = true;
if (mMounted == true) {
ret = write(mConnectFD, CMD_UNMOUNT, sizeof(CMD_UNMOUNT));
if (ret < 0) {
return ret;
}
system("umount /mnt/tmpsd");

} else {
mFormating = true;

system("busybox fdisk /dev/block/mmcblk0<system/etc/aw_fdisk_conf.rc"); 

ret = write(mConnectFD, CMD_FORMAT, sizeof(CMD_FORMAT));
system("busybox mkfs.vfat /dev/block/mmcblk0p2");
system("mount -t vfat  /dev/block/mmcblk0p2   /mnt/tmpsd");

if (ret < 0) {
return ret;
}
}
return 0;
}

0 0