메모리에 파티션을 생성하고 SD 카드의 내용을 해당 파티션에 복사한 다음 해당 메모리 파티션에서 운영 체제(Linux)를 부팅하도록 제안하는 몇 가지 답변을 보았습니다.
이와 같은 작업을 수행하려면 어떤 부트로더를 사용해야 합니까? 설정에 대한 문서는 어디서 찾을 수 있나요?
답변1
관련된 부트로더는 전혀 없습니다. 이 작업은 일반적으로 SD 카드에 있는 부트로더를 통해 SD 카드에서 메모리로 로드한 후 Linux 커널에 의해 수행됩니다.
메모리에서 "부팅"하는 현대적인 방법을 사용하려면 Linux 부팅 미디어를 감지하는 사용자 정의 initramfs 스크립트를 작성해야 합니다(부트로더는 부팅할 미디어를 확실히 감지할 수 있지만 일부는 유용한 정보를 제공하지 않기 때문입니다). 읽기 전용 모드는 파일 시스템을 "열고" tmpfs
향후 루트 파일 시스템을 위한 공간을 할당한 다음 미디어의 모든 내용을 여기에 복사한 다음 간단히 루트 디렉터리를 전환하고 /sbin/init
거기에서 실행합니다.
좋은 예를 찾을 수 있습니다여기- 복사할 미디어가 있는 위치를 감지하고 일반적으로 수동으로 initramfs 이미지를 생성해야 하는 스크립트입니다.이 스크립트몇 가지 주요 사항.
initramfs가 어떻게 작동하는지 모른다면 먼저 좋은 정보를 확인하고 읽어보세요.문서/파일 시스템/ramfs-rootfs-initramfs.txt또한처음부터 Linux - initramfs 정보, 그리고 구글 "linux initramfs".
답변2
grml2ram
부팅 시 전체 squashfs를 RAM에 복사하는 것을 지원 하고 쉽게 사용자 정의할 수 있는 GRML과 같은 라이브 배포판을 볼 수도 있고( 참고자료 참조 grml-live
) 시스템을 initramfs로 배치하고 로더가 로드되도록 할 수도 있습니다. 커널과 함께요.
덜 우아하게는 기본 initramfs를 고수하고 여기에 sdcard의 내용을 메모리에 로드한 다음 rootfs로 사용하는 스크립트를 추가할 수 있습니다.