On Sun, Dec 08, 2002 at 11:18:28AM -0800, Dexter Graphic wrote:
> Next I configured Lilo to include the new boot option. Here is my
> lilo.conf file:

The problem is really simple, looking at your config

[ .. ]
> image=/boot/vmlinuz
>       label=Mandrake
>       root=/dev/hda1
>       initrd=/boot/initrd.img
>       append="devfs=mount hdc=ide-scsi hdd=ide-scsi"
>       read-only

so /boot/vmlinuz is the Mandrake kernel, got it.

[ .. ]
> image=/boot/vmlinuz   # Actually /vmlinux but I made a symlink.
>       label=Debian
>       root=/dev/hda7
>       append="hdc=ide-scsi hdd=ide-scsi"
>       read-only
> 
> The above lilo configuration works fine for booting into Mandrake, but
> when I try to boot into Debian it gets really ugly. From what I can tell
> by reading between the error messages, it's booting the Mandrake kernel
> not the Debian version. The last message before it gives up is about the
> swap file. But then it allows me login at a console, and when I poke
> around I can see that /dev/hda7 is indeed mounted at / and all the
> Debian files are accessible.

Try say ...

image=/mnt/debroot/vmlinuz   # Actually /vmlinux but I made a symlink.
      label=Debian
      root=/dev/hda7
      append="hdc=ide-scsi hdd=ide-scsi"
      read-only

This requires that your Mandrake system have /dev/hda7 mounted to
/mnt/debroot.  Keep in mind that a fundamental difference between lilo and
grub is that lilo resolves locations of kernel images when you run the
lilo command.  OTOH, grub resolves everything at run time.


> So my questions are: 
> 1.) Is what I am trying to do possible?

Yes, as above.

> 2.) What do I have to do get lilo to load the right kernel image?

You need to mount all of the roots of the other dists somewhere and use
those kernels.  Or you can put all of your kernels in a seperate small
/boot partition - you will want to not use /boot/vmlinuz in that case
since you'd have several kernels.  I think everybody but Debian likely
puts the name of their distribution in the kernel's EXTRAVERSION in the
main Makefile.  If not, do this yourself and start using fully qualified
versions in your lilo config.


The other option is grub, which can find a kernel on any ext2/3 FS you
have.  (For some reason current grub in Gentoo can't handle filesystems
made by current reiserfsprogs in Gentoo - since Gentoo is pretty current I
will assume this is a grub problem..)

In the case of grub, I still suggest a single /boot (or some other small
partition which contains a symlink boot -> .) to be shared among all dists
since it would give you easy access to editing grub's menu.lst file from
any and all distributions.

In fact, that's actually a really good idea if you use ext2/3 and also
happen to use windows - keep /boot on the root of each distribution (so
you need not fiddle with version names) and have a /mnt/grub which is a
small (non-primary) VFAT partition.  You see, this would allow you to edit
the grub menu.lst file from every OS you run, trivially.  In that case, I
suggest keeping the menu in DOS format and using an editor in Linux which
happens to be able to recognise when it should edit the file with CRLF
line endings.  I know vim can do this, and emacs would suck indeed if it
were as huge a program as it is and it could not also.  ;)  If you do not
run windows, then it doesn't matter where you put it as long as you can
mount it somewhere on your system when you need it.



At last check, grub had some issues with SCSI drives.  Keep this in mind
and make yourself a boot disk if you have such hardware.  If these issues
remain unresolved, there is the less efficient lilo solution above.


> 3.) What is the map file reference for and do I need to worry about it?

You don't need to worry.  It's not used until after / is mounted.

-- 
Joseph Carter <[EMAIL PROTECTED]>                   No conceit in my family
 
* wichert_ imagines master without a MTA
<james> wichert: ehm?  that might hinder peformance of the BTS :p

Attachment: msg12010/pgp00000.pgp
Description: PGP signature

Reply via email to