Jump to content
Forums in Read-Only Mode - Please use Reddit ×
  • 0

First boot, first problem.


elektroquark

Question

Hi,

New future user of Funtoo here.

I have a problem with the very first boot of Funtoo.

My machine has several HDDs.
I'm now running Mint 17.3 from a 80GB SATA. I'm using it to install Funtoo.

With gParted I partitioned a 145GB SAS drive, (not SATA) on a Marvell 63xx controller, like this:

sdh1    128MB                    ext2        /boot
sdh2    2GB                        swap       swap
sdh3    rest of disk              ext4        /

The controller can do RAID but it's not configured to do it. It has two identical drives, one with Windows 10 and the other waiting for Funtoo.

After first steps installing from Mint, at boot time I get the GRUB2 screen with the Funtoo installation as boot option.
Booting from it the kernel is loaded and a bunch of driver modules tested and loaded.
But then it stops complaining something like this:

_____________________________________________________________________________________________________
!! Block device /dev/sdh3 is not a valid root device...
!! Could not find the root block device in .
Please specify another value or: press Enter for the same, type "shell" for shell, or "q" to skip...
root block device() ::
_____________________________________________________________________________________________________

The fstab is this:

_____________________________________________________________________________________________________
/dev/sdh1    /boot         ext2    noauto,noatime 1 2
/dev/sdh2    none         swap   sw             0 0
/dev/sdh3    /                ext4    noatime        0 1
#/dev/cdrom  /mnt/cdrom    auto    noauto,ro      0 0
_____________________________________________________________________________________________________


Could the kernel be missing the Marvell SAS controller drivers? If so, how is the kernel able to load?

TIA.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Use UUID instead of /dev/sdh3 to designate funtoo root partition.

Boot into mint, mount funtoo boot partition /dev/sdh1 to edit grub.cfg

blkid: /dev/sdh3        2b3090a1-5344-4b8e-af74-d3f72ff5418b    

Change:

linux /kernel-debian-sources-x86_64-4.4.6-1 rootfstype=auto real_root=/dev/sdh3 rootfstype=ext4

To:

linux /kernel-debian-sources-x86_64-4.4.6-1 root=UUID=2b3090a1-5344-4b8e-af74-d3f72ff5418b  rootfstype=ext4

Link to comment
Share on other sites

  • 0

I will try this afternoon. Thank you.

 

What's the problem? Is it assigning a different /dev descriptor at boot time?

 

If it boots, and I think it would do because your are linking it "hardcoded", I will need to update GRUB configuration after each kernel update/upgrade/recompiling,  wouldn't I?

 

Thank you again.

Link to comment
Share on other sites

  • 0

Boot to mint,run this command to give info on your hardware/linux drivers, paste the output.
 

lspci -vv -nn

I will check your system drivers status on debian-kernel configuration with the info and report back.

 

Could the kernel be missing the Marvell SAS controller drivers? If so, how is the kernel able to load?

 

Grub can load the kernel and initramfs if it detects the drive,supports the filesystem of the drive,and the menu provides the correct path. The kernel has to mount the partition holding the rootfs which requires the driver for the hardware and filesystem be built into the kernel or provided by kernel modules built into the initramfs.I'm sure there is a better explanation but I'm self-taught with help from google and run linux as a hobby. I never went to school to learn computer science or worked a job involving computers that provided training.

 

Link to comment
Share on other sites

  • 0

05:00.0 RAID bus controller [0104]: Marvell Technology Group Ltd. 88SE6440 SAS/SATA PCIe controller [11ab:6440] (rev 02)
    Subsystem: Marvell Technology Group Ltd. 88SE6440 SAS/SATA PCIe controller [11ab:6440]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 256 bytes
    Interrupt: pin A routed to IRQ 19
    Region 2: I/O ports at cc00 [size=128]
    Region 4: Memory at fbcff000 (64-bit, non-prefetchable) [size=4K]
    Expansion ROM at fbc80000 [disabled] [size=256K]
    Capabilities: <access denied>
    Kernel driver in use: mvsas

