You are not logged in.

#1 2008-04-07 05:08:47

Llama
Banned
From: St.-Petersburg, Russia
Registered: 2008-03-03
Posts: 1,379

Dual boot: Arch and another Linux (GRUB issue)

Hi, everybody,

I've got two SATA hard drives: sda and sdb. There is a Linux on sdb, and the GRUB in it's MBR. Here's /boot/grub/menu.lst (sdb):

timeout 10
color black/cyan yellow/cyan
gfxmenu (hd0,0)/usr/share/gfxboot/themes/pclinuxos/boot/message
default 0

title linux 2.6.22.15.tex2
kernel (hd0,0)/boot/vmlinuz-2.6.22.15.tex2 BOOT_IMAGE=2.6.22.15.tex2 root=/dev/sdb1 acpi=on resume=/dev/sdb2 splash=silent vga=788
initrd (hd0,0)/boot/initrd-2.6.22.15.tex2.img

title linux old kernel
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux root=/dev/sdb1 acpi=on resume=/dev/sdb2 splash=silent vga=788
initrd (hd0,0)/boot/initrd.img

title linux-nonfb
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux-nonfb root=/dev/sdb1 acpi=on resume=/dev/sdb2
initrd (hd0,0)/boot/initrd.img

title failsafe
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=failsafe root=/dev/sdb1 failsafe acpi=on resume=/dev/sdb2
initrd (hd0,0)/boot/initrd.img

