현재 시스템에서 Busybox를 사용하는 이유

현재 시스템에서 Busybox를 사용하는 이유

busybox는 원래 플로피 디스크 크기의 부팅 가능한 시스템용으로 개발되었으며 작은 메모리 공간을 염두에 두고 설계되었습니다. 현재는 라우터, 세탁기, 전자레인지 등 소형 시스템뿐만 아니라 고성능 NAS, 스마트폰, 데스크톱 리눅스 배포판 등의 구조 시스템에도 사용되고 있다. (후자의 경우 부트로더 이미지에 맞는지 확인하기 위한 것일 수도 있습니다.)

그러나 단일 바이너리로서 단일 실패 지점도 나타납니다.

그러한 시스템에서는 busybox 대신 표준 사용자 공간을 사용하지 않는 이유는 무엇입니까?

답변1

그러나 단일 바이너리로서 단일 실패 지점도 나타납니다.

표준 사용자 토지에도 이러한 것들이 엄청나게 많이 있습니다. libc가 깨졌나요? 종속성이 누락되었나요? 정말 끔찍해요.

그러한 시스템에서는 busybox 대신 표준 사용자 공간을 사용하지 않는 이유는 무엇입니까?

비지박스(및 장난감 상자와 같은 대안)의 장점은 작고 단순하며 작업에 적합하다는 것입니다. 작동하는데 왜 다른 것을 사용합니까?

또한 단순화를 위해 initramfs의 일부로 모든 데스크톱 컴퓨터에서 사용할 수도 있습니다. 실제 사용자 공간을 복제할 수는 있지만 커널/initramfs 크기가 불균형하게 됩니다. initramfs가 클수록 로딩 시간이 길어지고 부팅 프로세스가 느려집니다.

또한 Linux 배포판의 경우처럼 다양한 구성 요소를 적합하게 만들고 함께 작동하며 각 구성 요소의 버그를 추적하는 대신 펌웨어 공급업체가 개별 프로젝트를 추적하는 것이 더 쉽습니다.

ar물론 비지박스에도 한계가 있다. 예를 들어 비지박스 환경에서는 단순히 일부 기능이 빠져 있기 때문에( 예를 들어 커널이 사용하려는 일부 옵션이 빠져 있기 때문에) 리눅스 커널을 컴파일하기 어렵다 . 그러나 initramfs나 스마트폰의 경우 이러한 제한은 중요하지 않습니다.

답변2

데비안 패키징을 담당하고 있는 Chris Boot가 busybox데비안에서 사용하는 방법을 설명합니다.:

주로 두 곳에서 사용됩니다.

  • 이는 데비안 설치 프로그램 램디스크와 함께 번들로 제공되며 DI용 쉘, 부트로더 역할을 하며 해당 애플릿은 설치 프로그램 환경에서 대부분의 기능을 제공합니다.

  • 기본 initramfs 어셈블리 시스템인 initramfs-tools는 busybox를 initramfs에 통합하고 루트 파일 시스템(별도인 경우 /usr)이 마운트되고ivot_rooted될 때까지 이를 사용합니다. 우리는 또한 initramfs에서 klibc의 일부를 사용하지만 initramfs의 어떤 도구가 klibc 도구, busybox 애플릿 또는 실행 중인 시스템에서 복사된 실행 파일인지 완전히 명확하지 않습니다.

답변3

대부분의 경우 시스템 메모리가 제한되어 있기 때문입니다(생산 비용 절감을 위해). busybox는 공간을 덜 차지하지만 원래 사용자 영역의 기능을 대부분 가지고 있습니다.

관련 정보