강좌 & 팁
오늘은 임베디드 시스템에서 작은 용량의 램디스크에 많이 쓰이는 Busybox를 크로스 컴파일하는 방법을 소개합니다.
http://www.busybox.net/downloads/
cd busybox-1.23.1/
먼저 커널처럼 menuconfig를 통해 기본 옵션을 지정합니다.
$ make ARCH=arm arm=ARM CROSS_COMPILE=arm-none-linux-gnueabi- clean
클린 후에 아래 처럼 본격적으로 빌드를 시작합니다.
$ make ARCH=arm arm=ARM CROSS_COMPILE=arm-none-linux-gnueabi-
빌드가 끝나면 아래와 같이 설치하시면 됩니다.
$ make ARCH=arm arm=ARM CROSS_COMPILE=arm-none-linux-gnueabi- install
설치가 끝나면 같은 디렉토리에 _install이라는 디렉토리가 있는데 여기에 생긴 파일들을 복사해서
램디스크를 만들 때 함께 패키지를 만들면 작은 용량으로 필요한 리눅스 유틸리티는 모두 사용가능합니다.
busybox-1.23.1$ cd _install/
_install$ ls
bin linuxrc sbin usr
_install$ cd bin/
bin$ ls
ash df gzip makemime pipe_progress sleep
base64 dmesg hostname mkdir printenv stat
busybox dnsdomainname hush mknod ps stty
cat dumpkmap ionice mktemp pwd su
catv echo iostat more reformime sync
chattr ed ipcalc mount rev tar
chgrp egrep kbd_mode mountpoint rm touch
chmod false kill mpstat rmdir true
chown fatattr linux32 mt rpm umount
conspy fdflush linux64 mv run-parts uname
cp fgrep ln netstat scriptreplay usleep
cpio fsync login nice sed vi
cttyhack getopt ls pidof setarch watch
date grep lsattr ping setserial zcat
dd gunzip lzop ping6 sh