Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Could not find the root block device in .
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
msfu
n00b
n00b


Joined: 29 May 2019
Posts: 4

PostPosted: Wed May 29, 2019 5:15 pm    Post subject: Could not find the root block device in . Reply with quote

Hi there,

I installed Pentoo (pentoo-full-amd64-hardened-2019.0_-r1) on my external HDD and it works under the old Dual Core Notebook which I used for the Install. But now when i try to boot the HDD under a new ASUS 64 bit Win10 machine it fails to boot and gives me the Error Message:

Code:
The filesystem mounted at /dev/sdb2 does not appear to be valid /, try again
Could not find the root block device in .
Please specify another value or:
-press Enter for the same
-type "shell"for a shell
-type"q" to skip


What I did after that was changing the devices to UUID in the /etc/fstab but nothing happens. There is the same Error Message.
Does anybody know what I can do next?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed May 29, 2019 5:26 pm    Post subject: Reply with quote

msfu,

Code:
Could not find the root block device in .
lists all the block devices that the kernel can see.
In this case, none at all.

As /etc/fstab is on the root partition, it cannot yet be read.
Mounting root depends on the kernel being told where root is, with the root= parameter on the kernel command line in grub.cfg

There is another wrinkle or two for USB external drives. The USB drivers need to be started before root can be mounted. The default startup sequence is to mount root, then start USB.
That's a problem for root on USB.
The fix is to add
Code:
rootwait
to the kernel command line in grub.cfg

If you will be in the habit of moving this external drive between systems, use root=PARTUUID= on the kernel command line.
The kernel understands PARTUUID= without the aid on an initrd and it won't change from system to system.
_________________
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
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed May 29, 2019 5:27 pm    Post subject: Reply with quote

Moved from Installing Gentoo to Unsupported Software.

As Pentoo is not Gentoo.
_________________
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
msfu
n00b
n00b


Joined: 29 May 2019
Posts: 4

PostPosted: Wed May 29, 2019 5:55 pm    Post subject: Reply with quote

Okay, sorry for that nooby question but i tried both and it doesn`t work.
Can you tell me what is the exact code and how to write in grub.cfg file?
Because when I type in : rootwait and save the grub.cfg file and then type grub2-mkconfig -o /boot/grub/grub.cfg
it says /usr/sbin/grub2-mkconfig: line 243: /boot/grub/grub.cfg.new: No such file or directory

What have I forgotten?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed May 29, 2019 7:42 pm    Post subject: Reply with quote

msfu,

To start with, don't change the grub.cfg until you know it works.

Choose the entry you want to boot but press the 'e' key to edit the in memory copy of the boot stanza.
There will be on screen instructions.
At the end of the kernel line, add a space followed by rootwait
Now boot.

If the root filesystem never appears it will wait forever.
rootdelay=7 will make the kernel wait 7 seconds for root to appear, then comtine trying to mount it anyway.

rootwait, is the fastest, rootdelay=<sec> will generate a panic when it times out. The messages may be useful.

You can change root= in the same way.
Code:
/sbin/blkid
will tell the PARTUUIDs
Do not use UUID here unless you have an initrd that understands UUID.
_________________
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
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 7201
Location: Saint Amant, Acadiana

PostPosted: Wed May 29, 2019 8:34 pm    Post subject: Reply with quote

It is an external drive. How it connects, USB? If USB then it still should boot, the UUID's haven't changed. Thus the question: how was it connected when it was working? How it is connected now?
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
msfu
n00b
n00b


Joined: 29 May 2019
Posts: 4

PostPosted: Wed May 29, 2019 8:43 pm    Post subject: Reply with quote

Okay, I resetted the UUID in the /etc/fstab to /dev/sda1 and so on...
If I press e in the boot menu there comes a screen in which the last line is maybe the Kernel line... i really don`t know
i added a space and then rootwait and reboot but then the Display says Error invalid filename rootwait
Then there is Kernel Panic and it reboots after 60 seconds... I also tried rootdelay=7. The same Error.


