Re: Ultimate Fedora partition scheme ?



On Thu, 18 Jun 2009 15:24:40 +0200
Valent Turkovic wrote:

Could you be persuaded to publish more details on these tricks on your
blog or here? ;)

Here's pretty much all the gory details:

I currently have the system setup like so:

/dev/sda1 - a fedora 10 "master" system 20GB partition with no
separate /boot, the /boot for this is just a directory inside
this root partition. Grub was installed for this one in the
MBR of the disk, and this is the normal default boot system.

/dev/sda2 - a swap area I share between all the different
linuxes (works well as long as you don't hibernate :-).

/dev/sda3 - the shared 60MB /boot partition. Every other linux
installed on this system is told to use this as /boot and
format it ext3 during the install and install grub on this
partition, NOT in the MBR.

In the master linux on /dev/sda1, I have one grub entry that
looks like this:

title Boot other linux
rootnoverify (hd0,2)
chainloader +1

So whatever copy of /boot happens to currently reside in
/dev/sda3 will determine which linux actually boots if I tell
grub to "Boot other linux".

By convention, I always use e2label to give the /boot
partition a unique disk label every time I install a new
linux, then my shell scripts can use e2label to check what is
currently installed and use the label name as the output file
name when doing a dd to save an existing /boot.

The dd commands are relatively simple, but grub is tricky.
When I want to boot a different linux (especially from
automated scripts while I'm not around to interact with grub),
I need to tell grub to boot the "other linux" entry next time
I say reboot.

That procedure is documented in great detail in the grub info
file, and the actual grub binary doesn't work anything like
the info file says it works :-(.

Here's my boot-other script to trick grub into booting entry #2
(instead of the normal defaul 0) the next time I reboot:

cat > /tmp/bo$$ <<'EOF'
savedefault --stage2=/boot/grub/stage2 --default=2 --once
quit
EOF
grub < /tmp/bo$$
rm -f /tmp/bo$$

That makes the fedora 10 grub boot my "other linux" entry on
the next reboot, but if the system is rebooted again (from the
other linux, or by power hit or whatever), it will come back
up the next time in my "master" system.

The other scripts aren't so tricky, they are just doing some
dd commands. Here's the save-boot script that saves the
current contents of /dev/sda3:

othername=`e2label /dev/sda3`
if [ -n "$othername" ]
then
dd if=/dev/sda3 of=/bootbox/"$othername" ibs=10240
else
echo Missing label for /dev/sda3 partition 1>&2
exit 2
fi

And the corresponding restore-boot script:

if [ $# -eq 1 ]
then
if [ -r /bootbox/"$1" ]
then
dd if=/bootbox/"$1" of=/dev/sda3 ibs=10240
else
echo No such image /bootbox/$1 1>&2
exit 2
fi
else
echo Missing partition label name to be restored 1>&2
exit 2
fi

And the master switch-linux script that puts all the bits
together:

if [ $# -eq 1 ]
then
newlinux="$1"
curlinux=`e2label /dev/sda3`
if [ -r /bootbox/"$newlinux" ]
then
if [ "$newlinux" != "$curlinux" ]
then
/usr/local/bin/save-boot
/usr/local/bin/restore-boot "$newlinux"
fi
/usr/local/bin/boot-other
reboot
else
echo $newlinux is not a saved linux I can boot 1>&2
exit 2
fi
else
echo Missing linux name argument 1>&2
exit 2
fi

--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines



Relevant Pages

  • Re: dual booting computer sheddies to the bridge
    ... I knocked up an old puter with two drives, ... The usual "duel boot" spelling is not entirely accidental. ... Kubuntu drive as master and Win drive as slave grub comes up but there`s ... If I put the winxp disk as master and the linux disk as slave, ...
    (uk.rec.sheds)
  • Re: [SLE] grub refuses to grub
    ... Note before I had Suse 9.0 with Grub and with Suse 9,2 it doesn't work ... > for Windows and 60 gig HD for Linux, a regular CDROM and a CDRW. ... > which distro I try to install and have install Grub, ... > where the actual boot sector is, and I gather, where the actual Grub ...
    (SuSE)
  • Re: Fedora / Windows Boot.
    ... If both hard drives were connected during the Linux installation it ... should have asked you if you wanted to use Grub as the boot loader. ... If Windows is on the primary hard drive it will show up ...
    (Fedora)
  • Re: How install GRUB into partition after Debian install?
    ... > Can Grub keep into the MBR and doesn't give a chance for XP take over ... usually I am setting up linux parts ... > be able to boot my Linux partition after windows reinstallation. ... > if Grub works like I would like to I could change the boot manager. ...
    (Debian-User)
  • Re: Fedora / Windows Boot.
    ... Re: Fedora / Windows Boot. ... If both hard drives were connected during the Linux installation it ... should have asked you if you wanted to use Grub as the boot loader. ...
    (Fedora)

Quantcast