Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Kernel Cannot Find Any Block Devices
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
Jaglover
Watchman
Watchman


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

PostPosted: Tue Jul 30, 2019 10:02 pm    Post subject: Reply with quote

You could try with root=/dev/nvme0n1p7 instead of PARTUUID, for testing purposes.
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
nativemad
Developer
Developer


Joined: 30 Aug 2004
Posts: 911
Location: Switzerland

PostPosted: Wed Jul 31, 2019 10:12 am    Post subject: Reply with quote

The question is why it only tries iso9660 to mount root!?
Are you sure you boot the right kernel corresponding to the posted kernelconfig?! Maybe you forgot to copy it over after compiling or refind still points to an old copy or something like that?!
_________________
Power to the people!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Thu Aug 01, 2019 5:32 pm    Post subject: Reply with quote

ijcon40,

Lets see if we can answer nativemads question by analysis. The suspician is that yo are not running the kernel you think you are.

Mount all your partitions and get into the chroot, like you were going to build a kernel.
Building the kernel starts with the kernel .config file, so that must be the oldest file that we will look at.

What does
Code:
ls -l /usr/src/linux/.config
show as its timestamp?
Make a note of this
Compare it to the timestamp on
Code:
/usr/src/linux/boot/bzImage
That's your kernel binary.
To be derived from the .config above it must be newer.

Look at your kernel binaries in /boot. One of them, if there are more than one, should have the same timestamp as bzImage.

Look at your refind configuration file. Is it loading the correct kernel?
If there is a menu of kernels, are you choosing the right menu item?

When it all looks right but it doesn't work, we need to eliminate the kernel build, install and boot selection processes.
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Mon Aug 05, 2019 3:25 pm    Post subject: initramfs issue? Microcode? Reply with quote

Ok so I switched to using a lvm following https://wiki.gentoo.org/wiki/Full_Disk_Encryption_From_Scratch_Simplified although there was a lvmetab error that required copying /run/lvm from the sysrecovery drive. Everything looks good/ there are no breaking errors during the build process. However, on booting and selecting my gentoo drive through the grub loader, I get this screen https://imgur.com/gallery/ox4Khbe at which point it hangs.

I'm pretty sure the issue is with either the initramfs or the microcode seeing a resemblance to this issue https://forums.gentoo.org/viewtopic-t-1059434.html. I've been using genkernel this time so I'm pretty sure the install process is actually doing what I want, I'll upload a config file next time I compile it (I forgot the --save-config param last time). Another thing I forgot to note, I can't use the livecd for the install process because it also freezes one line in with the same unblinking cursor. This leads me to believe that it is a commonality between the two being the initramfs.

My plan as of right now is to a) follow the intel microcode install guide on the wiki b) remove the microcode entirely (if a doesn't work), but if anyone has any other suggestions, that'd be great. Thanks!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Mon Aug 05, 2019 3:38 pm    Post subject: Reply with quote

ijcon40,

Your screenshot shows the boot loader loading both the kernel and the initrd. Once thats complete, the boot loader hands over to the kernel.
Before the kernel mounts the initrd as a temporary root filesystem, it should write some text to the console.

The first of which is Decompressing Linux...
This suggests that the kernel cannot draw on the console at all.
That does not mean that the system cannot boot. A console is not required to boot.

genkernel has issues too. Its not clever, it loads a one size fits all kernel .config.

LUKS is a whole nest of vipers on on its own.
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Mon Aug 05, 2019 3:57 pm    Post subject: Enabling a console Reply with quote

Alright, so let's say that is the issue, that the kernel cannot draw on the console, how would I go about fixing that? I'd sort of like to have a system that does more than a jpg could. I'm pretty sure the LUKS system is fine, although it doesn't prompt me for a password so that's an issue because without that it should not be able to mount anything. That sort of points me to think that the issue is before the root filesystem mounts. Unless I'm missing something the pathway is kernel->initrd->mount fs, so if it isn't prompting me for a password, that should happen in initrd or before then. I guess first things first I should work on resolving why the kernel can't write to the console. Then I can see if it is actually trying to prompt something that I cannot see.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Mon Aug 05, 2019 4:51 pm    Post subject: Reply with quote

ijcon40,

You may have a console but its black text on a black background, which is difficult to read :)
The input side may be good, you just can't see your LUKS prompt.
Certainly if it is there and you don't enter your password, the boot will stall.

