View previous topic :: View next topic |
Author |
Message |
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Tue Feb 06, 2007 4:19 pm Post subject: block device error |
|
|
Hallo,
Yesterday i decided to install Gentoo. So i printed the handbook and i started installing it with the minimal cd. The installation went good. After rebooting i got the next error:
Code: | >> Mounting filesystems
>> Activating udev...
>> Determining root device...
>> Block device 100 is not a valid root device...
>> The root block device is unspecified or not detected.
Please specify a device to boot, or âshellâ for a shell... |
I cant do anything now. I made the partitions like this:
Code: |
sdb1 = windows partition
sdb2= /boot
sdb3 = windows partition
sdb4 = swap
sdb5 = windows partition
sdb6 = /root
sdb7 = windows partition
|
My lilo.conf:
Code: | boot=/dev/hda
prompt
timeout=50
default=gentoo
image=/boot/kernel-genkernel-x86-2.6.19-gentoo-r5
label=gentoo
read-only
root=/dev/ram0
append="init=/linuxrc ramdisk=8192 real_root=/dev/sdb6 udev"
initrd=/boot/initramfs-genkernel-x86-2.6.19-gentoo-r5 |
How can i solve this problem.
Thanks in advance, |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Tue Feb 06, 2007 4:51 pm Post subject: |
|
|
I think the problem is inAs initramfs is now used by genkernel to mount the root filesystem there is no "root=" â this may be what the document says (I haven't checked it) but your lilo.conf would, IMHO, work as Code: | boot=/dev/hda
prompt
timeout=50
default=gentoo
image=/boot/kernel-genkernel-x86-2.6.19-gentoo-r5
label=gentoo
read-only
append="real_root=/dev/sdb6"
initrd=/boot/initramfs-genkernel-x86-2.6.19-gentoo-r5 | From what I remember, the addition of "udev" to the kernel command line was to get over an early problem, I don't think it is necessary any longer and recent genkernel kernels have booted with the above arguments without any trouble.
One thing to make quite sure of though, is that the SATA high level drivers and the low level SATA chipset drivers are compiled into your kernel together with filesystem support for the root filesystem type.
There is some more on this in the KC13 FAQ https://forums.gentoo.org/viewtopic-t-497930.html. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Tue Feb 06, 2007 5:02 pm Post subject: |
|
|
how can i edit the lilo.conf ? |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Tue Feb 06, 2007 5:07 pm Post subject: |
|
|
Probably the simplest way is to boot up the minimal install cd, mount the root filesystem on /mnt/gentoo and edit /mnt/gentoo/etc/lilo.conf. To install it though, you will need to chroot in (from the QuickInstall http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml) Code: | livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile | and then run _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Tue Feb 06, 2007 5:43 pm Post subject: |
|
|
i get this
Warning: LBA32 addressing assumed
Fatal: open /boot/kernel-genkernel-x86-2.6.19-gentoo-r5: no such file or directory |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Tue Feb 06, 2007 5:56 pm Post subject: |
|
|
I see you've got a /boot partition â was it mounted when genkernel ran? There's a genkernel argument Code: | --mountboot Mount BOOTDIR automatically if mountable | which is useful to make sure mistakes don't happen.
To see what has happened, boot your minimal install cd (again ) and mount /dev/sdb6 on /mnt/gentoo.
Now check to see if there is anything in /mnt/gentoo/boot (there shouldn't be). If there is then it should be in your boot partition, shouldn't it?
Still booted into the install cd, make a new directory /mnt/gentoo/temp and mount your boot partition on it Code: | mkdir /mnt/gentoo/temp
mount /dev/sdb2 /mnt/gentoo/temp | You can now have a look and see what is missing and then copy it from /mnt/gentoo/boot to /mnt/gentoo/temp.
LILO should now find your missing kernel image (and initramfs too probably). _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Tue Feb 06, 2007 6:06 pm Post subject: |
|
|
ok i'm going to try it now |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Tue Feb 06, 2007 6:25 pm Post subject: |
|
|
i did what you said and i found that /mnt/gentoo/boot is empty if i mount sdb6 on /mnt/gentoo
and i made the temp dir and i mounted sdb2 on it and these files where in temp
system.map-genkernel-x86-2.6.19-gentoo-r5
initframfx-genkernel-x86-2.6.19-gentoo-r5
map
boot
kernel-genkernel-x86-2.6.19-gentoo-r5
boot.0810
lost+found |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Tue Feb 06, 2007 6:48 pm Post subject: |
|
|
Sorry, I'm used to GRUB â that looks OK.
Did the error message Code: | Warning: LBA32 addressing assumed
Fatal: open /boot/kernel-genkernel-x86-2.6.19-gentoo-r5: no such file or directory | appear when you ran /sbin/lilo to install LILO? If so then you may not have had your boot partition mounted then.
If so, then you just need to mount it on /mnt/gentoo/boot, chroot in as before and run /sbin/lilo.
The initrd line may need a change but I'm not quite sure whether LILO looks at it only when /sbin/lilo is run or when it is booting â so I'll wait and see how you get on (and Google a bit ) _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Wed Feb 07, 2007 4:02 pm Post subject: |
|
|
shall in uninstall my gentoo and juse grub ? |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed Feb 07, 2007 5:30 pm Post subject: |
|
|
a-slayeriq wrote: | shall in uninstall my gentoo and juse grub ? | No, I don't think so. The advantage of GRUB is that you can recompile an existing kernel without having to run GRUB again. With LILO a new compilation of an existing kernel, that is, overwriting the old image in /boot with the new one, require /sbin/lilo to be run. LILO is just as good a boot manager as GRUB â it's a matter of preference and that most distros use GRUB by default.
The note about a possible change to the initrd line: no change is required.
I should have mentioned in the instructions on editing lilo.conf that you should mount /boot before running /sbin/lilo, sorry. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Wed Feb 07, 2007 5:43 pm Post subject: |
|
|
so i have to do this now
mount /dev/sdb2 /mnt/gentoo
and then
/sbin/lilo |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Wed Feb 07, 2007 5:55 pm Post subject: |
|
|
i did this
Code: | livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile
|
then i mounted sdb2 (sdb2 is my boot) with
Code: | mount /dev/sdb2 /boot |
and here i did this
after this i got this message
Code: | Warning: LBA32 addressing assumed
and
added gentoo
added windows |
and now the error changed becouse first i got
Code: | >> Mounting filesystems
>> Activating udev...
>> Determining root device...
>> Block device 100 is not a valid root device...
>> The root block device is unspecified or not detected.
Please specify a device to boot, or âshellâ for a shell... |
and now i get
Code: | >> Mounting filesystems
>> Activating udev...
>> Determining root device...
>> The root block device is unspecified or not detected.
Please specify a device to boot, or âshellâ for a shell... |
and should the root partition be primary extendet or logical ? |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed Feb 07, 2007 7:53 pm Post subject: |
|
|
I feel sure that mounting /boot after chroot has the same effect as mounting it before and the response from LILO Code: | Warning: LBA32 addressing assumed
added gentoo
added windows | looks OK. You can get rid of the warning by addingto the global options as in Code: | boot=/dev/hda
prompt
lba32
timeout=50
default=gentoo
image=/boot/kernel-genkernel-x86-2.6.19-gentoo-r5
label=gentoo
read-only
append="real_root=/dev/sdb6"
initrd=/boot/initramfs-genkernel-x86-2.6.19-gentoo-r5 | I can't see any reason for it now to say Code: | >> Determining root device...
>> The root block device is unspecified or not detected.
Please specify a device to boot, or âshellâ for a shell... | unless there is a typo in the line Code: | append="real_root=/dev/sdb6" | When it says "Please specify a device to boot", you could try typing in /dev/sdb6 and see if that gets over the problem.
Just to correct the earlier instructions for editing lilo.conf Code: | # mount /dev/sdb6 /mnt/gentoo
# mount /dev/sdb2 /mnt/gentoo/boot
# cd /
# mount -t proc proc /mnt/gentoo/proc
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile | and you should now be able to edit lilo.conf with Code: | nano /etc/lilo.conf |
_________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Wed Feb 07, 2007 8:03 pm Post subject: |
|
|
Code: | boot=/dev/sdb
prompt
lba32
timeout=50
default=gentoo
image=/boot/kernel-genkernel-x86-2.6.19-gentoo-r5
label=gentoo
read-only
append="real_root=/dev/sdb6"
initrd=/boot/initramfs-genkernel-x86-2.6.19-gentoo-r5 |
this is my current lilo.conf its not boot=/dev/hda but boot=/dev/sdb and i didnt make any typo i looked at it for a couple of times. But can you tell my why this problem happens and could iot be becouse of the fact that my partitions arent called hda1 and hda2 etc but sdb1 sdb2 etc ? |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed Feb 07, 2007 8:14 pm Post subject: |
|
|
The lilo.conf you posted at first had "boot=/dev/hda" and that's what I copied.
Using sdb1, sdb2 instead of hda1, hda2 will make no difference.
There is one thing though, the lilo.conf manpage says Quote: | This configuration file specifies that lilo uses the Master Boot Record on /dev/hda. | and it's talking about the line "boot=/dev/hda" in the example config.
As you are using "boot=/dev/sdb" LILO is being installed In the MBR on /dev/sdb and the BIOS will probably be booting from the MBR on /dev/sda.
You might try changing "boot=/dev/sdb" to "boot=/dev/sda" in your lilo.conf and reinstalling (running /sbin/lilo after going through the editing procedure in the previous post). _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Wed Feb 07, 2007 8:16 pm Post subject: |
|
|
ok i tried sda but it could find sda so it should be sdb i think |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed Feb 07, 2007 8:46 pm Post subject: |
|
|
I've been looking again at the partition layout you posted at the beginning Code: | sdb1 = windows partition
sdb2= /boot
sdb3 = windows partition
sdb4 = swap
sdb5 = windows partition
sdb6 = /root
sdb7 = windows partition | and there is no extended partition defined.
If sdb1, sdb2 and sdb3 are primary partitions, then the only way you can put any further partitions on the drive is to make sdb4 extended taking the whole of the rest of the disk. Then swap would be sdb5, sdb6 would be a windows partition, sdb7 would be root and sdb8 would be windows again.
Cross posting : if it boots from /dev/sdb then I can't see what could be wrong.
The code which is run to mount root in the initramfs issues the message ">> The root block device is unspecified or not detected." if it hasn't been able to get anything useful from the real_root argument.
Again, you could try entering /dev/sdb6 when the boot stops at this point and see if it can continue. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Wed Feb 07, 2007 8:54 pm Post subject: |
|
|
if i enter /dev/sdb6 then it tells me:
Code: |
>> Mounting filesystems
>> Activating udev...
>> Determining root device...
>> Block device /dev/sdb6 is not a valid root device...
>> The root block device is unspecified or not detected.
Please specify a device to boot, or âshellâ for a shell...
|
sdb3 isnt primary but sdb4 is so my swap is primary.
Code: | sdb1 = windows partition /primary
sdb2= /boot /primary
sdb3 = windows partition
sdb4 = swap /primary
sdb5 = windows partition
sdb6 = /root
sdb7 = windows partition |
|
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Wed Feb 07, 2007 9:06 pm Post subject: |
|
|
I'm sorry, if you have high level and low level support for your SATA disk compiled into the kernel (see the KC13 FAQ) I can't think of anything else to try. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Wed Feb 07, 2007 9:09 pm Post subject: |
|
|
thx for your help but where can i get any support for my problem i've searched everywhere and then i ended here |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Thu Feb 08, 2007 10:40 am Post subject: |
|
|
a-slayeriq wrote: | thx for your help but where can i get any support for my problem i've searched everywhere and then i ended here | The message "Block device /dev/sdb6 is not a valid root device..." probably means that support for your SATA drive is not compiled in to your kernel: hence the suggestion that you look at the FAQ KC13: I just installed a new kernel and it won't boot.
There are too many possible reasons for booting to fail to go through them one by one saying "Try this, try that".
This appears to be your first Gentoo install and perhaps your first Linux install â there may be messages that have come up during the install which you couldn't make any sense of and skipped to the next step. One of these may point to the missing bit which is causing the boot to fail.
There seem to be only two ways forward: repeat the Gentoo installation from scratch, reading each step in the installation guide carefully before carrying it out and checking, as far as you can, that it was successful before going on to the next.
The other possibility is to install a binary distro like Ubuntu, Kubuntu or Xubuntu and get some experience in running Linux: understanding the messages which pop up, finding out how to configure things, where the log files are and how to read and get information out of them. Most of the background stuff will have been done for you and you will have a working system to learn from. At present, with Gentoo, you are struggling just to get it to boot.
Not advice you are going to welcome, I'm sure: there are lots of books with titles like "Teach Yourself X in 24 hours" but a much more realistic view is Teach Yourself Programming in Ten Years. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Thu Feb 08, 2007 1:58 pm Post subject: |
|
|
hey wynn i found something if i typ /dev/hda then it tries mounting it but if i typ /dev/sdb then it just give me this Block device /dev/sdb is not a valid root device.. Does this mean something ? |
|
Back to top |
|
|
wynn Advocate
Joined: 01 Apr 2005 Posts: 2421 Location: UK
|
Posted: Thu Feb 08, 2007 3:42 pm Post subject: |
|
|
a-slayeriq wrote: | hey wynn i found something if i typ /dev/hda then it tries mounting it but if i typ /dev/sdb then it just give me this Block device /dev/sdb is not a valid root device.. Does this mean something ? | I think it is due to the IDE modules being loaded but not the SATA modules, see the following:
I have looked through the Gentoo Linux x86 Handbook (which I think is the one you used), in particular, section 7. "Configuring the Kernel".
According to that, the procedure you would have used to compile your kernel is Code: | USE="-doc symlink" emerge gentoo-sources
emerge genkernel
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
genkernel all | Using just "genkernel all" assumes you have only ext2 or ext3 filesystems, is that correct?
"emerge gentoo-sources" will bring in linux-2.6.19-gentoo-r5 and the "zcat /proc/config.gz ..." will copy over the config for the kernel which the minimal install cd runs which is 2.6.17-gentoo-r7.
I've done some experiments using the 2.6.17 config with gentoo-sources-2.6.19-r5 and with gentoo-sources-2.6.18-r5 and, in both cases, the SATA drivers aren't configured and therefore aren't compiled.
This, I believe, is why your kernel fails to boot.
There seem to be two solutions- Go through the above procedure to compile your kernel again except do
Code: | USE="-doc symlink" emerge =gentoo-sources-2.6.17-r8
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
genkernel all | This will compile a 2.6.17-gentoo-r8 kernel which boots.Instead of "genkernel all" run Code: | genkernel --menuconfig all | and add the SATA support to the configuration yourself. There is an excellent guide to help you â NeddySeagoons' Rough Guide to DIY Kernels â and the KC13 FAQ mentioned beforeIn either case, after booting and logging in, you will need NeddySeagoons' Rough guide to Fixing Networking as the Ethernet over Firewire driver is loaded and will pinch eth0 which will stop your networking. _________________ The avatar is jorma, a "duck" from "Elephants Dream": the film and all the production materials have been made available under a Creative Commons Attribution 2.5 License, see orange.blender.org for details. |
|
Back to top |
|
|
a-slayeriq n00b
Joined: 06 Feb 2007 Posts: 33
|
Posted: Thu Feb 08, 2007 3:55 pm Post subject: |
|
|
but how can i compile my kernel again jsut by typing
Code: | USE="-doc symlink" emerge gentoo-sources
emerge genkernel
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
genkernel all |
in minimal cd ? |
|
Back to top |
|
|
|