Toybox
올인원 리눅스 커맨드라인 도구
About
- 리눅스 명령어 세트를 하나의 실행 파일로 통합한 경량 멀티콜 바이너리 도구로, BusyBox의 대안으로 개발된 오픈소스 유틸리티
- 단일 실행 파일(toybox-x86_64)만 다운로드 후 실행하면, echo, cp, mv, cat 등 기본 명령어를 하나의 바이너리로 제공
- POSIX-2008과 LSB 4.1 표준에 부합하며, 빠른 실행 속도와 간결한 구조, 표준 준수성을 강조함
- 원래 프로젝트의 핵심 목표는 Android를 완전한 self-hosting 환경으로 만드는 것으로, AOSP를 Android 자체에서 빌드할 수 있도록 설계됨
- Google은 이 철학을 인정해 2015년 Android Marshmallow부터 Toybox를 AOSP에 통합하여 기본 탑재함
- BusyBox는 GPLv2 라이선스로 Android와 비호환이지만, ToyBox는 Android와 호환되는 BSD 라이선스로 재작성됨
- GNU 도구 의존성을 제거하고 더 투명하고 재현 가능한 빌드 환경 제공을 지향
- POSIX 명령어 세트, 컴파일러, C 표준 라이브러리, 커널
- 이 구성을 통해 재현 가능한 기반 시스템을 만들고, 이후에 에디터(vi), 모니터링(top), 셸 히스토리 등을 추가해 실사용 가능한 환경으로 확장 가능
- make root로 루트 파일시스템 생성 후 chroot 실행
- qemu와 크로스 컴파일러를 함께 사용하면 자체 부팅 가능한 미니 리눅스 환경 구성