Tell us the steps you used to build the kernel and pastebin the kernel .config file.
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Tue Aug 06, 2019 2:20 am    Post subject: kernel config and build process Reply with quote

Alright, so here's a pastebin of my config: https://pastebin.com/tDEx5v0P
For my build process I ran
Code:
genkernel --luks --lvm --no-zfs --kernel-config=/usr/src/linux/v1.0.0.config --makeopts=-j5 all

So in order to get a config file to share, I did
Code:
make menuconfig
then generated a config v1.0.0 and ran it using the above genkernel. The difference when I used genkernel --menuconfig and the genkernel with a premade config is that it actually gave me the lines including luks support and lvm which hadn't occured in the raw
Code:
genkernel --menuconfig --luks --lvm --no-zfs all
, so I'm going to give a reboot now and see if anythings changed. Update: rebooted the system and got the same error :) (atleast its consistent)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Fri Aug 09, 2019 4:08 pm    Post subject: Reply with quote

ijcon40,

Please post the output of
Code:
lspci -knn

The -k prints the low level kernel module in use and the -nn prints the Vendor and Device IDs.
It identifies most of your hardware and makes checking for kernel support easy.

The black text on a black background was intended to be tongue in cheek. It means that everything works, you just can't see it.

You console driver is in two main parts. The input part and the output part. Each part is in layers. You need all the layers for both parts to get a working console.
Each of the layers in each part has lots of choices too. When you miss a piece out, that part of your console won't work.
However, a working console is not required for booting, not even with LUKS. LUKS can be configured to read a passwordless key from a USB stick.
Then its possible to ssh into the system.

Your video system almost certainly needs
Code:
CONFIG_DRM=m
as Intel, AMD and nVidia all need that today.
Most Direct Render Manager video drivers provide a framebuffer video console driver too. The nVidia binary blob being the exception.
We need sight of your lspci to do more than generalise here.

As you have
Code:
CONFIG_DRM=m
you won't get a framebuffer console until the module has loaded. Depending on how the initrd is made that may mean the initrd or real root filesystem.
That's a feature, not a bug. You also need firmware, which will be provided in /lib/firmware, as long as linux-firmware is installed.
The video console can be started earlier but that's something for later.

Your config has
Code:
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_SIMPLE=y
and I would expect one of them to run then from early in the boot, then for the kernel to switch to the DPB provided framebuffer console.

Code:
/usr/src/linux/arch/x86/boot/compressed/misc.c:   debug_putstr("\nDecompressing Linux... ");

Decompressing Linux... is the first thing the kernel writes to the screen. Its output using some low level code and is written right at the start of the decompression, before any console driver can be used.
That you don't see it tells that the kernel has done it and switched away to a different region of memory for the screen.
It used to take several seconds for that to happen but hardware has got much faster, so not seeing that message is a good sign.
Seeing it today says that something went wrong very early in the kernel startup sequence.

There should be console text without the initrd or real root being mounted, that points to a kernel issue, as at that time, the boot loader has done its thing and the kernel is all alone.
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Fri Aug 09, 2019 11:27 pm    Post subject: lspci -knn Reply with quote

First of all, thanks so much for the recommendation for that command, this is a ton of really helpful information (even if I don't really know what to with most of it :) ). Secondly, this command crashes my xfce environment on sysrecovery, meaning that I can't directly upload it through one linux session, I was able to touch a file on EFI partition and save it and I am now copying it through windows :)
Alright here's the command log:
Code:
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5914] (rev 08)
   Subsystem: Huawei Technologies Co., Ltd. Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [19e5:3e04]
   Kernel driver in use: skl_uncore
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 [8086:5917] (rev 07)
   Subsystem: Huawei Technologies Co., Ltd. UHD Graphics 620 [19e5:3e04]
   Kernel driver in use: i915
   Kernel modules: i915
