戻る

busybox .config 検討 その1

検討結果

追加 するもの

awk      /* # CONFIG_AWK is not set  追加             */
tr       /* # CONFIG_TR is not set  追加              */
mkswap   /* # CONFIG_MKSWAP is not set  追加          */

重複していたら 削除するもの

gzip  /* CONFIG_GZIP=y    除外対象                     */
zcat  /* 設定してあれば 除外 しかしながら 見つからない */

busybox .config part 01

調査の リスト

$ cd proj/buildroot/build_i386/busybox-1.00/
$ cp .config 20100426_01.config 
$ less .config
...  /*  順序 は 適当 です 確認の為   */
awk              # CONFIG_AWK is not set /* 追加  */
basename         CONFIG_BASENAME=      
cat              CONFIG_CAT=y
chgrp            CONFIG_CHGRP=y
chmod            CONFIG_CHMOD=y
chown            CONFIG_CHOWN=y
chroot           CONFIG_CHROOT=y  
clear            CONFIG_CLEAR=y
cp               CONFIG_CP=y
cut              CONFIG_CUT=y
date             CONFIG_DATE=y
dd               CONFIG_DD=y
df               CONFIG_DF=y
dirname          CONFIG_DIRNAME=y
dmesg            CONFIG_DMESG=y
du               CONFIG_DU=y
echo             CONFIG_ECHO=y
expr             CONFIG_EXPR=y
false            CONFIG_FALSE=y
fdformat         CONFIG_FDFORMAT=y
find             CONFIG_FIND=y
free             CONFIG_FREE=y
grep             CONFIG_GREP=y
head             CONFIG_HEAD=y
hostname         CONFIG_HOSTNAME=y
id               CONFIG_ID=y
kill             CONFIG_KILL=y
killall          CONFIG_KILLALL=y
ln               CONFIG_LN=y
logger           CONFIG_LOGGER=y
ls               CONFIG_LS=y
md5sum           CONFIG_MD5SUM=y
mkdir            CONFIG_MKDIR=y 
mknod            CONFIG_MKNOD=y  
more             CONFIG_MORE=y
mount            CONFIG_MOUNT=y
mt               CONFIG_MT=y
mv               CONFIG_MV=y
ping             CONFIG_PING=y
ps               CONFIG_PS=y
pwd              CONFIG_PWD=y
reset            CONFIG_RESET=y
rm               CONFIG_RM=y
rmdir            CONFIG_RMDIR=y  
route            CONFIG_ROUTE=y
sed              CONFIG_SED=y
sh               CONFIG_ASH=y
sleep            CONFIG_SLEEP=y
sort             CONFIG_SORT=y
swapoff          CONFIG_SWAPONOFF=y
sync             CONFIG_SYNC=y
tail             CONFIG_TAIL=y
tar              CONFIG_TAR=y
telnet           CONFIG_TELNET=y
test             CONFIG_TEST=y
touch            CONFIG_TOUCH=y
tr               # CONFIG_TR is not set /* 追加  */
true             CONFIG_TRUE=y
tty              CONFIG_TTY=y
udhcpc           CONFIG_UDHCPC=y
umount           CONFIG_UMOUNT=y
uname            CONFIG_UNAME=y
uniq             CONFIG_UNIQ=y
vi               CONFIG_VI=y
wc               CONFIG_WC=y
wget             CONFIG_WGET=y
which            CONFIG_WHICH=y
whoami           CONFIG_WHOAMI=y
xargs            CONFIG_XARGS=y
yes              CONFIG_YES=y
halt             CONFIG_HALT=y
ifconfig         CONFIG_IFCONFIG=y
init             CONFIG_INIT=y
insmod           CONFIG_INSMOD=y
klogd            CONFIG_KLOGD=y
lsmod            CONFIG_LSMOD=y
mkswap           # CONFIG_MKSWAP is not set /* 追加  */
modprobe         CONFIG_MODPROBE=y
poweroff         CONFIG_POWEROFF=y
reboot           CONFIG_REBOOT=y
rmmod            CONFIG_RMMOD=y
route            CONFIG_ROUTE=y
swapoff          CONFIG_SWAPONOFF=y
swapon           ------------------
syslogd          CONFIG_SYSLOGD=y
update           ?????? /* 現状不明   */ 

busybox .config part 02

調査の リスト

これらは busybox に 関係の無いもものと考えられます。しかしながら busybox と 重複しているのであれば 設定から 除外 する 必要があります。

[             test*    
# file qmt/bin/[     
qmt/bin/[: symbolic link to `test'

# file qmt/bin/test
qmt/bin/test: symbolic link to `busybox'

badblocks*     
# file qmt/sbin/badblocks 
qmt/sbin/badblocks: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped
                     
bash          sh*
# file qmt/bin/bash
qmt/bin/bash: symbolic link to `sh'

bdflush       update*
# file qmt/sbin/bdflush
qmt/sbin/bdflush: symbolic link to `update'

brc*                                
# file qmt/sbin/brc
qmt/sbin/brc: a /bin/sh script text executable

cardmgr* 
# file qmt/sbin/cardmgr
qmt/sbin/cardmgr: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

                           
cfdisk*
# file qmt/sbin/cfdisk 
qmt/sbin/cfdisk: a /bin/sh script text executable

                             
cfdisk.bin* 
# file qmt/sbin/cfdisk.bin 
qmt/sbin/cfdisk.bin: ELF 32-bit LSB executable, Intel 80386, version 1(SYSV), \
dynamically linked (uses shared libs), stripped

                        
comm*                               
# file qmt/bin/comm
qmt/bin/comm: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),\
dynamically linked (uses shared libs), stripped


compress      gzip*
# file qmt/bin/compress 
qmt/bin/compress: symbolic link to `gzip'

dialog*                             
# file qmt/bin/dialog
qmt/bin/dialog: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

egrep         grep*
# file qmt/bin/egrep    
qmt/bin/egrep: symbolic link to `grep'

fdisk*                              
# file qmt/sbin/fdisk
qmt/sbin/fdisk: a /bin/sh script text executable

fdisk.bin*                          
# file qmt/sbin/fdisk.bin 
qmt/sbin/fdisk.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

fgrep         grep*
# file qmt/bin/fgrep 
qmt/bin/fgrep: symbolic link to `grep'

filesize*                           
# file qmt/bin/filesize 
qmt/bin/filesize: a /bin/sh script text executable

gunzip        gzip*
# file qmt/bin/gunzip 
qmt/bin/gunzip: symbolic link to `gzip'

gzip*                               
# file qmt/bin/gzip 
qmt/bin/gzip: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),\
dynamically linked (uses shared libs), stripped

