임베디드 Linux에서 복구 파티션 만들기

임베디드 Linux에서 복구 파티션 만들기

Angstrom을 실행하는 Atmel SAM9X 시스템이 있습니다. 복구 파티션을 만들려고 하므로 사용자가 부팅하는 동안 버튼을 누르면 복구 파티션이 부팅됩니다.

부트스트랩을 수정하여 부팅 시 버튼을 누르면 대체 Linux 커널이 로드됩니다. 내가 원하는 것은 일반 주 파티션이 아닌 복구 부팅 파티션에서 Linux를 로드하는 대체 커널입니다.

이것이 가능합니까? 아니면 두 개의 커널을 사용하지 않고 복구 파티션을 로드할 수 있습니까?

내가 원하는 이유는 기본 부팅 가능한 파티션이 손상되면 복구 파티션이 기본 파티션(복구 파티션이 있는 Dell 또는 HP Windows 시스템과 유사)에 자체적으로 복사되고 기본 부팅 가능한 파티션이 복원되기 때문입니다.

편집하다:
Giles의 제안이 그랬습니다. 부트스트랩은 커널 명령줄 인수를 설정하고 있었으며 방금 root=/dev/mmcblk0p3여기에 (3번째 SD 파티션에서 부팅)을 추가했고 원하는 파티션에서 부팅되었습니다!

답변1

커널에는 컴파일 시 결정되는 기본 루트 파티션 설정이 포함되어 있습니다(명령을 사용하여 바이너리 이미지에서 변경할 수 있음 rdev). 부팅 시 이 기본값을 재정의하기 위해 커널 명령줄에 인수를 전달할 수 있습니다(예: root=/dev/mmcblk9p42기본값 대신 MMC 장치 9 파티션 42에서 부팅). 명령줄은 부트로더에 의해 커널로 전달되므로 부트로더 구성을 변경해야 합니다.

initrd 또는 initramfs가 있는 경우 부트로더에서 컴파일되었거나 전달된 루트 파티션을 재정의할 수 있습니다.

관련 정보