2014-05-17 5 views
2

initramfs에서 스크립트의 일부로 루트 장치 노드를 수정하고 싶습니다. switch_root를 직접 실행하고 싶지는 않습니다. 특정 조건이 충족되면 루트 장치를 변경할 수있는 스크립트를 추가하고 싶습니다.initramfs 스크립트에서 루트 장치 수정/설정

$ root 변수를 읽거나 설정하는 것과 같은 다양한 옵션을 시도했지만 작동하지 않았습니다.

배경 문제는 특정 조건이 충족되는 경우에만 루트 장치를 암호화하려고한다는 것입니다. 이 경우 이전 루트 장치의 데이터를 새로운 암호화 장치로 복사하고 미리 구성된/dev/sda2 대신 새로운 암호화 된/dev/mapper/secret 장치로 루트를 전환하려고합니다.

답변

2

내 연구에 따르면, 커널에 주어진 루트 매개 변수는 initramfs 스크립트를 통해 변경할 수없는 것으로 보입니다.

는 enzo2 @https://unix.stackexchange.com/questions/65589/kernel-grub-how-override-root-parameter-inside-initrd-script

는 유일한 방법은 (내 경우에는 /boot/grub/menu.lst 파일)에 GRUB 설정 파일을 다시 작성하여이를 달성 할 수 있다는 답을 제공 참조하고 커널이 될 수 있도록 재부팅을 발급 다른 루트 장치로로드됩니다.