Mailinglist Archive: opensuse (1620 mails)

< Previous Next >
Re: [opensuse] grub2 installation onto mdraid raid device
В Thu, 20 Nov 2014 11:22:46 +0100 (CET)
Istvan Gabor <suseuser04@xxxxxxxxxxx> пишет:

Andrei Borzenkov írta:
On Wed, Nov 19, 2014 at 4:29 PM, Istvan Gabor wrote:
Andrei Borzenkov írta:
В Wed, 12 Nov 2014 17:01:11 +0100 (CET)
Istvan Gabor пишет:

Istvan Gabor írta:

Here is what I would like to do:
<I have a system with two linux OSs, both are installed on mdraid
raid1. I would like to install grub2 on the root partitions/devices of
the given OSs, and a grub2 on MBR. The MBR grub2 would only chainload
the other grub2 on the root partition. Is this possible, how?

Looking at it second time - why would you want it? What are you trying to
achieve? At >the end grub-install does exactly the same - it installs
mini-bootloader in MBR that >chainloads full grub from Linux MD boot

Thanks. Here is what I would lie to achieve:

Previously, when I used lilo or grub 1/legacy I always installed the boot
loader for the >>given OS on the root device of the OS. I installed
another instance of the boot loader >>on MBR. This boot loader only
linked/loaded the other boot loader on the root device. I >>lie this
approach to make clear separations of different OSs. The mbr boot loader
only >>list major types of OSs I can select. Eg:

openSUSE 12.2
openSUSE 12.1
openSUSE 11.2
Windows XP
Windows 2000

This bootloader would need to store configuration somewhere.
Configuration can be either embedded or stored on disk. Embedding
makes it more difficult to change configuration in the future.

I don't know the embedding method. I stored my configuration files in a
separated directory on one of the OSs.

Where was configuration of your MBR bootloader kept in the past?

It was /boot/grub-chain on one of the linux OSs, and it had menu.lst etc.

Then that's easy.

1. Install grub2

grub2-install --boot-directory=/boot/chain /dev/sda
grub2-install --boot-directory=/boot/chain /dev/sdb

2. Create configuration with menu

For each installed OS:

- list of modules for partition access
grub2-probe -t partmap /boot/grub2/i386-pc/core.img
msdos msdos

- list of modules for Linux MD/LVM
grub2-probe -t abstraction /boot/grub2/i386-pc/core.img
diskfilter mdraid1x

- list of modules for filesystems (may be redundant, but still ...)
grub2-probe -t fs /boot/grub2/i386-pc/core.img

- filesystem UUID
grub2-probe -t fs_uuid /boot/grub2/i386-pc/core.img

- file name on /boot filesystem
grub2-mkrelpath /boot/grub2/i386-pc/core.img

cat << \EOF > /boot/chain/grub2/grub.cfg
menuentry "openSUSE 13.2 first incarnation" {
insmod part_msdos
insmod diskfilter
insmod mdraid1x
insmod ext2
search --no-floppy --set --fs-uuid cdae3bb7-7462-4b86-bc30-ff7e48f815d0
multiboot /grub2/i386-pc/core.img

Repeat for each OS. Sprinkle with gfxterm or cryptsetup if needed.

P.S. grub2-mkconfig does mostly the same :)

I would suggest having dedicated partition for first-stage bootloader
and its configuration that can then be edited using normal editor.

It's not clear for me what dedicated partitions means in this case. A
separate /boot partition for all OSs, or only for grub2 bootloader?

Only for grub bootloader. It makes sure you can reinstall your OS and
bootloader is not affected.

This partition can be on Linux MD. Is it acceptable?

Probably. I'd like to see how this would be. Do I have to repartition my
drives or is it enough to add a new partition (I have empty space for new

You do not really *need* new partition if you do not want. But yes,
adding new partition would be enough.
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse+owner@xxxxxxxxxxxx

< Previous Next >