Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Problem determining root device
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sat Apr 19, 2014 12:38 pm    Post subject: [SOLVED] Problem determining root device Reply with quote

Hello every body !

I'm trying to install my first gentoo on a atom laptop Acer Aspire one ZA3 (quite old now...)
Everything looks fine while following the usual handbook, until the first reboot.
Grub (grub2) starts, uses initramfs quite usually, but fail while trying to determine Root Device !
It's a 32bit system, without UEFI (if it does help).


[code]
Determining root device...
!! Could not find the root block device in UUID=[d8c79d26-.....-beccc675500e.].
Please specify another value or: press Enter for the same, type "shell" for shell or "q" to skip
[/code]


I note that this uuid does correspond to my sdb3, which is my linux partition.

When i go back on the live usb key, chroot, and use bklid and fdisk, i find this (there may be some typing error, as i did not copied-pastes it):

[code]
/dev/sda1 : SECTYPE ="msdos", UUID="3131-D903" Type="VFAT" fdisk : boot flag, id6, FAT16 -> the live USB key
/dev/sdb1 : UUID="d08038C4-...-46B280D81CE4" TYPE="ext2", id=83 System = linux -> my supposed boot partition
/dev/sdb2 : UUID="333D9BEC-...-1659f44757AE", type="swap", id=82, system=Linux swap/solaris -> my swap partition
/dev/sdb3 : UUID="d8c79D26-...-beccc675500e", type = "ext4", id=83, system=Linux -> my linux partition
/dev/sdb3 : UUID="dc66937a-...-0D70125816B3", type = "ext4", id=83, system=Linux -> my future home/data partition
[/code]


I'm trying to installing from a usb key made from the minimal iso file, and unetbootin. I also tried with a simple dd to the key, and i have the same problem.

I tried to use labels and uuids in the fstab, and the same problem occurs.
My grub conf file have the "skip linux uuid" commented.

Does anyone have an idea ? I wanted to build a more efficient system than a classic Debian.
Many thanks !
Matthieu


Last edited by Kashagan on Sat May 03, 2014 6:49 am; edited 1 time in total
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Sat Apr 19, 2014 12:59 pm    Post subject: Reply with quote

look at mv's answer there.
https://forums.gentoo.org/viewtopic-p-7538294.html#7538294
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sat Apr 19, 2014 1:34 pm    Post subject: Reply with quote

krinn wrote:
look at mv's answer there.

I guess this won't help here since Kashagan is using an initrd/initramfs.

Kashagan, I guess that the problem lies in the command line passsed to the kernl. Can you please post the corresponding "linux" line from your /boot/grub/grub.cfg?

It could also be that the modules for your harddisk controller or for the ext4 filesystem are neither compiled into your kernel nor in your initrd...
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sat Apr 19, 2014 2:41 pm    Post subject: Reply with quote

Hello again !
Thanks for your answers !
I'll look at the link tonight.

For information, I compiled the kernel using genkernel with basic settings, plus the option to compile kernel for using uuids instead of labels (i thought it could help for my problem). I also set the fstab file with uuids.

I found one linux line in my grub.cfg :
linux /kernel-genkernel-x86-3.12.13-gentoo root=UUID=d8c79d26....beccc675500E ro