00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 08)
   Subsystem: Huawei Technologies Co., Ltd. Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [19e5:3e04]
   Kernel driver in use: proc_thermal
   Kernel modules: processor_thermal_device
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller [8086:9d2f] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP USB 3.0 xHCI Controller [19e5:3e04]
   Kernel driver in use: xhci_hcd
   Kernel modules: xhci_pci
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Thermal subsystem [8086:9d31] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP Thermal subsystem [19e5:3e04]
   Kernel driver in use: intel_pch_thermal
   Kernel modules: intel_pch_thermal
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 [8086:9d60] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP Serial IO I2C Controller [19e5:3e04]
   Kernel driver in use: intel-lpss
   Kernel modules: intel_lpss_pci
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 [8086:9d61] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP Serial IO I2C Controller [19e5:3e04]
   Kernel driver in use: intel-lpss
   Kernel modules: intel_lpss_pci
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-LP CSME HECI #1 [8086:9d3a] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP CSME HECI [19e5:3e04]
   Kernel driver in use: mei_me
   Kernel modules: mei_me
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 [8086:9d10] (rev f1)
   Kernel driver in use: pcieport
00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 [8086:9d14] (rev f1)
   Kernel driver in use: pcieport
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 [8086:9d18] (rev f1)
   Kernel driver in use: pcieport
00:1d.2 PCI bridge [0604]: Intel Corporation Device [8086:9d1a] (rev f1)
   Kernel driver in use: pcieport
00:1e.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 [8086:9d27] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP Serial IO UART Controller [19e5:3e04]
   Kernel driver in use: intel-lpss
   Kernel modules: intel_lpss_pci
00:1e.3 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Serial IO SPI Controller #1 [8086:9d2a] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP Serial IO SPI Controller [19e5:3e04]
   Kernel driver in use: intel-lpss
   Kernel modules: intel_lpss_pci
00:1f.0 ISA bridge [0601]: Intel Corporation Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D4E [8086:9d4e] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point LPC Controller/eSPI Controller [19e5:3e04]
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-LP PMC [8086:9d21] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP PMC [19e5:3e04]
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP HD Audio [19e5:3e04]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel, snd_soc_skl
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
   Subsystem: Huawei Technologies Co., Ltd. Sunrise Point-LP SMBus [19e5:3e04]
   Kernel driver in use: i801_smbus
   Kernel modules: i2c_i801
01:00.0 3D controller [0302]: NVIDIA Corporation GP108M [GeForce MX150] [10de:1d12] (rev a1)
   Subsystem: Huawei Technologies Co., Ltd. GP108M [GeForce MX150] [19e5:3e04]
   Kernel driver in use: nouveau
   Kernel modules: nouveau
02:00.0 Non-Volatile memory controller [0108]: Toshiba America Info Systems Device [1179:0116]
   Subsystem: Toshiba America Info Systems Device [1179:0001]
   Kernel driver in use: nvme
03:00.0 PCI bridge [0604]: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] [8086:15c0] (rev 01)
   Kernel driver in use: pcieport
04:00.0 PCI bridge [0604]: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] [8086:15c0] (rev 01)
   Kernel driver in use: pcieport
04:01.0 PCI bridge [0604]: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] [8086:15c0] (rev 01)
   Kernel driver in use: pcieport
04:02.0 PCI bridge [0604]: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] [8086:15c0] (rev 01)
   Kernel driver in use: pcieport
3b:00.0 USB controller [0c03]: Intel Corporation Device [8086:15c1] (rev 01)
   Subsystem: Intel Corporation Device [8086:0000]
   Kernel driver in use: xhci_hcd
   Kernel modules: xhci_pci
