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! |
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 Code:
title=Linux 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.... |
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. |
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) |
yes, i tried that. It didn't work.
The error is: Error 21: Selected Disk Does Not Exist. |
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. |