Max Kirillov (max630) wrote,
Max Kirillov
max630

HOWTO: boot full-blown debian from chroot

Странно, в гугле и документации initramfs-tools это не описано, может проглядел? Очевидная же потребность.


$cat /opt/store/debian-wheezy-20130121/usr/share/initramfs-tools/scripts/local-bottom/chroot
#!/bin/sh

chroot=
for x in $(cat /proc/cmdline); do
case "$x" in
chroot=*)
chroot=${x#chroot=}
;;
esac
done

if [ -n "$chroot" ]; then
mkdir /old_root
mount --move "$rootmnt" /old_root
mount --bind /old_root"$chroot" "$rootmnt"
# NB!!!: whole volume MUST be unmouted, otherwise it will be wiped (see man switch_root)
umount -l /old_root
fi
$sudo chroot /opt/store/debian-wheezy-20130121 dpkg-reconfigure initramfs-tools
$cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
.....

menuentry 'Wheezy-20130121' {
insmod ext2
insmod gzio
set root='(hd0,msdos6)'
linux /debian-wheezy-20130121/boot/vmlinuz-3.2.0-4-486 root=/dev/sda6 chroot=/debian-wheezy-20130121
initrd /debian-wheezy-20130121/boot/initrd.img-3.2.0-4-486
}
$sudo update-grub
$


Вообще вот эти фокусы с mount мне не нравятся, очень легко остаться без диска если то что написано в man switch_root правда. Но зато всё работает - модули грузятся, иксы запускаются, гном3 свистит и пердит и так далее.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment