초기 램디스크가 내장되어 있나요 bzImage
? 램디스크와 스위치를
어떻게 로드하나요 ?rootfs.cpio
root
답변1
부트 로더(예: lilo 또는 GRUB)는 cpio initramfs(커널에 blob으로 포함되지 않은 경우) 또는 initramd를 로드하고 부팅 시 이를 커널에 전달합니다.
initrd
일반적으로 부트로더 구성 파일의 지시문을 사용하여 지정됩니다.
root=/dev/ram0
initrd를 사용하는 경우 일반적으로 커널 명령줄에서 루트 파일 시스템 장치를 지정합니다( append
예: lilo 지시어 사용).
initramfs/initrd의 압축을 풀고/마운트한 후 커널이 실행됩니다 (있는 경우). 이는 일반적으로 실제 루트 파일 시스템을 마운트하고 (이전) 또는 (새)를 사용하여 해당 시스템으로 전환하는 /linuxrc
스크립트입니다 .pivot_root
switch_root
명령 init
줄 인수를 다른 실행 파일/스크립트로 설정하여 대신 실행할 수 있습니다 linuxrc
. init=/bin/sh
다음 부팅 시 커널에 전달해 보세요.
답변2
원본 램디스크는 bzImage
가능하더라도 전통적으로 에 내장되지 않았습니다. 대신 두 번째 파일에 저장되고 init
지시문을 사용하여 지정됩니다.
파일이 루트를 전환하는 데 사용하는 방법은 rootfs.cpio
파일을 생성한 항목에 따라 다르지만 일반적으로 pivot_root /new_root
또는 switch_root /new_root
새 루트로 전환하는 데 사용됩니다.