커널 소스 코드에서 최소한의 부팅 가능한 Linux(터미널만 포함)를 만드는 방법은 무엇입니까? [복사]

커널 소스 코드에서 최소한의 부팅 가능한 Linux(터미널만 포함)를 만드는 방법은 무엇입니까? [복사]

터미널 인터페이스와 기본 명령/응용 프로그램만 있는 매우 작은 Linux 운영 체제를 만들고 싶습니다(busybox는 제가 선택한 명령/응용 프로그램입니다). 내 운영 체제에서 설치 옵션을 사용하고 싶지 않습니다. RAM에서 완전히 부팅하고 실행하기를 원합니다. ISO-Linux를 부트로더로 사용할 계획입니다. 네트워킹 없음, 가상화 지원 없음, 불필요한 드라이버 없음 등 저는 그것이 매우 기본적인 운영 체제가 되기를 바랍니다. kernel.org에서 최신 안정 커널(v4.5) 소스 코드를 다운로드하고 빌드 환경을 준비했습니다.

제가 느끼는 또 다른 혼란은 기본적으로 커널에 명령을 입력하고 출력을 볼 수 있는 사용자 인터페이스(셸, 터미널...)가 있다는 것입니다.

답변1

기술적으로는 이를 달성할 수 있습니다. 그러나 커널에는 내장된 사용자 인터페이스가 없습니다.

다음 단계를 따라야 합니다.

1. Create a initramfs with static busybox and nothing else.
This initramfs will have few necessary directories: like proc, sys, tmp, bin, usr, etc

2. Write a "/init" script, whose main job will be:
   a. mount the procfs,tmpfs and sysfs.
   b. Call busybox's udev i.e. mdev
   c. Install the busybox command onto virtual system by executing busybox install -s
   d. Calling /bin/sh

3. Source the initramfs directory while compiling the kernel. You can do so by flag: CONFIG_INITRAMFS_SOURCE

4. Compile your kernel.

5. Boot off this kernel and you will get the shell prompt with minimal things.

그러나 나는 위의 메모를 매우 형식적인 방식으로 썼습니다. 원하는 대로 미세 조정이 가능합니다.

고쳐 쓰다:

따르다이 링크몇 가지 지침.

답변2

커널 구축에 대한 지식이 거의 없다면 최소 분포를 살펴보는 것이 좋습니다.핵심 운영체제. 기타(저는 직접 사용하지 않았습니다)로는 Project Atomic, Snappy Ubuntu Core, RancherOS, Photon 등이 있습니다.

RAM에서 실행해야 하는 경우 최소한의 복구 및/또는 LiveCD 배포판을 사용할 수 있습니다.임베디드 배포처음부터 배포판을 만드는 것보다 작업량이 적고 사용하기에 적합할 수 있습니다(그런데 그게 무슨 용도인가요?).

관련 정보