LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 12-05-2006, 08:55 PM   #1
Vincent_Vega
Member
 
Registered: Nov 2003
Location: South Jersey
Distribution: Slackware, Raspbian, Manjaro
Posts: 826

Rep: Reputation: 31
Multi-Boot Problems - Slackware, Ubuntu, Xandros, XP


I have a my computer as follows:
/dev/hda1 - Xandros
/dev/hdb5 - Ubuntu
/dev/hdb6 - Slackware 11

My problems began when I installed Xandros. Until then I was using GRUB and everything seemed fine. However, Xandros uses an enhanced version of LILO and doesn't seem to work with GRUB. Also, Ubuntu doesn't seem to boot well with LILO. There are the issues of the kernel and initrd files being on other partitions, etc.

Can someone help me get this system working, either with the Xandros LILO or with a basic GRUB configuration?

Here is the lilo.conf generated in Xandros:

boot=/dev/hda
install=/boot/cboot.b
message=/boot/splash.lilo
timeout=200
map=/boot/map
prompt
lba32
read-only
compact
fix-table
image=/vmlinuz
label=Xandros_4.0_Home_Edition_Premium
vga=791
root=/dev/hda1
initrd=/boot/initrd-2.6.15-dcc-uni.gz
append="quiet rw acpi=on "
image=/vmlinuz
label=Safe_Video_Mode
vga=791
root=/dev/hda1
initrd=/boot/initrd-2.6.15-dcc-uni.gz
append="3 quiet rw acpi=on "
image=/vmlinuz
label=Configure_(Expert)
vga=normal
root=/dev/hda1
initrd=/boot/initrd-2.6.15-dcc-uni.gz
append="single quiet rw acpi=on noresume noresume2 nosplash=y "
image=/boot/ubuntu/vmlinuz-2.6.15-27-386
root=/dev/hdb5
append="quiet splash "
initrd=/boot/ubuntu/initrd.img-2.6.15-27-386
label = KUbuntu
read-only
image = /boot/vmlinuz
root = /dev/hdb6
label = Slack11

And here is my GRUB menu.lst:

# Linux bootable partition config begins
title Ubuntu on (/dev/hdb5)
root (hd1,4)
kernel /boot/vmlinuz-2.6.15-27-386 root=/dev/hdb5 ro quiet splash vga=791
initrd /boot/initrd.img-2.6.15-27-386
savedefault
boot
# Linux bootable partition config ends
# Linux bootable partition config begins
title Xandros Desktop Premium
root (hd0,0)
kernel (hd0,0)/boot/vmlinuz-2.6.15-dcc-uni root=/dev/hda1
initrd (hd0,0)/boot/initrd-2.6.15-dcc-uni.gz
savedefault
# Linux bootable partition config ends
title Slack-11 on (/dev/hdb6)
root (hd1,5)
kernel /boot/vmlinuz root=/dev/hdb6 ro vga=791
# Linux bootable partition config ends
title --- For help press 'c', type: 'help'
root (hd0)
title --- For usage examples, type: 'cat /boot/grub/grub.txt'
root (hd0)

This problem is really driving me crazy so I appreciate any help.
 
Old 12-05-2006, 10:17 PM   #2
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809

Rep: Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743Reputation: 743
The way I read this, you can boot from either lilo (Xandros) or from grub. How are you doing that?

This aside, the grub configuration that you supplied seems ok for your drive layout---except for the extra (hd0,0) in the kernel and initrd calls. What is the error when attempting to boot Xandros from grub?

This is typical:
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-dcc-uni root=/dev/hda1
etc....

This is not:
root (hd0,0)
kernel (hd0,0)/boot/vmlinuz-2.6.15-dcc-uni root=/dev/hda1
etc....

But I don't know if it matters..
 
Old 12-06-2006, 08:56 AM   #3
Vincent_Vega
Member
 
Registered: Nov 2003
Location: South Jersey
Distribution: Slackware, Raspbian, Manjaro
Posts: 826