3c:00.0 Network controller [0280]: Intel Corporation Wireless 8265 / 8275 [8086:24fd] (rev 78)
   Subsystem: Huawei Technologies Co., Ltd. Wireless 8265 / 8275 [19e5:3e02]
   Kernel driver in use: iwlwifi
   Kernel modules: iwlwifi

I'm pretty confident that once I figure out how to make sure any one of these gets installed in the kernel I'll be able to do it for all of them, although I guess I'll see if that is actually the issue. Thanks for all the help!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Sat Aug 10, 2019 9:18 am    Post subject: Reply with quote

ijcon40,

Lets go through one entry in detail as as aid to understanding. How about your video card.
Code:
01:00.0 3D controller [0302]: NVIDIA Corporation GP108M [GeForce MX150] [10de:1d12] (rev a1)
   Subsystem: Huawei Technologies Co., Ltd. GP108M [GeForce MX150] [19e5:3e04]
   Kernel driver in use: nouveau
   Kernel modules: nouveau

The
Code:
01:00.0
is the PCI bus address. That's Bus 01 Function :00 subfunction 0.
Often video cards have an HDMI sound card too. That's normally at subfunction 1.
Code:
3D controller [0302]: NVIDIA Corporation GP108M [GeForce MX150]
is the name of the device. lspci gets that from a lookup table. using the Vendor and Device IDs
Code:
[10de:1d12]

That saves me using Google. For very new hardware, the lookup table may not be populated, so we need the numbers.
Your GPU is a part of another, different subsystem.
Code:
Subsystem: Huawei Technologies Co., Ltd. GP108M [GeForce MX150] [19e5:3e04]

Devices drivers look up the Vendor and Device IDs at load time and if the driver doesn't know the device, it won't work with it.
The
Code:
modinfo <module_name>
command wll tell you all about that.
The last two lines
Code:
   Kernel driver in use: nouveau
   Kernel modules: nouveau
tell the lowest level kernel module in use. It does not list the entire kernel software stack needed to make the device work.

It wasn't an accident I picked your nVidia GPU. You also have an Intel GPU
Code:
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 [8086:5917] (rev 07)
   Subsystem: Huawei Technologies Co., Ltd. UHD Graphics 620 [19e5:3e04]
   Kernel driver in use: i915
   Kernel modules: i915


That strongly suggests that you have an Optimus Graphics system. Optimus is a low power low cost way af making it appear as if you have two graphics systems when in fact, its only one and a half.
The Intel one is the whole one. The nVidia GPU has no connection to the display surface and can only draw in the pixel buffer.
Any attempt to use the nVidia GPU on its own results in a blank screen as the Intel GPU is the only one that can copy the (shared) pixel buffer to the display surface.

Please check your paperwork for Optimus Graphics. There are a small number of laptops that really have two graphics systems but they are quite rare.
It influences the kernel setup a little and the Xorg setup a lot.
The choices that affect the kernel are will you use the open source nouveau driver or the binary blob nvidia-drivers for Xorg?

To get a console, we will assume you don't mind rebuilding your kernel to sort that and check your kernel for
Code:
Kernel driver in use: i915


Code:
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=m
# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
...
CONFIG_DRM_GMA500=m
CONFIG_DRM_GMA600=y
CONFIG_DRM_GMA3600=y

Well, NOUVEAU support is off, which is correct for using the binary blob nvidia-drivers for Xorg.
The rest of that looks correct for
but notice that CONFIG_DRM_I915=m, so no console until the module loads.

If you have a system with real dual graphics, you must designate one one them primary. It will display the boot messages.
I've known users to connect the display to the other GPU. :)

It would be good to read the user manual for your system. The Huawei Technologies Co is the vendor but I can't tell the model.
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Sat Aug 10, 2019 10:52 pm    Post subject: Modular Graphics Support Reply with quote

Hey,

