Angstrom을 실행하는 Atmel SAM9X 시스템이 있습니다. 복구 파티션을 만들려고 하므로 사용자가 부팅하는 동안 버튼을 누르면 복구 파티션이 부팅됩니다.
부트스트랩을 수정하여 부팅 시 버튼을 누르면 대체 Linux 커널이 로드됩니다. 내가 원하는 것은 일반 주 파티션이 아닌 복구 부팅 파티션에서 Linux를 로드하는 대체 커널입니다.
이것이 가능합니까? 아니면 두 개의 커널을 사용하지 않고 복구 파티션을 로드할 수 있습니까?
내가 원하는 이유는 기본 부팅 가능한 파티션이 손상되면 복구 파티션이 기본 파티션(복구 파티션이 있는 Dell 또는 HP Windows 시스템과 유사)에 자체적으로 복사되고 기본 부팅 가능한 파티션이 복원되기 때문입니다.
편집하다:
Giles의 제안이 그랬습니다. 부트스트랩은 커널 명령줄 인수를 설정하고 있었으며 방금 root=/dev/mmcblk0p3
여기에 (3번째 SD 파티션에서 부팅)을 추가했고 원하는 파티션에서 부팅되었습니다!
답변1
커널에는 컴파일 시 결정되는 기본 루트 파티션 설정이 포함되어 있습니다(명령을 사용하여 바이너리 이미지에서 변경할 수 있음 rdev
). 부팅 시 이 기본값을 재정의하기 위해 커널 명령줄에 인수를 전달할 수 있습니다(예: root=/dev/mmcblk9p42
기본값 대신 MMC 장치 9 파티션 42에서 부팅). 명령줄은 부트로더에 의해 커널로 전달되므로 부트로더 구성을 변경해야 합니다.
initrd 또는 initramfs가 있는 경우 부트로더에서 컴파일되었거나 전달된 루트 파티션을 재정의할 수 있습니다.