mmu-less 커널을 컴파일해 보고 싶습니다. 구성에서 찾은 내용에 따르면 그러한 옵션이 없습니다. 가능합니까?
답변1
x86을 포함한 대부분의 프로세서 아키텍처에서 MMU 지원 없이 Linux 커널을 컴파일할 수 있습니다. 그러나 이는 자신이 무엇을 하고 있는지 아는 사용자에게만 제공되는 드문 구성이므로 MMU가 없는 일부 임베디드 장치 아키텍처에서 상대적으로 일반적이지 않는 한 이 옵션은 표시되는 메뉴에 포함되지 않습니다 make menuconfig
. 로 변경하려면 파일을 명시적으로 편집 make xconfig
해야 합니다 . 또는 아키텍처에 해당하는 파일을 편집하고 로 시작하는 섹션을 바꿔 메뉴에 옵션이 표시되도록 할 수 있습니다..config
CONFIG_MMU=y
CONFIG_MMU=n
arch/*/Kconfig
CONFIG MMU
config MMU
bool "MMU support"
default y
---help---
Say yes. If you say no, most programs won't run.
이 옵션을 메뉴에 표시하더라도 결과 구성을 조정하여 내부적으로 일관성을 유지해야 할 수도 있습니다. MMU가 없는 x86 시스템은 매우 이례적입니다.
MMU 없는 시스템을 실험하는 가장 쉬운 방법은 하드웨어 공급업체나 에뮬레이터에서 제공하는 Linux 커널 구성을 사용하여 에뮬레이터에서 실제 MMU 없는 시스템을 실행하는 것입니다.
아직 명확하지 않은 경우 일반 Linux 시스템에는 MMU가 필요합니다. Linux 커널은 MMU 없이 시스템용으로 컴파일될 수 있지만 이로 인해 많은 프로그램이 실행되지 않는 제한이 발생합니다. 독서부터 시작하세요MMU 메모리 매핑 지원 없음. MMU 없이는 glibc를 사용할 수 없을 것 같습니다.μClibc일반적으로 대신 사용됩니다. 문서의 출처µClinux 프로젝트관련성이 있을 수도 있습니다(μClinux는 MMU 없는 Linux를 위한 원래 프로젝트이지만 MMU 없는 시스템에 대한 지원은 이제 기본 커널 트리에 통합되어 있으므로 μClinux를 사용할 필요가 없습니다).
답변2
ELKS(Embedded Linux Kernel Subset) 또는 Minix 버전 1을 살펴보세요.