I went ahead and made
Code:
CONFIG_DRM_I915=y
so that the kernel wouldn't need to wait for the module to load in order to get the console, but after recompiling the issue persisted. Furthermore, comparing the config for the arch-linux that sysrecovery includes, it looks like
Code:
CONFIG_DRM_NOUVEAU=m
is in the kernel config. I don't know if that means that arch is doing some extra processing to figure out which graphics system to use or what, but then it also makes sense to me to include it as it looks like the lspci -knn uses nouveau for the Nvidia MX150. I did check the Nvidia main page and found that it does look like the MX150 is running in Optimus configuration, so I guess that means selecting a primary graphics card shouldn't really be an issue as the MX150 is required to work as a child of the Intel. For reference this is the laptop I am working with: https://consumer.huawei.com/us/tablets/matebook-x-pro/, although the website actually sucks for figuring out what is in it. It's also interesting to me that the sysrecovery disk uses I915 as https://wiki.gentoo.org/wiki/Intel suggests that an intel processor past the third gen should use the I965 driver, which I have configured into the kernel. It doesn't seem like I965 has the same kernel support (atleast it is not present when running a ^w on my config). I plan on going through my config again to make sure that the graphics card is supported, although if the cpu requires a different variant of intel support than the graphics card, is there a way to implement both blobs in the kernel? I think it may make sense for me to use the native Nouveau support rather than the nvidia blob for Xorg, atleast just until I can get everything else squared away. My questions now are about integrating drivers/ blobs into the kernel, and if needed setting graphic card priority. Thanks for the help!

-ijcon40
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Sun Aug 11, 2019 10:31 am    Post subject: Reply with quote

ijcon40,

I've been down in the weeds and not paying attention to the bigger picture.

Your lspci says you have a
Code:
Intel Corporation Sunrise Point
chipset. That's a System on a Chip (SoC) that has some General Purpose I/O that goes on to control lots of other things.
It has its own driver in the kernel. It appears that the whole menu its on is off in your kernel.

Code:
# CONFIG_PINCTRL is not set
is a menu. In menuconfig, enable that menu, then inside the menu, you need
Code:
 <*>   Intel Sunrisepoint pinctrl and GPIO driver


Going through your lspci.

skl_uncore is provided by CONFIG_PERF_EVENTS_INTEL_UNCORE=y

i915 is correct in the kernel. It provides kernel support for all Intel chipsets that provide DRM. Xorg and mesa have differing drivers for differing families.

proc_thermal requires that
Code:
# CONFIG_INT340X_THERMAL is not set
is on.

xhci_hcd is your USB3 driver.
Code:
CONFIG_USB_XHCI_HCD=m
is OK. You may need it in your initrd if you want to use an external USB keyboard to enter your LUKS password.
Likewise
Code:
CONFIG_USB_XHCI_PCI=m


intel_pch_thermal is provided by
Code:
# CONFIG_INTEL_PCH_THERMAL is not set


intel_lpss_pci is provided by one of
Code:
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
, probably the one ending in PCI. I don't see, the ACPI one loaded.
Your
Code:
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
are for pre Surrise Point chipsets.

Low bandwidth built in hardware oftem use the I2C bus, so your touchscreen, touchpad and keyboard may need that.

mei_me is provided by
Code:
# CONFIG_INTEL_MEI_ME is not set
Youu probably don't need need it. Its the Management Engine Interface and is the cause of a whole class of remote exploits.
Add it in now, once everything works, turn it off again.

pcieport comes from CONFIG_PCIEPORTBUS=y

snd_hda_intel is provided by
Code:
CONFIG_SND_HDA=m

snd_soc_skl is on the
Code:
<M>   ALSA for SoC audio support  --->
which you have
Code:
# CONFIG_SND_SOC is not set

Then there is another menu
Code:
[*]   Intel ASoC SST drivers
Inside that menu its
Code:
<M>     Skylake Platforms


You will be getting quite good at kernel rebuilds after all this :)
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Mon Aug 12, 2019 4:09 am    Post subject: A hidden gem Reply with quote

