मैं एक ही समस्या का सामना करते आए और समाप्त हो गया इस लेखन यह विभिन्न प्रणालियों के पार दर्द काम करने के लिए (Debian, ubuntu वर्तमान में):
make_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 पैकेज अपग्रेड नहीं हो जाता)।
चिरोषित प्रणाली में:
# 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
और जारी रखें।