Busybox는 하나의 바이너리 파일로 이뤄져 있고, configuration tool을 이용해서 내가 필요로 하는 명령어를 선택할 수 있다. 이 것을 사용하면 제한되어있는 임베디드 시스템의 리소스를 낭비하지 않을 수 있다.
busybox는 아래의 링크에서 다운받을 수 있다.
https://busybox.net/downloads/
tar파일을 압축해제 한다음 경로로 들어가서 기본 설정 파일을 생성한다
#기본 설정
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- defconfig
#메뉴로 설정하기
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
강의에서 이야기하는것처럼 static binary로 설정했다.(나중에 다이내믹으로 수정) static이면 파일 사이즈가 증가한다.
그리고 ROOT FILE SYSTEM을 생성할 디렉토리를 지정하고 빌드명령어를 사용한다.
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- CONFIG_PREFIX=<install_path> install
RFS 폴더가 생성되고 난 다음에는 이전에 빌드했던 리눅스 폴더로 가서 module을 생성 폴더에 install시킨다.
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=<path of the RFS> modules_install
실제로 빌드된 폴더에 가서 보면 맨 처음에 이야기 한 것처럼 busybox로 링크되어 있는 것을 확인할 수 있다.