Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo Guest on WS2012 Hyper-V Can not find 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
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Fri Aug 16, 2013 2:44 am    Post subject: Gentoo Guest on WS2012 Hyper-V Can not find root device. Reply with quote

Howdy,
It has been a few years since I've installed Gentoo but now that I have access to a Hyper-V guest on a Windows 2012 server I figured I'd have fun with it again.

Anyhow. I've installed gentoo yet when I reboot I'm faced with:

Code:
!! Block device /dev/sda3 is not a valid root device...


I've spent about 3 days off and on trying to solve this on my own and have read every even remotely related post on these forums all to no avail.

I will put gists of my dmesg, kernel config and anything else related on github but those will have to wait until after work tomorrow. In the meantime, if anyone would like to offer some suggestions (and like I mentioned, I have googled a ton of things like "gentoo hyper-v root device" and read every post I came across) I believe my hv_* modules aren't being loaded but I don't know how to create an initramfs (I used genkernel when I needed one in the past and only know how to build the basic kernel by hand.)

Thanks,
- FJM
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


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

PostPosted: Fri Aug 16, 2013 3:21 am    Post subject: Reply with quote

Block device /dev/sda3 is not a valid root device ... <vital information missing>
What is it, (0,0) or something else?
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Fri Aug 16, 2013 10:36 am    Post subject: Reply with quote

Jaglover wrote:
Block device /dev/sda3 is not a valid root device ... <vital information missing>
What is it, (0,0) or something else?


Yes, my apologies. I installed grub to (hd0,0). Also, I'm using grub legacy - should I be using grub2 or is that irrelevant?

Leaving for work now but I will have links to my dmesg and kernel config when I get back.
Back to top
View user's profile Send private message
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Sun Aug 18, 2013 11:19 pm    Post subject: Reply with quote

I've been unsuccessful at getting anything to an online pastebin... All of the gist cli scripts I've tried fail to varying degrees. Any recommendations? (Preferably ones that don't involve emerging ruby since the non-hyper-v drivers of the install cd are very, very slow for some reason.)
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


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

PostPosted: Sun Aug 18, 2013 11:35 pm    Post subject: Reply with quote

In that case you need to tell more about your system, how it boots, is it manually configured kernel, what is the exact error message.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Mon Aug 19, 2013 1:07 am    Post subject: Reply with quote

https://gist.github.com/frankjmattia/a707b730c6da19c1df15

Ah, sftp to the rescue!

I'm using genkernel to compile the kernel but I'm supplying my own .config. I did try with the genkernel default config which gave me the same results.

The exact error is:
!! Could not find the root block device in .

Less than helpful, I know. Hopefully my dmesg & kernel config will be of some value.
Back to top
View user's profile Send private message
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Mon Aug 19, 2013 1:13 am    Post subject: Reply with quote

frankjmattia wrote:
https://gist.github.com/frankjmattia/a707b730c6da19c1df15


I updated the gist to include the output of lspci -v from the install CD. Dmesg makes it seem like it's using the hv drivers but lspci says it's using the ata_piix driver. Is there any way to force the hv drivers in the install environment?
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


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

PostPosted: Mon Aug 19, 2013 11:40 am    Post subject: Reply with quote

Quote:
!! Could not find the root block device in .

I've never used genkernel, thus I'm not familiar with it's error messages, are you sure initrd is loaded? Normally the kernel tries all drivers it has built in, even the floppy. Looks like your kernel has no drivers at all.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Mon Aug 19, 2013 12:34 pm    Post subject: Reply with quote

Yes I do believe that is the case. When I drop into a shell my modules are not present. When I run genkernel it builds the modules but doesn't seem to copy them to the initramfs. I'm not opposed to manual kernel compilation but have not been successful in manually making an initramfs. What do I need to do to guarantee it has the modules I need in it?
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


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

PostPosted: Mon Aug 19, 2013 11:30 pm    Post subject: Reply with quote

Manually configured kernel does not need initrd (unless you need some exotic blob). Just make sure everything needed for booting is compiled in, not as module. This includes support for [virtual] HDD controller, partition table in use, root filesystem, devfs if you are using udev, tmpfs.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Tue Aug 20, 2013 12:45 am    Post subject: Reply with quote

I believe I've made some kind of headway but don't know what to do with it.

This time when I dropped into a shell I was able to modprobe all of the hv_* drivers individually and then after exiting the shell it found /dev/sda3 and booted without issue. My question to you is how to I have it automatically probe the required hv_* drivers at boot?

I did try compiling all the modules for hv_* into the kernel maybe four or five attempts ago but had the same issue - which doesn't make sense in retrospect. For some reason that I've yet to figure out, no one in any of the other threads I had read advocated compiling in the microsoft drivers - though it does make sense to me to do that.

Anyway, I appreciate your help and I'm now curious about having the initrd probe my hv drivers automatically. Is that possible?
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


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

PostPosted: Tue Aug 20, 2013 12:53 am    Post subject: Reply with quote

What's in initrd gets loaded, assuming your bootloader takes care of loading initrd, this is not the job for kernel.
However, if required drivers are compiled into kernel you do not need initrd. Just make sure you install the new kernel properly, that is the /boot is mounted (if you have separate /boot) and your bootloader conf is updated.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21489

PostPosted: Tue Aug 20, 2013 1:40 am    Post subject: Reply with quote

You could have the initrd load the drivers, but since we know that they must be loaded to use the root device and we know that you will always use the root device, then we know that they must always be loaded. Given that, why are you making them modules instead of builtin?
Back to top
View user's profile Send private message
frankjmattia
n00b
n00b


Joined: 26 Dec 2004
Posts: 14
Location: Waterford, NJ

PostPosted: Tue Aug 20, 2013 2:09 am    Post subject: Reply with quote

I tip my hat to you both. I was very caught up in not wanting to compile those drivers in and just "having modules like everyone else" but in the end I don't think it was worth it. For some reason, this time it booted with them compiled in. I am now booting up without error but something that still seems weird is that when I run lspci -v it still says it's using the ata_piix driver. I was under the impression it should be using hv_storvsc but I may be mistaken. Any suggestions? Thank you both for the advice.
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