[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Dual-boot with kFreeBSD and Linux cannot find Linux kernel



Hey all,

I am trying to set up a dual-boot machine with Debian kFreeBSD (sid) and
Debian Linux (squeeze).  The machine has two hard disks, the first disk
has kFreeBSD on it and I want to use this disk to boot both OSs.
Squeeze is on the second disk.  The kFreeBSD partition is UFS and the
Squeeze partition is ext3.

I have successfully installed both distros and wiped grub from the MBR
of the second disk using dd.  kFreeBSD boots fine, however I have had
trouble getting a working Grub menu entry for Squeeze.  I am using Grub
1.99-18.

People on IRC advised me to use 'os-prober' within kfreebsd, but this
does not give any output and does not create a menu entry for squeeze.
I tried to manually add a menu entry for squeeze as such, within
/etc/grub.d/40_custom:

  menuentry 'squeeze' --class debian --class gnu-linux --class gnu
--class os {
      insmod part_msdos
      insmod ext2
      set root='(hd1,msdos1)'
      linux /boot/vmlinuz-2.6.32-5-amd64 root=/dev/sdb1 ro quiet
      initrd /boot/initrd.img-2.6.32-5-amd64
  }

However, when I boot this I get this error three times:

  error: file not found.

Other things I tried:

* Using /dev/hdb1 instead of /dev/sdb1.  Same behaviour.
* Copying across a working menu entry from the squeeze install by
mounting the disk in kFreeBSD and pasting it out of /boot/grub/grub.cfg.
 This has a lot of extra stuff about UUIDs, but it still had the exact
same problem.
* Quite a few other values for (hd1,msdos1), but none worked.

I also tried going to the Grub command line and playing around a bit.
This was interesting, because I was able to run "set root=(hd1,msdos1)"
and then I could use the 'ls' command to show the contents of the second
hard disk.  So it seems that this line should not be the problem.  I
could even list and tab complete the name of the kernel file, exactly as
it is in the menu entry, but then if I tried to boot the kernel I would
get the same 'error: file not found' message, even though I had not
changed the name of the kernel file at all.

Cheers,
David


Reply to: