나는 같은 문제를 겪고 다른 시스템 (현재 데비안, 우분투)에서 고통없이 작동하도록 이것을 작성 했습니다.
make_chroot_initrd
스크립트를 실행 하여 기존 이미지에서 새로운 chroot 가능 initrd 이미지를 만듭니다.
# ./make_chroot_initrd /chroot/trusty/boot/initrd.img-3.13.0-32-generic
making new initrd: /chroot/trusty/boot/initrd.img-3.13.0-32-generic.chroot
새 이미지는 chroot=
부팅 매개 변수를 처리 할 수 있다는 점을 제외하면 정확히 동일 합니다.
부트 로더로 GRUB2하면 항목을 추가 할 수 있습니다 /boot/grub/grub.cfg
:
(아마도 더 나은 또는 /etc/grub.d/40_custom
)
menuentry "ubuntu trusty, (linux 3.13.0-32) (chroot)" {
insmod ext2 # or whatever you're using ...
set root='(hd0,7)' # partition containing the chroot
set chroot='/chroot/trusty' # chroot path
linux $chroot/boot/vmlinuz-3.13.0-32-generic root=/dev/sda7 chroot=$chroot rw
initrd $chroot/boot/initrd.img-3.13.0-32-generic.chroot
}
(당신과 일치하도록 파일 / 파티션을 변경하십시오)
시스템 전체 설치
만족하면 변경 사항을 영구적으로 만들 수 있습니다
(initramfs-tools 패키지가 업그레이드 될 때까지).
chroot 된 시스템에서 :
# cd /usr/share/initramfs-tools
# cp -pdrv . ../initramfs-tools.orig # backup
# patch -p1 < path_to/boot_chroot/initrd.patch
# rm *.orig */*.orig
# update-initramfs -u
이제부터 일반 initrd 이미지는 chroot 부팅을 지원합니다.
별도의 initrd.chroot를 사용할 필요가 없으므로 동기화되지 않을 수 있습니다.
자세한 내용은 boot_chroot 를 참조하십시오.
vmlinuz root=/dev/sda1/chroot
작동하지 않습니다. 아마에 사용 된 것과 비슷한 방법으로 이것을 시뮬레이션 할 수있을 것입니다initrd
. 예를 들어 여기를 참조 하십시오 . 당신은 마운트/new_root
가 설명 된 바와 같이, 다음 대신cd /new_root
할cd /new_root/chroot
계속.