I also noticed that there are some other places where my UUID (same as above) is used (actually two in the Advanced options for Gentoo..." and two for "Gentoo GNU/LINUX", that corresponds to my two grub lines while booting) :
both are "search" lines, one with "--set=root myuuid" and one with --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 myuuid. Both have the --fs-uuid option. Does it seems OK ?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54028
Location: 56N 3W

PostPosted: Sat Apr 19, 2014 3:21 pm    Post subject: Reply with quote

Kashagan,

The kernel does not understand UUIDs itself. It does understand PARTIDs though, which are quite different.
For mounting root by UUID, your initrd has to contain the userspace mount command.
/etc/fstab cannot be read until root is mounted, so we can rule that out for now.

Look carefully at your error
dmesg:
Determining root device...
!! Could not find the root block device in UUID=[d8c79d26-.....-beccc675500e.].

If your kernel can see your HDD controller, there should be a list of all the block devices the kernel ac see.
It looks like your list is empty,
Another hint is ... unknown-block(0,0) in your panic message.

Change to root=/dev/sdb3 as a diagnostic aid
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sat Apr 19, 2014 3:27 pm    Post subject: Reply with quote

Quote:
Change to root=/dev/sdb3 as a diagnostic aid


So i should change that directly into the linux command in the grub.cfg file ? Should i reinstall grub following the handbook after ?
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sat Apr 19, 2014 3:39 pm    Post subject: Reply with quote

Ok, just realised that this was not the solution.
I will change the grub.cfg, but i have a question : the sdx configuration works now because i still have my usbkey plugged.

When i'll unplug it, i think my hard drive will become sda instead of sdb ? Should i use sda3 instead of sdb 3 ?
I also noticed that the grub.cfg file say to change the conf from /etc/default/grub, where the GRUB_DISABLE_LINUX_UUID exists. Should i uncomment the line (which have the TRUE parameter) and restart "grub2-install /dev/sdb" and "grub2-mkconfig -o /boot/grub/grub.cfg" ?

Does the boot order in my bios change that (maybe a stupid question, but i'm wondering) ?
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sat Apr 19, 2014 3:53 pm    Post subject: Reply with quote

I just tried with the /dev/sdb3 in the grub.cfg. Unfortunately, it doesn't work.
I get the following :

">>Determining root device...
!!Blockdevice /dev/sdb3 is not a valid root device...
!!Could not find the root block device in ."

I then tried with /dev/sdb, /dev/sda3 and /dev/sda (without the usb key), an di get the same error.

What worries me is the last line, that does end with "block device in .", like it is missing some arguments.

Any ideas ?
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sat Apr 19, 2014 4:21 pm    Post subject: Reply with quote

Kashagan wrote:
I found one linux line in my grub.cfg :
linux /kernel-genkernel-x86-3.12.13-gentoo root=UUID=d8c79d26....beccc675500E ro

It depends on your initrd how this line is interpreted. I never used genkernel with an initrd, but IIRC you have to use real_root=... instead of root=...
If you have good luck this change alone should be enough.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54028
Location: 56N 3W

PostPosted: Sat Apr 19, 2014 4:55 pm    Post subject: Reply with quote

Kashagan,

Code:
!!Could not find the root block device in ."

Is the empty list of block devices I was telling about earlier.

You have a problem with your kernel/initrd combination so that the drivers for four hard drive chipset are not being loaded.

Post the output of lspci and use wgetpaste to put your kernel .config fire onto a pastebin.


Wild guess - go into your BIOS an switch the hard drive from compatibility/IDE mode to AHCI mode.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sat Apr 19, 2014 5:08 pm    Post subject: Reply with quote

NeddySeagoon wrote:
You have a problem with your kernel/initrd combination

I still think that root= instead of real_root= might be the cause: If root= is interpreted before the modules are loaded, it is clear that the loading of the modules fails due to the chicken-and-egg problem. In contrast, real_root= is certainly not interpreted too early by the genkernel initrd.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54028
Location: 56N 3W

PostPosted: Sat Apr 19, 2014 5:19 pm    Post subject: Reply with quote

mv,

Maybe. Modern kernels do not need
Code:
root=/dev/ram0
as the use of an initrd is assumed.
Indeed,
Code:
root=/dev/ram0
seems to fail as the initrd is no longer attached at /dev/ram0.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sat Apr 19, 2014 8:59 pm    Post subject: Reply with quote

hi !

I got my lspci :

Code:

00:00.0 Host bridge: Intel Corporation System Controller Hub (SCH Poulsbo) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation System Controller Hub (SCH Poulsbo) Graphics Controller (rev 07)
00:1b.0 Audio device: Intel Corporation System Controller Hub (SCH Poulsbo) HD Audio Controller (rev 07)
00:1c.0 PCI bridge: Intel Corporation System Controller Hub (SCH Poulsbo) PCI Express Port 1 (rev 07)
00:1c.1 PCI bridge: Intel Corporation System Controller Hub (SCH Poulsbo) PCI Express Port 2 (rev 07)
00:1d.0 USB controller: Intel Corporation System Controller Hub (SCH Poulsbo) USB UHCI #1 (rev 07)
00:1d.1 USB controller: Intel Corporation System Controller Hub (SCH Poulsbo) USB UHCI #2 (rev 07)
00:1d.2 USB controller: Intel Corporation System Controller Hub (SCH Poulsbo) USB UHCI #3 (rev 07)
00:1d.7 USB controller: Intel Corporation System Controller Hub (SCH Poulsbo) USB EHCI #1 (rev 07)
00:1f.0 ISA bridge: Intel Corporation System Controller Hub (SCH Poulsbo) LPC Bridge (rev 07)
00:1f.1 IDE interface: Intel Corporation System Controller Hub (SCH Poulsbo) IDE Controller (rev 07)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
03:00.0 Ethernet controller: Qualcomm Atheros AR242x / AR542x Wireless Network Adapter (PCI-Express) (rev 01)



Concerning the wgetpaste thing, i'm not sure what to do... (Igot my lspci via an lspci >> temp.txt, an d then copied it on a mounted usb key, from the live usb, as lspci did not worked on my chrooted env).


I tried to edit the linux command directly from grub at boot time, and use real-rool with /dev/sdb3 (with usb key plugged in) and sda3 (without usb key), and the error is not quite the same : it doesn't say that XXX is not a valid root block device. It actually doesn't say anything... just the "could not find..." and then the prompt asking for the value, shell or q.

Concerning ahci/IDE, i do not find it yet. It may be hidden by the manufacturor. I'll try to look at it tomorrow (i'm in France).

Many thanks for your time !!
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sun Apr 20, 2014 9:04 am    Post subject: Reply with quote

Hello,
I just noticed something : my boot line for my hard drive says : "IDE HDD:STxxxxxx -(PM)".
So i'm not even sure that the AHCI/IDE settings may be available, as my drive seems to be an IDE drive.
Could it be possible knowing that this computer have been purchased in autumn 2008 ? It's a 11,6' small laptop, with an AtomZ520.
Many thanks, have great Sunday !
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54028
Location: 56N 3W

PostPosted: Sun Apr 20, 2014 9:25 am    Post subject: Reply with quote

Kashagan,

Your
Code:
00:1f.1 IDE interface: Intel Corporation System Controller Hub (SCH Poulsbo) IDE Controller (rev 07)

Needs the symbol PATA_SCH in the kernel.

Try the following from inside your chroot
Code:
grep PATA_SCH /usr/src/linux/.config
# CONFIG_PATA_SCH is not set
That's from my kernel.
You need CONFIG_PATA_SCH=m or CONFIG_PATA_SCH=y

Your system does not support AHCI, so the option will not be in your BIOS.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sun Apr 20, 2014 9:47 am    Post subject: Reply with quote

Hello
Yeah !

That's the point, i've got the same
Code:
# CONFIG_PATA_SCH is not set

line.

Last hint i ask : where am I supposed to set this flag, and which in y or m should i use ?

I assume I'll have to recompile. Should i set this flag into a env var or use the makemenu ?
I'm not quite sure about getting a correct cfrom this menu. I'd rather use genkernel for now (i'm not yet used to compiling and configuring enough).

Thanks !
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54028
Location: 56N 3W

PostPosted: Sun Apr 20, 2014 10:50 am    Post subject: Reply with quote

Kashagan,

Its set in the kernel configuration file.
If you want to use genkernel, you have to help it with the kernel configuration.

Code:
genkernel -menuconfig all
(it might be --menuconfig) will allow you to make changes to the kernel before its built.

Once in menuconfig press / for search, enter PATA_SCH and the kernel will tell you how to find that option.
Set it as <*>, which is the same as =y
When you are done, exit and save changes. genkernel will continue.
This time it will build PATA_SCH for you.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sun Apr 20, 2014 11:06 am    Post subject: Reply with quote

Ok, i'll do it this afternoon (a few hours of compiling on my atom...).

Can i disable all sata and AHCI drivers, since i work with IDE ?

I'm trying to build a very basic system (this atom and 1 or 2Gb of RAM), with only USB, memory cards, network, and a graphic/tile manager plus basic sound.

I've got the feeling that genkernel compile a quite bigger system, with drivers I won't need at all...
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Sun Apr 20, 2014 11:35 am    Post subject: Reply with quote

Kashagan wrote:

Can i disable all sata and AHCI drivers, since i work with IDE ?

Yes.
But if your goal is to really use a specific kernel for a specific usage, i think you take the wrong path with genkernel. As its name suggest, its goal is the contrary to yours.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54028
Location: 56N 3W

PostPosted: Sun Apr 20, 2014 11:55 am    Post subject: Reply with quote

Kashagan,

Yes, you only need CONFIG_PATA_SCH and all the menu items so you can see it.
Even though you have an IDE drive, it will get a SCSI /dev/sd... name.
Code:
< > ATA/ATAPI/MFM/RLL support (DEPRECATED)  ---
must be off.

In the
Code:
SCSI device support  --->
menu you will need
Code:
  │ │    < > RAID Transport Class                                      │ │ 
  │ │    -*- SCSI device support                                       │ │ 
  │ │    < > SCSI target support                                       │ │ 
  │ │    [*] legacy /proc/scsi/ support                                │ │ 
  │ │        *** SCSI support type (disk, tape, CD-ROM) ***            │ │ 
  │ │    <*> SCSI disk support                                         │ │ 
  │ │    < > SCSI tape support                                         │ │ 
  │ │    < > SCSI OnStream SC-x0 tape support                          │ │ 
  │ │    <*> SCSI CDROM support                                        │ │ 
  │ │    [ ]   Enable vendor-specific extensions (for SCSI CDROM)      │ │ 
  │ │    <*> SCSI generic support                                      │ │ 
  │ │    < > SCSI media changer support                                │ │ 
  │ │    [*] Probe all LUNs on each SCSI device
since your IDE CDROM will be /dev/sr0, which is a SCSI name
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sun Apr 20, 2014 12:24 pm    Post subject: Reply with quote

Krinn, yes it is the final goal. But configuring a kernel do not seems quite easy. I think i'll try to make on gentoo with Genkernel, then (if it works) i'll try to configure my own.

Neddy, I do not have any cdrom drive (it's a 11,6'). So i can unable these ? Should i only uncheck the CDROM line ?

Many thanks for your help !
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54028
Location: 56N 3W

PostPosted: Sun Apr 20, 2014 12:51 pm    Post subject: Reply with quote

Kashagan,

You can disable
Code:
<*> SCSI CDROM support
but not the others.

<*> SCSI disk support is needed for your hard drive.
<*> SCSI generic support is needed for devices that use the SCSI command set over say, USB or some other non native SCSI interface. e.g. USB sticks.
[*] Probe all LUNs on each SCSI device is used by things like card readers with more than one slot.

In short, these other options cover things you are likely to have that you didn't know pretend to be SCSI.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sun Apr 20, 2014 4:38 pm    Post subject: Reply with quote

Rahhhhh ! I was just about to finish make manuconfig, mistyped, and just quit without saving, as i was trying to configure the entire kernel...

I'll start over during the week, or maybe tomorrow...
Back to top
View user's profile Send private message
Kashagan
n00b
n00b


Joined: 19 Apr 2014
Posts: 12
Location: Paris

PostPosted: Sat Apr 26, 2014 9:29 am    Post subject: Reply with quote

Many many thanks !

I managed to configure my kernel (and to reduce the compiling time...), while have my IDE disk working.
Everything boot, i have the login screen.
Next step : having some graphic UI.

Have a good WE !
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum