View previous topic :: View next topic |
Author |
Message |
Desulate n00b
Joined: 22 May 2019 Posts: 24 Location: Canada
|
Posted: Mon Oct 28, 2019 5:42 pm Post subject: |
|
|
Hello again Neddy
NeddySeagoon wrote: |
You have a choice of four controllers for your root filesystem.
Code: | Non-Volatile memory controller [0108]: Samsung electronics co Ltd NVMe SSD Controller SM961/PM961 [144d:a804]
SATA controller [0106]: Advanced Micro Devices, inc. [AMD] x370 Series Chipset SATA Controller [1022:43b5] (rev 02)
SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA controller [1b21:0612 (rev 02)
SATA controller [0106]: Advanced Micro Devices, inc. [AMD] FCH SATA Controller [AHIC mode] [1022:7901] (Rev 51) |
From your other posts, it looks like its on NVME. |
Yeah I have my root logical volume on my 960 EVO 1TB M.2 NVMe SSD. I have my swap logical volume on the HDD and the home logical volume spanning the rest of the remaining space on the two block devices minus the space it would take to set up a cache on the nvme or a snap on the HDD should I choose to later.
I also have two SSDs - sda and sdb - which are not being used yet, they are spare drives to install a backup distro later once I've completed the gentoo install. I have a optical drive installed in my system as well.
here is my lsblk:
Code: |
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 331.7M 1 loop
sda 8:0 0 111.8G 0 disk
sdb 8:16 0 111.8G 0 disk
sdc 8:32 0 3.7T 0 disk
`-sdc1 8:33 0 3.7T 0 Part
|-lvm-lv--swap 252:0 0 20G 0 lvm [SWAP]
`-lvm-lv--home 252:2 0 4.3T 0 lvm /home
sdd 8:48 1 14.3G 0 disk
|-sdd1 8:49 1 350M 0 part
`-sdd2 8:50 1 6.3M 0 part
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 931.5G 0 disk
|-nvme0n1p1 259:1 0 2M 0 part
|-nvme0n1p2 259:2 0 601M 0 part /boot
`-nvme0n1p3 259:3 0 930.9G 0 part
|-lvm--root 252:1 0 100G 0 lvm /
`-lvm--home 252:1 0 4.3T 0 lvm /home
|
NeddySeagoon wrote: |
post....
Do you have one of those boards? |
No I use the ASrock x370 and its not mentioned. ASrock boards are known to be similar to ASUS boards though since ASrock
was once a child company under ASUS before they split.
When using the grep string you posted to check the kernel this is the output I received:
Code: | cd /usr/src/linux
grep -A16 -B4 "== 0x144d" drivers/nvme/host/pci.c |
Code: |
static unsigned long check_vendor_combination_bug(struck pci_dev *pdev)
{
if (pdev->vendor == 0x144d && pdev->device == 0xa802) {
/*
* Several Samsung devices seem to drop off the PCIe bus
* randomly when APST is on and uses the deepest sleep state.
* This has been obvserved on samsung "SM951 NVMe SAMSUNG
* 256GB", a "PM951 NVMe SAMSUNG 512GB", and a "Samsung SSD
* 950 PRO 256GB", but it seems restricted to Dell laptops.
/*
if (dmi_match(DMI_SYS_VENDOR, "Dell Inc.") &&
(dmi_match(DMI_PRODUCT_NAME, "XPS 15 9550") ||
(dmi_match(DMI_PRODUCT_NAME, "Precision 5510")))
return NVME_QURK_NO_DEEPEST_PS;
} else if (pdev->vendor == 0x144d && pdev->device == 0xa804) {
/*
* Samsung SSD 960 EVO drops off the PCIe bus after system
* suspend on a Ryzen board, ASUS PRIME B350-A, as well as
* within a few minutes after bootup on a Coffee Lake board -
* ASUS PRIME Z370-A
/*
if (dmi_match(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC.") &&
(dmi_match(DMI_BOARD_NAME, "PRIME B350-A") ||
(dmi_match(DMI_BOARD_NAME, "PRIME Z370-A")))
return NVME_QURK_NO_APST;
}
return 0;
}
|
Do you think its APST issue?? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54578 Location: 56N 3W
|
Posted: Mon Oct 28, 2019 7:38 pm Post subject: |
|
|
Desulate,
As you have other block devices installed but the kernel cannot see any of them don't think its a NVME_QURK_NO_APST issue.
That can only apply to your NVMe. Your SATA drives are just that and they are not seen either.
To read a block device at all, you need all the layers of the SCSI cake. Looking at your kernel again.
Code: | CONFIG_BLOCK=y
CONFIG_MSDOS_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
# CONFIG_IDE is not set
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
ONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y | is all good stuff.
CONFIG_SCSI_LOWLEVEL=y is not required for any devices it your lspci. Its just kernel bloat but is otherwise harmless.
Code: | CONFIG_ATA=y
CONFIG_SATA_AHCI=y | with the above, that should make your SATA devices work.
Turn off Code: | CONFIG_ATA_VERBOSE_ERROR=y | as it generates lots of logspam that is only useful to kernel developers.
Try turning off Code: | CONFIG_SATA_AHCI_PLATFORM=y | I have two systems with identical AMD chipsets.
One only works if that is on the other if its off. I have no idea why.
Right now, its an improvement it we can get
Code: | !!Block device /dev/mapper/lvm-lv--root is not a valid root device...
!!could not find the root block device in
<list_of_block_devices>. |
When you post back, please pastebin your newest kernel .config. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Desulate n00b
Joined: 22 May 2019 Posts: 24 Location: Canada
|
Posted: Mon Oct 28, 2019 8:33 pm Post subject: |
|
|
here is the new kernel config I'll try booting with the changes right now. |
|
Back to top |
|
|
Desulate n00b
Joined: 22 May 2019 Posts: 24 Location: Canada
|
Posted: Mon Oct 28, 2019 8:46 pm Post subject: |
|
|
I'm still getting the:
Code: |
root block device() :: !! Could not find the root block device in .
!! Please specify another value or:
!! - Press Enter key for the same
!! - type "shell" for shell
!! - type "q" to skip
|
neither pressing the "enter" key or "q" key do anything but continue with the same prompt.
The "shell" drops me into a shell that is unaware of any commands.
I scrolled up to look at the logs before the prompt and there are logs indicating sda, sdb, sdc, sdd and the CDrom drive but theres nothing at all relating to the nvme - aka: nvme0n1, ect, ect. There is also no mention of any lvm related terminology. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54578 Location: 56N 3W
|
Posted: Mon Oct 28, 2019 11:18 pm Post subject: |
|
|
Desulate,
lvm is a layer on top of some other block device. In your case, NVMe. If the underlying block device does not appear, then you wont see any mention of LVM.
I'm surprised that the log mentions sda, sdb, sdc, sdd and the CDrom but the kernel says
Code: | root block device() :: !! Could not find the root block device in . | Thats an empty list still.
The shell is busybox. The initrd shell is normally called by something like
Code: | rescue_shell() {
echo "$@"
echo "Something went wrong. Dropping you to a shell."
# have time to read the message
/bin/sleep 20
/bin/busybox --install -s
exec /bin/sh
} |
Code: | /bin/busybox --install -s |
writes all the symlinks that point to busybox to give you your commands.
In a normal install, this is a bad thing. You don't want the full tar command being overwritten by a symlink to busybox, etc.
You can either run Code: | /bin/busybox --install -s | as your first command or prefix every command with busybox.
e.g.
You may need the full path if your PATH environment variable is not yet set. Code: | /bin/busybox ls /dev |
If you give the busybox command alone, it will tell you what commands it knows.
Its will be interesting to see what sd* entries you have in /dev and if there are any nvme entries there.
I don't have NVMe yet so I'm at the end of my knowledge. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Desulate n00b
Joined: 22 May 2019 Posts: 24 Location: Canada
|
Posted: Mon Oct 28, 2019 11:34 pm Post subject: |
|
|
from the shell
returns
Code: |
bsg
bus
console
cpu
cpu_dma_latency
cuse
disk
efi_capsule_loader
efi_test
fb0
full
fuse
hwring
input
kmsg
mapper
mdev.seq
mem
memory_bandwidth
network_latency
network_throughput
null
nvme-fabrics
nvme0
nvme0n1
nvme0n1p1
nvme0n1p2
nvme0n1p3
port
pps0
ptmx
ptp0
pts
random
rfkill
sda
sda1
sda2
sdb
sdc
sdd
sdd1
sg0
sg1
sg2
sg3
sg4
snd
sr0
uhid
uinput
uleds
urandom
usbmon0
usbmon1
usbmon2
usbmon3
usbmon4
vcs
vcs1
vcsa
vcsa1
vcsu
vcsu1
vga_arbiter
vhci
zero
- many ptya* and ttye* - |
so apparently it is seeing them but something is going wrong. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54578 Location: 56N 3W
|
Posted: Mon Oct 28, 2019 11:55 pm Post subject: |
|
|
Desulate,
Check that list carefully. Are all the nvme* and sd* entries you expect to see there?
Maybe /dev isn't yet populated when the kernel goes to mount root.
As a test, at the grub menu, select the entry you want to boot the press 'e' for edit.
Append rootdelay=10 to the kernel command line. Then boot.
When the kernel goes to mount root, it will pause for 10 seconds before proceeding.
Other things will continue as normal.
In the rescue shell ...
If boot fails, what do you have in /dev/mapper ?
Your volume groups should be listed there.
You should have the file /init or /sbin/init. That's the startup script. Read it.
Can you execute its version of Code: | /sbin/vgchange -ay vg | where vg is the name of the volume group you want to start?
You may need Code: | /sbin/lvm vgchange -ay vg | if you are missing the
vgchange -> lvm symlink.
Does vgdisplay list the volume groups you expect?
This is my last post tonight, Its almost midnight where I am. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Desulate n00b
Joined: 22 May 2019 Posts: 24 Location: Canada
|
Posted: Thu Nov 14, 2019 9:18 pm Post subject: |
|
|
Hey I'm back just needed a break lol.
I could see all the logical volumes in /dev so that wasn't the issue.
The root delay didn't help. Eventually I re-installed just to make sure it wasn't some sort of weird conflict with the lvm naming conventions I chose, it wasn't so that was a waste of time.
I've tried using the vgchange -ay vg which didn't help, after I even tried a custom initramfs script with that command in it but it didn't work.
Eventually I managed to find someone with the exact same output and issues who said I should:
Quote: | Disable udev dependency by including a minimal /etc/lvm/lvm.conf in the initramfs |
As seen here, the fourth option for lvm in the custom initramfs section
Code: | /usr/src/initramfs/etc/lvm/lvm.conf Disable udev in lvm.conf
|
Code: | devices {
# Disable scanning udev for md/multipath components.
# This is required with recent versions of lvm2, even if you use another solution for
# your LV device nodes; without it lvm commands will stall for minutes waiting for udev.
multipath_component_detection = 0
md_component_detection = 0
}
activation {
# Set to 0 to disable udev synchronisation (if compiled into the binaries).
udev_sync = 0
# Set to 0 to disable the udev rules installed by LVM2
udev_rules = 0
}
|
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54578 Location: 56N 3W
|
Posted: Thu Nov 14, 2019 9:31 pm Post subject: |
|
|
Desulate,
I don't have udev in my initrd, so it can't get in the way. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Whissi Retired Dev
Joined: 12 Jan 2011 Posts: 222
|
Posted: Sun Nov 24, 2019 10:44 pm Post subject: |
|
|
Please try genkernel-4! When you build with ssh support, i.e. run genkernel with "--ssh" parameter and start system with "dosshd gk.sshd.wait=10" you can ssh into initramfs and view log in /tmp/init.log. _________________ Regards,
Whissi |
|
Back to top |
|
|
Desulate n00b
Joined: 22 May 2019 Posts: 24 Location: Canada
|
Posted: Tue Dec 10, 2019 7:33 pm Post subject: |
|
|
No idea how but I eventually managed to get it working..... well I haven't tested it with amdgpu enabled again yet, but I can boot to a working system otherwise at the moment.
The things I was modifying right before I eventually got it to work today were:
1) Manually editing the /etc/genkernel.conf by hand.
2) Pre-loading the lvm module as well as using 'dolvm' in grub2. |
|
Back to top |
|
|
Whissi Retired Dev
Joined: 12 Jan 2011 Posts: 222
|
Posted: Wed Dec 11, 2019 3:22 pm Post subject: |
|
|
Glad that you sorted your problem.
FYI: When generating the genkernel initramfs with "--lvm", passing "dolvm" on boot as kernel command-line parameter is enough and will take care of loading required modules. _________________ Regards,
Whissi |
|
Back to top |
|
|
Desulate n00b
Joined: 22 May 2019 Posts: 24 Location: Canada
|
Posted: Wed Dec 11, 2019 11:22 pm Post subject: |
|
|
Whissi wrote: | Glad that you sorted your problem.
|
I just wanted to leave a final post thanking you for dropping into the forum Whissi, Its very much appreciated.
I'd also like to thank Neddy and everyone else who took the time tried to help me track down the issue. |
|
Back to top |
|
|
|