@Jaglover on the old System it was connected via USB 2.0 and it still works. On the new machine its connected via USB 2.0, too.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed May 29, 2019 9:11 pm    Post subject: Reply with quote

msfu,

The kernel command line starts with the word kernel.

This is from grub-legacy but the kernel and initrd lines are the same.
Code:
kernel /boot/5.0.7-gentoo root=PARTUUID=01e92c83-e4d9-496b-8efa-33f83a14bbd5  rootdelay=5 video=intelfb:mttr:3,ywrap,1024x600-32@60 net.ifnames=0
initrd /boot/early_ucode.cpio                                                                                 
initrd /boot/fbsplash-initrd   

This system boots from USB2 too.

Code:
kernel /boot/5.0.7-gentoo
Tells grub to load the file /boot/5.0.7-gentoo as the kernel.
The rest of the line is passed to the kernel.
Code:
root=PARTUUID=01e92c83-e4d9-496b-8efa-33f83a14bbd5  rootdelay=5 video=intelfb:mttr:3,ywrap,1024x600-32@60 net.ifnames=0

root=PARTUUID=01e92c83-e4d9-496b-8efa-33f83a14bbd5 in partition UUID (not filesystem UUID) to use for the root filesystem..
rootdelay=5 wait 5 seconds for USB to start.
video=intelfb:mttr:3,ywrap,1024x600-32@60 set up the console framebuffer
net.ifnames=0 turn off persistent network naming.

Code:
# blkid
/dev/mmcblk0p1: UUID="76378f34-1dc3-45c1-a4e1-2d01d2949764" TYPE="ext2"
/dev/sda1: UUID="2d6bdd2d-bfd7-4860-a289-7045dc00620a" TYPE="ext2"
/dev/sda2: UUID="5e1c3bfc-c16d-4b1e-bee8-374ce6f46385" TYPE="swap"
/dev/sda3: UUID="5ce8691c-eaab-46de-8498-267b30d25e0c" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb1: UUID="ed6fedb7-ee7e-486b-a51a-a5a9fbf8cc65" TYPE="ext2" PARTLABEL="netbook_boot" PARTUUID="139f2af5-9841-455e-8276-e2fc4b19dce5"
/dev/sdb2: UUID="43584678-7555-4bd6-b99e-5bab5e2cdde8" TYPE="swap" PARTLABEL="swap" PARTUUID="4421a161-7097-4eb0-a9cb-9840acc73eb9"
/dev/sdb3: UUID="449af2b1-485e-4042-8eff-362887bb30c3" TYPE="ext4" PARTLABEL="netbook_root" PARTUUID="01e92c83-e4d9-496b-8efa-33f83a14bbd5"


That tells that root is /dev/sdb3 but /dev/sdb3 is not portable. PARTUUID="01e92c83-e4d9-496b-8efa-33f83a14bbd5" finds it wherever it is.

Its similar in /etc/fstab. /dev/sdXY names are not portable. UUID, PARTUUID or filesystem LABEL all work there.
_________________
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
msfu
n00b
n00b


Joined: 29 May 2019
Posts: 4

PostPosted: Thu May 30, 2019 8:33 am    Post subject: Reply with quote

Thanks a lot for your help!
I Tried it with UUID and rootdelay=5 in the kernel line.
The kernel line now looks like this:
Code:
GRUB_CMDLINE_LINUX="root=dev/ram0 real_root=UUID=a21bb1a9-7f1d-480d-a27b-b084426cc586 rootdelay=5 video=uvesafb:mtrr:3,ywrap,1024x768-16 console=tty1 net.ifnames=0 ro"

Afterwards i typed in the Terminal: grub2-mkconfig -o /boot/grub/grub.cfg
And all what it says is: /usr/sbin/grub2-mkconfig: line243: boot/grub/grub.cfg.new: No such file or directory



Is that right?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Thu May 30, 2019 6:58 pm    Post subject: Reply with quote

msfu,

Is /boot mounted?

I don't use gub2. For testing you can use grubs built in editor.
editing /boot/grub/grub.cfg by hand works but its not recommended as your next grub2-mkconfig -o /boot/grub/grub.cfg will remove your edits.
_________________
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
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software 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