LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Grub and Lilo problems on Gentoo 2004.1 Installation (https://www.linuxquestions.org/questions/linux-software-2/grub-and-lilo-problems-on-gentoo-2004-1-installation-191195/)

p00ties 06-08-2004 02:49 PM

Grub and Lilo problems on Gentoo 2004.1 Installation
 
First off, I have a 'different' setup.

I'm running an AMD k7 900 Mhz
Asus K7v mobo
256 megs pc-133 sdram
MSI Geforce 2 Pro

I have 4 hard drives, 2 roms, and a floppy.
On my onboard 33/66 ata controller I have my cdrw(/dev/hdc) and my dvdrom(/dev/hda).
On my PCI Promise IDE ATA 100/133 Controller I have my hard drives
a 30 GB Western Digital 7200 rpm (hde)
partitioned 4 ways:
hde1 = Windows XP Pro
hde2 = Linux Swap
hde3 = Linux /boot (ext2)
hde4 = Linux root (reiserfs)
a 160 GB Western Digital 7200 rpm (hdf)
-partitioned but are besides the point
a 1.6 gb toshiba -real old (hdg)
a 2.5 gb ibm - real old (hdh)


The Promise IDE ATA 100/133 Controller has its own BIOS and is loaded and configured properly because slackware, redhat, and windows 98,2k,XP have no problems with it.

After going through gentoos handbook i've done everything correctly as far as i know (without any errors) until i get to the bootloader

With lilo, the very first line of the lilo.conf which is:
boot=/dev/hde #installs to MBR
when I write it all up and run /sbin/lilo i get an error
FATAL: raid_setup stat("/dev/hde")
-I tried chaning boot=/dev/hde3
but then it gives me same error: Fatal raid_Setup stat("/dev/hde3")

I asked online in different irc channels, basically they all said use GRUB.

prior to emerging grub, i unmerged lilo with a quick emerge -C lilo
then emerge grub
installs fine
i type in grub to go to its shell
works fine
type in root(space)<tab>
I get an error saying i must specify a block address (it cant find my hde just like lilo couldnt find my hde)

so, just for kix in giggles i tried them all:
root (hd0,2) - error
root (hd0,1) - error
root (hd0,3) - error
root (hd0,0) - error
root (hd1,0) - error
all the way down to
root (hd3,3) - error

NO WORKY!


I'm assuming I went wrong somewhere in the kernel compiling stage with the ide controller drivers or something, that's the only thing i can think of, but before i try and recompile my kernel which is gentoo-dev-sources 2.6.5r1 I figured i'd ask a forum i've typically been able to solve all my problems on without even making a single post.

I found out some new info yesterday on the issue.
For some reason or another my hde is not in the /dev list which would explain why grub and lilo don't know about the device.
So, after chrooting over to /dev/hde4 it disappears from the /dev list, in the kernel i double checked and made sure /dev fs was in there and it is.

To resolve the /dev problem, i used the mknod command:
#mknod /dev/hde b 3 0
#mknod /dev/hde1 b 3 1
#mknod /dev/hde2 b 3 2
#mknod /dev/hde3 b 3 3
#mknod /dev/hde4 b 3 4

so lilo returns a different error stating that hde is a read-only file system
maybe i didn't use the mknod command right, or maybe i'm barking up the wrong tree? any advice?

Thanks In Advance!

bulliver 06-08-2004 03:11 PM

Sorry, but I need more clarification...what exactly do you want grub to do?

If you want grub to boot windows and Linux you need to do something like:
Code:

root# /sbin/grub-install /dev/hde
Then edit your grub.conf (menu.lst) to something like:
Code:

title=Linux
root (hd4,2)
kernel (hd4,2)/your-kernel root=/dev/hde4

title= Windows
rootnoverify (hd4,0)
makeactive
chainloader +1

I'm not sure but having /dev/hda as an optical drive may be causing your problems. Can you not switch /dev/hda and /dev/hde around?

Ah ignore that, I didn't see that your ide controller has it's own bios...how does that work? When you boot it goes through the regular bios then loads the ide controller bios as well? You do have a very different setup :)

Keep in mind that grub numbers drives from zero, so:
(hd0,0) = /dev/hda1
(hd0,3) = /dev/hda4
(hd2,2) = /dev/hdc3
(hd4,2) = /dev/hde3
etc....

p00ties 06-08-2004 05:26 PM

yes, the promise pci 100/133 controller is loaded right after the mobo's bios.
I want grub to detect the hard drives, you're at step 5 and we havent even confirmed step 1.


This is taken exactly from the Gentoo Handbook:

In the example configuration we want to install GRUB so that it reads its information from the boot-partition /dev/hda1, and installs the GRUB boot record on the hard drive's MBR (master boot record) so that the first thing we see when we turn on the computer is the GRUB prompt. Of course, if you haven't followed the example configuration during the installation, change the commands accordingly.

The tab completion mechanism of GRUB can be used from within GRUB. For instance, if you type in "root (" followed by a TAB, you will be presented with a list of devices (such as hd0). If you type in "root (hd0," followed by a TAB, you will receive a list of available partitions to choose from (such as hd0,0).

By using the tab completion, setting up GRUB should be not that hard. Now go on, configure GRUB, shall we? :-)

Code Listing 3: Installing GRUB in the MBR

grub> root (hd0,0) (Specify where your /boot partition resides)
grub> setup (hd0) (Install GRUB in the MBR)
grub> quit (Exit the GRUB shell)

Whenever I get back from seeing the latest Harry Potter movie I think I'll swap hde with hda and see if i cant get the bootloader installed this way, then switch them back so that i can get the full performance potential of my devices.

bulliver 06-08-2004 05:35 PM

Therein lies your problem...

(hd0) in your case is your dvd player ((hd0) = /dev/hda)
Obviously you cannot install a boot loader there.

You state: "hde3 = Linux /boot (ext2)"
Which in grub terminology is (hd4,2)

So did you try:
grub> root (hd4,2)

p00ties 06-08-2004 10:08 PM

yes, i tried that. It didn't work.

The error is:

Error 21: Selected Disk Does Not Exist.

hph 07-03-2004 10:02 AM

problem solved
 
Hi,

I had the same problem today with PCI Promise IDE ATA 100/133 Controller.

Now I solved it. You must know that grub detects hd-devices and uses its own names. I have two hard drives at the onboard controller with a Windows and Linux installed and one at Promise IDE ATA 100/133. There should be installed another linux, which should be selectable in grubs menue. The HDs at the onboard controller are called hda and hdb. It's the same within grub's device.map as within the started Linux-System. The HD at the Promise Controller is identified as hde by the new installed Linux-System. So I tried to edit the device.map and put in a line like
hd3 /dev/hde
It didn't work:
Error 21: Selected Disk Does Not Exist

Now I found out, that grub had detected the HD at the promise controller and put it in it's device.map as

hd2 /dev/hdd

In the running linux-system hdd is my cdrom.
It seems that grub only puts floppy- and hd-devices into its device.map and the /dev/... is not the same as in the running linux-system.

Now I can select my second Linux.

In grub's menu.lst I had to add the following lines:

title Linux2
kernel (hd2,0) /vmlinuz root=/dev/hde3
^ ^
| |
from device.map as identified by installed Linux
first partition third partition on hde
as boot partition
with the kernel


All times are GMT -5. The time now is 04:17 PM.