Original Poster
Rep: Reputation: 31
Thanks for your reply. That extra (hd0,0) was actually added after continually tweaking grub hoping that I could make it work. Originally I had it like you suggested but it made no difference.
Yes, I can either use grub and load Ubuntu or LILO and use Xandros...or Slack with either since Slack is the greatest...
The error from grub is:
Cannot open root device "hda1" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel Panic - not syncing - VFS unable to mount root fs on unknown-block(0,0)

I would think this should be a pretty simple scenario but is seems these OSes (especially Xandros, which isn't overly-impressive anyway) don't work well together.

Last edited by Vincent_Vega; 12-06-2006 at 09:03 AM.
 
Old 12-06-2006, 09:21 AM   #4
alred
Member
 
Registered: Mar 2005
Location: singapore
Distribution: puppy and Ubuntu and ... erh ... redhat(sort of) :( ... + the venerable bsd and solaris ^_^
Posts: 658
Blog Entries: 8

Rep: Reputation: 31
a bit odd ...

if your pc bootup of disks is ok in sequence , probably you can show them your /boot/grub/device.map or something like that if you have any ...


booting linux should be quite straight forward and shouldnt gives this sort of trouble ...


.
 
Old 12-06-2006, 09:42 AM   #5
Vincent_Vega
Member
 
Registered: Nov 2003
Location: South Jersey
Distribution: Slackware, Raspbian, Manjaro
Posts: 826

Original Poster
Rep: Reputation: 31
I agree that this should be fairly simple - but it's not. My device.map file is correct too. I have to think it's something to do with the initrd file not getting correctly loaded or something. That's one thing I really don't know much about since I'm a Slackware guy and I have never used any initrd file for that.
Any help is appreciated...
 
Old 12-06-2006, 10:03 AM   #6
alred
Member
 
Registered: Mar 2005
Location: singapore
Distribution: puppy and Ubuntu and ... erh ... redhat(sort of) :( ... + the venerable bsd and solaris ^_^
Posts: 658
Blog Entries: 8

Rep: Reputation: 31
still odd to me if your disks partitions are not too complicated(there are one guy who are really expert in these kind of things down here) ...

for the time being you can try copying the neccssary booting files to the /boot directory of your root disk(i presume boot=/dev/hda) and try again ...


//btw , i almost forgotten the location of lilo.conf ... ^_^

.
 
Old 12-06-2006, 11:15 AM   #7
Vincent_Vega
Member
 
Registered: Nov 2003
Location: South Jersey
Distribution: Slackware, Raspbian, Manjaro
Posts: 826

Original Poster
Rep: Reputation: 31
My lilo.conf is located on hda1 with the Xandros installation. I did try copying files to just about every /boot directory, hoping that would solve this problem but it didn't!
I will try that again and see if I can make any progress but in the mean time, I could still use some help from this knowledgeable community! The truth is, I really don't care to ever use Xandros (I'm just trying to see if there is anything good about it) but I'm bothered by the problem and I want to sort it out. If it takes too long I'll just drop it all together and stick to my Slack, (K)Ubuntu and XP.
 
Old 12-06-2006, 09:46 PM   #8
alred
Member
 
Registered: Mar 2005
Location: singapore
Distribution: puppy and Ubuntu and ... erh ... redhat(sort of) :( ... + the venerable bsd and solaris ^_^
Posts: 658
Blog Entries: 8

Rep: Reputation: 31
i was refering to the location of my lilo.conf , it is actually residing in "/etc" instead of "/boot" ... i did kind of like panic , i thought i got it accidently deleted or something , anyway , i have been using grub for quite sometime now instead of lilo ...

anyway , hang in there "forever" and dont giveup on anything linux too fast for i dont believe xandros(although i never try it before) is the problem in your case , even if you got xp somewhere in between ...

btw , you dont actually in need of a /boot directory on every partitions if your case is simple enough ...



//wish you luck in solving your problem ...


.

Last edited by alred; 12-06-2006 at 10:44 PM.
 
Old 12-07-2006, 06:29 AM   #9
Vincent_Vega
Member
 
Registered: Nov 2003
Location: South Jersey
Distribution: Slackware, Raspbian, Manjaro
Posts: 826

Original Poster
Rep: Reputation: 31
Thanks! I might switch to the independent /boot partition and share it among distros. Maybe that would solve my problem...?
In any event, I'll let you know what I do in order to solve this, and thanks for your help.
 
Old 12-07-2006, 07:09 AM   #10
saikee
Senior Member
 
Registered: Sep 2005
Location: Newcastle upon Tyne UK
Distribution: Any free distro.
Posts: 3,398
Blog Entries: 1

Rep: Reputation: 113Reputation: 113
Actually there is an easy way out.

First I describe the problem. There are a few Linux around trying to be ambitious. Xandros is one and certain Debian is another. They try to assemble all the OSs in your computer and arrange to boot it.

I know Xandros didn't do a good job because its installer tried to build a menu for Lilo to boot my 100+ system. The lilo.conf was compiled but Lilo never booted. Why? Lilo has a ceiling limit of booting to a maximum 27 images and Xandros doesn't even know that! The 27 image limitation is due to the static screen Lilo uses and any image above 27 cannot be displayed. Xandros should know this.

Thus I would dismiss using Xandros to multi boot.

The cure

Pretty simple really. You have Xandros, Ubuntu and Slackware in hda1, hda5 and hda6. You can choose any one of them to occupy the MBR position and amend its boot configuration to boot the other system.

The easiest way is to let Grub chainload each system. To enable a system chainloadable you need to restore its boot loader "inside" its root partition. Only the Linux in the MBR cannot be chainloaded. The reason is obvious but if you can't figure it out it is like a dog chasing its own tail. In chainloading one boot loader boots another. Both Lilo and Grub can chain loader each other seemlessly.

All the booting tips are in the last link of my signature.

I would possibly do the following steps to resolve the problem

(1) Break into Ubuntu by a Live CD so that I am inside it (see the booting tips in the signature for how to). I place its Grub in MBR by Bash command "grub-install /dev/hda".
(2) I edit its /boot/grub/menu.lst with the following additions
Code:
title Xandros in hda1
root (hd0,0)
chainloader +1

title Slackware in hda6
root (hd0,5)
chainloader +1
(3) I then reboot the live CD and break into Xandro. I restore its Lilo boot loader in hda1 by Bash command
Code:
lilo -b /dev/hda1
(4) I then repeat (3) similarly for Slackware. If Slackware uses Lilo the command would be
Code:
lilo -b /dev/hda6
otherwise for Grub it is just
Code:
grub-install /dev/hda6
Now I expect every system boots.
 
Old 12-07-2006, 08:12 AM   #11
Vincent_Vega
Member
 
Registered: Nov 2003
Location: South Jersey
Distribution: Slackware, Raspbian, Manjaro
Posts: 826

Original Poster
Rep: Reputation: 31
That sounds like a great solution and as soon as I get home I will do exactly as you suggest and come back with my results. I never thought to go the chainload route! Since Slackware boots without problems, I may leave it as a standard GRUB entry but for the sake of this thread, I'll begin by chainloading. Thanks very much for this suggestion.
 
Old 12-07-2006, 09:11 AM   #12
saikee
Senior Member
 
Registered: Sep 2005
Location: Newcastle upon Tyne UK
Distribution: Any free distro.
Posts: 3,398
Blog Entries: 1

Rep: Reputation: 113Reputation: 113
Chain loading is possibly the most lethal weapon in booting. No decent boot loader of any substance can do without it. NTLDR and Lilo chain-load too except the processes aren't given a name.

In chain loading you just let one boot loader boots another. Therefore there is no PC system Grub cannot boot plus there is no ceiling limit on the number of systems Grub can handle (one can do relays with boot loaders!).

The command "chainloader +1" effectively asks Grub to "cut" its Stage1 (which occupies the first sector of the partition) and "paste" the boot loader specified by the root statement at the "+1" psoition or its 2nd sector. That is just about how every other boot loader chain-loads another system. It is laughingly simple.

Many systems on completion of an installation by default must place the boot loader inside its root partition. All Dos, Windows and the majority of the BSD are like that and are ideal candidates for chainloading.
 
Old 12-07-2006, 09:31 AM   #13
my.dying.bride
LQ Newbie
 
Registered: Nov 2006
Distribution: Vector Soho Edition 5.1(Best yet)
Posts: 25

Rep: Reputation: 15
I don't get the problem . I have 4 OS partitions. 3 on the same disk + 1 on the slave disk. I have 6 boot choices. Windows + linux with different kernels. I use lilo . I boot all of them, including the one on the slave disk , with no problems at all. All of them are booted without chainloading. 1 is booted to ramdisk , but the rest strait to the bzimage only. I guess what i am saying is that this should also be possible for you. I cant help you with the Grub config since i dont really know that loader.
 
Old 12-07-2006, 10:32 AM   #14
alred
Member
 
Registered: Mar 2005
Location: singapore
Distribution: puppy and Ubuntu and ... erh ... redhat(sort of) :( ... + the venerable bsd and solaris ^_^
Posts: 658
Blog Entries: 8

Rep: Reputation: 31
i guess what i am saying is that normaly when booting linux we dont actually need that "/boot" directory(if they are using that) in the partition ... for others , we might need to chainload them ... actually the easiest way ...


ok , probably a bit dizzy down here after peeking at saikee's configurations and documentations ... ^_^


.
 
Old 12-07-2006, 10:51 AM   #15
saikee
Senior Member
 
Registered: Sep 2005
Location: Newcastle upon Tyne UK
Distribution: Any free distro.
Posts: 3,398
Blog Entries: 1

Rep: Reputation: 113Reputation: 113
my.dying.bride

There is no problem in the booting mechanism. The problem is Xandros installer, in compiling a list of systems it found in the PC, aborted the operation when it got itself into difficulty. The resulting lilo.conf is half-baked. This is fairly typical in the implementation of Lilo by a Linux installer.

There are two common methods to boot up a Linux.

(a) Direct method - In this method the root of the Linux has to be declared first. The kernel or its bzimage is "named" or stated. If the Linux use ramdisk then the initrd file has also to be stated explicitly too. That is what Xandros trying to do in the Post #1.

(b) Indirect method - Only the root of the Linux is stated. All Dos, Windows, Linux, BSD, Solaris... are chainloaded by the same command of
Code:
chainloader +1
. In order for a system to be chainloadable the sole necessary condition is to have its boot loader residing inside the root partition. As it happens every partition created in a hard disk has one side of the first track set assigned as this purpose but not many users bother to make use of it. Even if a Linux has its boot loader in the MBR there is absolutely no consequence by duplicating the boot loader also in the root partition to be ready for booting indirectly by another boot loader later on.(Windows also boots a Linux by indirect method)

The direct method is the traditional way and so there are many write-ups on this topic. The indirect method is simpler and easier to maintain but apparently not many Linux users are aware of it and hence the disbelief and hostility.

If any Linux user looks at how a Linux boot loader boots a Windows then he/she would know that it only possible by chain loading.

Typically in Lilo the two lines booting a Windows say in hda1 are
Code:
other=/dev/hda1
label=Windows
That is Lilo's way to do chain loading.

If Lilo has to chain load a Linux in say hda6 it does it by
Code:
other=/dev/hda6
label=Linux_in_hda6
Surely this is a lot simpler than declaring the bzimage or kernel name accurate to the last character plus messing around with the parameters to be implemented at boot time.

If Linux can boot any system foreign to itself by chain loading then it should have no technical difficulty to use it on its fellow Linux.

The choice of using direct or indirect method is up to the individual.

Somehow I feel it is a shame that the simplest method (chain loading) that works universally on every OS system in a PC, requires no information of the OS other than the partition it resides in, has been used by every boot loader and requires almost no skill to apply should not be exposed to a wider audience.

Last edited by saikee; 12-07-2006 at 10:59 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Installing Ubuntu 6.06_64 on multi-boot HD satimis Ubuntu 0 07-25-2006 07:35 AM
Dual to Multi Boot(win2k,RH9 and Slackware) jared78 Linux - Newbie 1 06-20-2006 12:21 AM
Xandros, Suse installation/boot problems Hokum Linux - Newbie 2 02-21-2005 02:17 PM
More Multi-boot problems quercusalba Red Hat 1 11-07-2004 12:10 AM
Xandros boot loader doesn't load Xandros wharp Linux - General 1 10-27-2004 06:47 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 09:06 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration