Busybox 사용해보기

Busybox 사용해보기는 리눅스 사용자 공간을 가볍게 잡고 싶을 때 거의 기본처럼 쓰는 방법이다. BeagleBone 쪽에서 작은 루트파일시스템을 만들거나 부팅 테스트를 할 때 특히 잘 맞는다.

BusyBox는 여러 명령어를 하나의 실행 파일처럼 묶어둔 형태라서, 아주 최소한의 환경을 만들 때 편하다. 정식 리눅스 배포판처럼 무겁게 가는 대신, 필요한 것만 딱 넣는 느낌이다.

왜 쓰는가

BeagleBone 리눅스 빌드하기를 하다 보면 커널은 떴는데 사용자 공간이 없어서 막히는 경우가 있다. 이때 BusyBox로 기본 쉘과 도구를 준비하면 부팅 확인이 쉬워진다. 그래서 이 글은 단순 소개가 아니라, 실제로 뭘 먼저 넣어야 하는지 보는 글이다.

사용 순서

  1. 소스를 받는다.
  2. menuconfig로 필요한 옵션을 고른다.
  3. 설정한 뒤 build한다.
  4. install 단계에서 rootfs에 반영한다.
  5. 보드에서 쉘이 뜨는지 확인한다.

이 흐름은 BeagleBone 리눅스 빌드하기와 같이 봐야 한다. BusyBox만 따로 보면 의미가 반쪽이다.

실습할 때 보는 포인트

BusyBox는 개별 명령어 하나하나가 다 들어 있는 구조가 아니다. 그래서 실제로는 어떤 applet을 쓸 건지 먼저 생각해야 한다. 쉘, ls, mount, ifconfig 정도만 있어도 기본 부팅 테스트는 충분하다.

또 NFS를 붙일 계획이면 rootfs를 아주 작게 유지하는 편이 좋다. 그럴 때는 NFS 프로토콜 사용해보기도 같이 보면 연결이 된다.

주의할 점

BusyBox는 가볍지만, 가볍다는 이유로 설정을 대충 넘기면 나중에 막힌다. 특히 static build와 shared build 차이를 알아두는 게 좋다. 그리고 rootfs에 복사할 때는 실행 파일만 복사하는지, 심볼릭 링크까지 만들어졌는지도 확인해야 한다.

정리

Busybox 사용해보기는 작은 리눅스 환경을 만들 때 거의 필수다. 보드 부팅 확인용으로도 좋고, 나중에 buildroot로 넘어갈 때도 이해가 훨씬 빨라진다.

실행 체크

BusyBox는 작은 도구처럼 보이지만 실제로는 부팅 확인용으로 꽤 자주 쓴다. 쉘이 뜨고 기본 명령이 돌면 그다음부터는 보드가 살아 있다는 뜻이다. 그래서 BeagleBone 실습에서는 이 단계가 중요하다.

만약 여기서 막히면 rootfs 복사나 심볼릭 링크가 제대로 되었는지 먼저 보자. buildroot로 넘어갈 계획이라면 BusyBox 구조를 먼저 이해해 두는 게 나중에 편하다.

  • 쉘이 뜨는지 확인
  • 필요한 applet만 남기기
  • buildroot와 연결해서 보기

BusyBox는 명령어가 적어 보여도 기본 동작을 확인하기엔 충분하다. 쉘과 몇 개의 applet만 살아 있어도 보드가 어디까지 올라왔는지 감이 온다. 그래서 rootfs를 가볍게 시작하려는 사람한테 잘 맞는다.

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.