title Arch Linux
root (hd1,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img
chainloader +1

#title FreeBSD
#rootnoverify (hd1,0,a)
#kernel /boot/loader
#chainloader +1
#title windows
#root (hd1,0)
#makeactive
#chainloader +1

The Arch entry won't work: GRUB Error 13: - something wrong with the kernel image...

I tried to install the Arch's own GRUB into the sda MBR; now Arch is booting successfully from it's own GRUB - provided the sda is first in the BIOS boot order. Now I have to change the BIOS boot order depending on what system I want to boot, which is less then a satisfactory arrangement smile .

/boot/grub/menu.lst (sda, Arch's own):

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS 
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/hda        (hd0)
#  /dev/hdb2       (hd1,1)
#  /dev/hda3       (hd0,2)
#

#  FRAMEBUFFER RESOLUTION SETTINGS
#     +-------------------------------------------------+
#          | 640x480    800x600    1024x768   1280x1024
#      ----+--------------------------------------------
#      256 | 0x301=769  0x303=771  0x305=773   0x307=775
#      32K | 0x310=784  0x313=787  0x316=790   0x319=793
#      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
#      16M | 0x312=786  0x315=789  0x318=792   0x31B=795
#     +-------------------------------------------------+

# general configuration:
timeout   5
default   0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux
title  Arch Linux
root   (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26-fallback.img

# (1) Windows
#title Windows
#rootnoverify (hd0,0)
#makeactive
#chainloader +1

I'd be happy to boot into Arch from sdb; what am I to change in the /boot/grub/menu.lst (sdb)?

Offline

#2 2008-04-07 07:41:25

dyscoria
Member
Registered: 2008-01-10
Posts: 1,007

Re: Dual boot: Arch and another Linux (GRUB issue)

If you've got a second GRUB installed on (hd1,4) you don't need to specify kernel or initrd when chainloading:

title Arch Linux
rootnoverify (hd1,4)
chainloader +1

That should do the trick.

Last edited by dyscoria (2008-04-07 09:11:26)


flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)

Offline

#3 2008-04-07 08:54:30

Llama
Banned
From: St.-Petersburg, Russia
Registered: 2008-03-03
Posts: 1,379

Re: Dual boot: Arch and another Linux (GRUB issue)

Tried your way. Nothing has changed sad

Offline

#4 2008-04-07 09:11:15

dyscoria
Member
Registered: 2008-01-10
Posts: 1,007

Re: Dual boot: Arch and another Linux (GRUB issue)

Just to clarify, tell me if i'm wrong:

You've got a /boot partition at (hd0,0) in which you've installed the PCLOS grub.
You've installed Arch's grub onto (hd1,4), which is also Arch's root partition (or have you got a another /boot partition for that aswell??).

If that's the case you'll want this in the PCLOS grub (typo first time round):

title Arch Linux
rootnoverify (hd1,4)
chainloader +1

And this in the Arch grub (take note of the change from (hd0,4) to (hd1,4) and sda5 to sdb5:

# (0) Arch Linux
title  Arch Linux
root   (hd1,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd1,4)
kernel /boot/vmlinuz26 root=/dev/sdb5 ro
initrd /boot/kernel26-fallback.img

flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)

Offline

#5 2008-04-07 09:55:49

Llama
Banned
From: St.-Petersburg, Russia
Registered: 2008-03-03
Posts: 1,379

Re: Dual boot: Arch and another Linux (GRUB issue)

title Arch Linux
rootnoverify (hd1,4)
chainloader +1

Yes, I guessed that much myself smile , but no go still.

Let me point out, that:

(1) Arch GRUB doesn't seem to get invoked at all;
(2) PCLOS GRUB hits the Arch kernel, but sees it a wrong way (Error 13 means a wrong kernel format (no multiload or some such thing))

It looks like a slightly different problem from hitting a wrong partition.

Offline

#6 2008-04-07 10:19:03

dyscoria
Member
Registered: 2008-01-10
Posts: 1,007

Re: Dual boot: Arch and another Linux (GRUB issue)

If you're chainloading, the PCLOS grub shouldn't need to read the Arch kernel. All it needs to do is invoke the Arch grub, at which point the Arch grub takes over and should show the Arch GRUB screen. Make sure you delete any reference to the Arch kernel or initrd in the PCLOS grub.

You'll be setting sdb as the highest in the BIOS boot order, therefore loading the PCLOS grub in the MBR of the second hard drive. Selecting the arch entry will then chainload the Arch grub in the MBR of the first hard drive. Arch grub will recognize its own kernel format, but i'm guessing the PCLOS grub can't. That won't matter though as you'll be chainloading.

[edit: actually, to make this work , you need to install arch grub on (hd0,4) instead of the MBR. I'm not sure how to chainload to another hard drive's MBR]

Last edited by dyscoria (2008-04-07 10:31:17)


flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)

Offline

#7 2008-04-07 10:29:54

dyscoria
Member
Registered: 2008-01-10
Posts: 1,007

Re: Dual boot: Arch and another Linux (GRUB issue)

See this for chainloading to another MBR:
http://www.gnu.org/software/grub/manual … 02fWindows

OK right.
PCLOS grub=MBR of sdb (hd1)
ARCH grub=MBR of sda (hd0)

You'll want something like this in PCLOS grub:

title Arch Linux
unhide (hd0)
hide (hd1)
rootnoverify (hd0)
chainloader +1
makeactive

If that doesn't work then its just a case of swapping the ones and zeroes around (i hope).

Then something like this in arch grub (as long as the kernel is in the fifth partition of the first hard drive). Typo first time round, (hd1,4) should be (hd0,4):

# (0) Arch Linux
title  Arch Linux
root   (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26-fallback.img

Last edited by dyscoria (2008-04-07 11:07:17)


flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)

Offline

#8 2008-04-07 18:49:35

schivmeister
Developer/TU
From: Singapore
Registered: 2007-05-17
Posts: 971
Website

Re: Dual boot: Arch and another Linux (GRUB issue)

The sane idea generally accepted - and recommended - is to use the same GRUB for all Linux (and all OS) installs unless you have special reasons against it. In this case, for all of the menu.lsts the grub root line needs to point to the place where the boot files reside. For example, if you have sda and sdb you should only install/use the GRUB on either.

root (hd0,0) # /boot on /dev/sda1

Another thing to take note is that GRUB takes the first boot device as the first disk in the machine. So even if it's sdb and it's the first boot device (eg. an USB device), it'd be hd0,0 for MBR on /dev/sdb or /boot on /dev/sdb1.

Last edited by schivmeister (2008-04-07 18:54:57)


I need real, proper pen and paper for this.

Offline

#9 2008-05-10 02:03:28

fukawi2
Ex-Administratorino
From: .vic.au
Registered: 2007-09-28
Posts: 6,229
Website

Re: Dual boot: Arch and another Linux (GRUB issue)

schivmeister wrote:

Another thing to take note is that GRUB takes the first boot device as the first disk in the machine. So even if it's sdb and it's the first boot device (eg. an USB device), it'd be hd0,0 for MBR on /dev/sdb or /boot on /dev/sdb1.

You legend big_smile
That fixed my GRUB on my new install on sdb big_smile
Thank-you

Offline

Board footer

Powered by FluxBB