Alright, so I implemented all of those changes (the Pin control menu was surprising hidden), and recompiled the kernel. Here's a new pastebin of the config I used: https://pastebin.com/0HNJavvm.

I had a couple questions from the last post. On the teach a man to fish idea, was there a place that you found the driver-kernel settings or was that based on experience? I did a fair number of queries about the various lspci drivers and modules and very rarely found applicable kernel settings. I'm also a little bit curious as to what I'm missing, I'm still getting the same freezing after initramfs logs itself in the boot console. I figured it may have been the graphics card optimus issue, but I think I resolved that in the kernel config and added the necessary support through emerging the linux-firmware package and adding that external driver to the kernel (I915). Thanks for all the help, sorry this is being so finicky.

-ijcon40
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Mon Aug 12, 2019 5:23 pm    Post subject: Reply with quote

ijcon40,

Some of the drivers I know from experience.
Others I had to grep the kernel source code for. e.g, from wy .bash_history
Code:
cd /usr/src/linux
grep -R intel-lpss

That outputs
Code:
drivers/mfd/intel-lpss-pci.c:#include "intel-lpss.h"
drivers/mfd/intel-lpss-pci.c:   .name = "intel-lpss",
drivers/mfd/intel-lpss-acpi.c:#include "intel-lpss.h"
drivers/mfd/intel-lpss-acpi.c:      .name = "intel-lpss",
drivers/mfd/intel-lpss.c:#include "intel-lpss.h"
drivers/mfd/Makefile:obj-$(CONFIG_MFD_INTEL_LPSS)   += intel-lpss.o
drivers/mfd/Makefile:obj-$(CONFIG_MFD_INTEL_LPSS_PCI)   += intel-lpss-pci.o
drivers/mfd/Makefile:obj-$(CONFIG_MFD_INTEL_LPSS_ACPI)   += intel-lpss-acpi.o

There are a few hits in the Makefile where it reads the .config. So that's working backwards.
From the module name, you get the kernel symbol name.
Next you feed the symbol name into the search function in
Code:
make menuconfig

However, that fails when the symbol name you are search for is hidden.

In menuconfig, press 'z' to toggle the display of hidden symbols. Now the search will find them.
This allows you to go to them and read the help.
The help includes a boolean expression Depends on: which must evaluate to true before the option can be selected.
Depending on the 'z' toggle, it will be hidden if it cannot be selected.

Sometimes it helps to read the Kconfig in the lowest level directory that has such a file.
In this case its drivers/mfd/Kconfig
These Kconfig files drive all the kernel configuration utilities. To continue the same example
Code:
config MFD_INTEL_LPSS_PCI
        tristate "Intel Low Power Subsystem support in PCI mode"
        select MFD_INTEL_LPSS
        depends on X86 && PCI
        help
          This driver supports Intel Low Power Subsystem (LPSS) devices such as
          I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
          PCH) in PCI mode.

It Depends on X86 && PCI and forces on MFD_INTEL_LPSS.

Can you post an image from a digital camera on an image hosting site. It may be useful.

You have nome firmware correctly built into the kernel
Code:
CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE="i915/skl_dmc_ver1_27.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
but I don't know if its the right firmware or not.
This firmware will not be used unless the kernel code that needs it is also built in but its not
Code:
CONFIG_DRM_I915=m

That's not a showstopper, both the module and firmware will be loaded after root is mounted. The built in firmware will never be referenced.

Look in /boot and check the time and date on the kernel and initrd files.
Look through grub.cfg and ensure you are booting the entry that points to your newest kernel and initrd pair.
Its often not the default entry.

If you want me to look over your shoulder, post the output of
Code:
ls -l /boot
and the content of grub.cfg.
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Tue Aug 13, 2019 1:02 am    Post subject: Reply with quote