The driver mvsas is built as a module in Linux funtoo 3.19.3-1~exp1 but is not in the initramfs.

rj@funtoo ~ $ sudo modinfo mvsas
filename:       /lib/modules/3.19.3-1~exp1/kernel/drivers/scsi/mvsas/mvsas.ko
license:        GPL
version:        0.8.16
description:    Marvell 88SE6440 SAS/SATA controller driver
author:         Jeff Garzik <jgarzik@pobox.com>
srcversion:     7846B36ED0E936FA397F5A2
alias:          pci:v00001B85d00001084sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001083sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001080sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001044sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001043sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001042sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001041sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001040sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001022sv*sd*bc*sc*i*
alias:          pci:v00001B85d00001021sv*sd*bc*sc*i*
alias:          pci:v00001B4Bd00009485sv*sd00009485bc*sc*i*
alias:          pci:v00001B4Bd00009485sv*sd00009480bc*sc*i*
alias:          pci:v00001B4Bd00009445sv*sd00009480bc*sc*i*
alias:          pci:v00001B4Bd00009480sv*sd00009480bc*sc*i*
alias:          pci:v00001103d00002760sv*sd*bc*sc*i*
alias:          pci:v00001103d00002744sv*sd*bc*sc*i*
alias:          pci:v00001103d00002740sv*sd*bc*sc*i*
alias:          pci:v00001103d00002722sv*sd*bc*sc*i*
alias:          pci:v00001103d00002721sv*sd*bc*sc*i*
alias:          pci:v00001103d00002720sv*sd*bc*sc*i*
alias:          pci:v00001103d00002710sv*sd*bc*sc*i*
alias:          pci:v00009005d00000450sv*sd*bc*sc*i*
alias:          pci:v000017D3d00001320sv*sd*bc*sc*i*
alias:          pci:v000017D3d00001300sv*sd*bc*sc*i*
alias:          pci:v000011ABd00009180sv*sd*bc*sc*i*
alias:          pci:v000011ABd00009480sv*sd*bc*sc*i*
alias:          pci:v000011ABd00006485sv*sd*bc*sc*i*
alias:          pci:v000011ABd00006440sv*sd*bc*sc*i*
alias:          pci:v000011ABd00006440sv*sd00006480bc*sc*i*
alias:          pci:v000011ABd00006340sv*sd*bc*sc*i*
alias:          pci:v000011ABd00006320sv*sd*bc*sc*i*
depends:        libsas,scsi_transport_sas,scsi_mod
intree:         Y
vermagic:       3.19.3-1~exp1 SMP mod_unload modversions 

Check if mvsas.ko is on the root install partition of kernel-debian-sources-x86_64-4.4.6-1 .

/lib/modules/4.4.6-1/kernel/drivers/scsi/mvsas/mvsas.ko

If yes, maybe kernel can mount /root if mvsas.ko is added to initramfs:

Remount /boot and /root install partitions,chroot as you did in install directions.

emerge genkernel

Edit /usr/share/genkernel/arch/x86_64/modules_load, add mvsas to MODULES_SCSI=

Generate new initramfs that includes mvsas:

genkernel --loglevel=3 initramfs

Move new initramfs from /var/tmp/genkernel to /boot

Write down the name of the new initramfs, when you exit chroot back to mint edit grub.cfg with new initramfs name.

Initramfs can be extracted to verify contents, ie. mvsas.ko has been added.

cp /var/tmp/genkernel/initramfs .
mkdir initramfs.new && cd $_
unxz < ../initramfs | cpio -i --make-directories
find   -iname mvsas.ko

If mvsas.ko was not included on your stage3 or computer doesn't boot after adding mvsas to initramfs:

Emerge genkernel and gentoo-sources.

Configure/build kernel with mvsas compiled into the kernel.

 

 

Link to comment
Share on other sites

×
×
  • Create New...