CONFIG_GZIP=y  /*  除外対象 */



ide_info*                           
# file qmt/sbin/ide_info 
qmt/sbin/ide_info: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

ifport*                             
# file qmt/sbin/ifport   
qmt/sbin/ifport: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

ifuser*                             
# file qmt/sbin/ifuser 
qmt/sbin/ifuser: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

ipmask*                             
# file qmt/bin/ipmask 
qmt/bin/ipmask: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

jfdisk        fdisk.bin*
# file qmt/sbin/jfdisk 
qmt/sbin/jfdisk: symbolic link to `fdisk.bin'

loadkeys*                           
# file qmt/bin/loadkeys   
qmt/bin/loadkeys: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

loadunimap*                         
# file qmt/sbin/loadunimap 
qmt/sbin/loadunimap: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

lspci*                              
# file qmt/sbin/lspci 
qmt/sbin/lspci: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

mcopy         /mnt/usr/bin/mtools
# file qmt/bin/mcopy  
qmt/bin/mcopy: broken symbolic link to `/mnt/usr/bin/mtools'

mkdosfs*                            
# file qmt/sbin/mkdosfs 
qmt/sbin/mkdosfs: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

mke2fs*
# file qmt/sbin/mke2fs  
qmt/sbin/mke2fs: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

mkreiserfs*                         
# file qmt/sbin/mkreiserfs 
qmt/sbin/mkreiserfs: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

mount         ../bin/mount*
# file qmt/sbin/mount 
qmt/sbin/mount: symbolic link to `../bin/mount'

network*                            
# file qmt/bin/network 
qmt/bin/network: a /bin/sh script text executable

paste*                              
# file qmt/bin/paste   
qmt/bin/paste: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

pcmcia*     /*   これは 今回は 除外するものです   */                        
# file qmt/bin/pcmcia
qmt/bin/pcmcia: Bourne shell script text executable

pcmcia.org*    /*   これは 今回は 除外するものです   */              
# file qmt/bin/pcmcia.org 
qmt/bin/pcmcia.org: a /bin/sh script text executable

probe*                              
# file qmt/sbin/probe      
qmt/sbin/probe: a /bin/sh script text executable

rdev*                               
# file qmt/sbin/rdev  
qmt/sbin/rdev: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),\
dynamically linked (uses shared libs), stripped


scsi_info*                          
# file qmt/sbin/scsi_info 
qmt/sbin/scsi_info: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), stripped

umount             ../bin/umount*
# file qmt/sbin/umount 
qmt/sbin/umount: symbolic link to `../bin/umount'

uniconctrl*                         
# file qmt/sbin/uniconctrl
qmt/sbin/uniconctrl: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), not stripped

unireset*                           
# file qmt/sbin/unireset  
qmt/sbin/unireset: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \
dynamically linked (uses shared libs), not stripped

zcat                      gzip*
# file qmt/bin/zcat 
qmt/bin/zcat: symbolic link to `gzip'

zcat               ../../bin/gzip*
# file qmt/bin/zcat 
qmt/bin/zcat: symbolic link to `gzip'

zgrep*                    
# file qmt/bin/zgrep 
qmt/bin/zgrep: a /bin/sh script text executable

もうひとつ こういうものが あります。

busybox

出力の結果

# chroot qmt/ sh


BusyBox v1.00-pre5 (2004.01.16-03:49+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
\h:\w\$ ./bin/busybox 
BusyBox v1.00-pre5 (2004.01.16-03:49+0000) multi-call binary

Usage: busybox [function] [arguments]...
   or: [function] [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use, and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:
        [, ash, awk, basename, busybox, cat, chgrp, chmod, chown, chroot,
        clear, cp, cut, date, dd, df, dirname, dmesg, du, echo, egrep,
        env, expr, false, fdformat, fgrep, find, free, grep, gunzip, gzip,
        halt, head, hostname, id, ifconfig, init, insmod, ipcalc, kill,
        killall, klogd, linuxrc, ln, logger, ls, lsmod, md5sum, mesg,
        mkdir, mknod, mkswap, modprobe, more, mount, mv, nslookup, ping,
        poweroff, ps, pwd, reboot, reset, rm, rmdir, route, sed, sh, sleep,
        sort, stty, swapoff, swapon, sync, syslogd, tail, tar, telnet,
        test, touch, tr, true, tty, udhcpc, umount, uname, uniq, uptime,
        vi, wc, wget, whoami, xargs, yes, zcat
\h:\w\$ exit

にゃんたろう 拝!

2010年 5月 2日 (日) 21:01:16 JST 作成


戻る

Copyright © 2006.-2010. nyantarou All Rights Reserved.