Alright, here's the ls -l from /boot
Code:
total 23220
drwxr-xr-x 3 root root     4096 Aug  4 11:24 EFI
drwxr-xr-x 6 root root     4096 Aug 11 19:45 grub
-rwxr-xr-x 1 root root 11683204 Aug 11 16:16 initramfs-genkernel-x86_64-4.19.57-gentoo
-rwxr-xr-x 1 root root  8115872 Aug 11 16:00 kernel-genkernel-x86_64-4.19.57-gentoo
-rwxr-xr-x 1 root root  3963012 Aug 11 16:00 System.map-genkernel-x86_64-4.19.57-gentoo


Part of my process is deleting almost all of the content on /boot when i recompile the kernel to verify that the kernel on /boot is the one I want it to be. I also wen ahead and changed
Code:
CONFIG_DRM_I915=y
instead of modular as that way it uses the downloaded firmware. I'll recompile tonight.

So I wasn't quite sure what you were asking for with regards to the screenshot, so here's a pastebin to my KConfig: https://pastebin.com/RYxk9enk
Although, it seems likely that you meant the error I am getting, which is https://imgur.com/gallery/ox4Khbe
I think it's also important to note that I get the exact same error when I try to use the livecd iso from the amd64 page https://www.gentoo.org/downloads/
I'll recompile the kernel and see if that unmodularizing the firmware changes anything. Thanks!
-ijcon40
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed Aug 14, 2019 8:24 pm    Post subject: Reply with quote

ijcon40,

Lets try a different plan of attack as a "get some diagnostic info".
We will use the kernel .config from whatever you used to install. System Rescue CD?

Boot your install media and mount your Gentoo. Get into the chroot.
Save the .config file from your current kernel. We will want it later. Say to /root/config-<ver>

In your current kernel tree, run
Code:
make mrproper

This clean everything out including the .config.

Copy the .config from the running kernel.
Code:
zcat /proc/config.gz /usr/src/linux/.config

and check that the .config is in place.

Next, turn the borrowed .config into a legal .config for your kernel. Run
Code:
make oldconfig

This will do three things.
i) Silently drop any symbols not valid in your kernel.
ii) Silently accept the existing settings where they are valid in your kernel.
iii) Ask you about new settings that are valid in your kernel but not yet set.

That last thing is easier that it looks. Read the prompts, Notice that one of the options is a capital letter.
Read the help, press ?
If in doubt, choose the option with the capital letter.
I don't know how many of these questions there will be. It depends on the gap between your kernel and the donor kernel.

Rebuild your kernel in the normal way. If you use genkernel, be sure to force it to use your new kernel config file.
Tell grub all about it.

Reboot to test.
_________________
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
ijcon40
n00b
n00b


Joined: 27 Jul 2019
Posts: 18

PostPosted: Thu Aug 15, 2019 10:39 pm    Post subject: See ya .config Reply with quote

Sort of funny, but the make old config makes the .config file actually disappear. I trust it is putting it wherever it needs to go, but it certainly is funny to have it draw an error using --kernel-config=/usr/src/linux/.config. I would love to know exactly where the .config file went. I'm also a little curious why file naming/ output directory isn't supported for make oldconfig. I have it compiling at the moment and I'll post an update on this post when it finishes. Thanks for the suggestion. Oh, isn't make oldconfig being deprecated for make syncconfig? I think I read that somewhere.

Update: Finally finished everything, seemingly getting the same error on boot, which points me to either not updating the files on /boot or it is still using the old config file. If anyone could provide just a little clarity on what make oldconfig does, that would be great, logistically that is. I know in summary what it does config wise.

Be back soon,
ijcon40
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Fri Aug 16, 2019 10:20 pm    Post subject: Reply with quote

ijcon40,

Quote:
This will do three things.
i) Silently drop any symbols not valid in your kernel.
ii) Silently accept the existing settings where they are valid in your kernel.
iii) Ask you about new settings that are valid in your kernel but not yet set.


Changes are made to the .config in place. Its all kept in RAM until it completes.
The timestamp on .config changes. Other than that, you need to look in the file.
_________________
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 Installing Gentoo All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
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