View previous topic :: View next topic |
Author |
Message |
GDH-gentoo l33t


Joined: 20 Jul 2019 Posts: 601 Location: South America
|
Posted: Thu Jun 11, 2020 5:50 pm Post subject: |
|
|
Code: | [ 14.453951] sdhci: Secure Digital Host Controller Interface driver
[ 14.453954] sdhci: Copyright(c) Pierre Ossman
...
[ 14.509979] mmc0: SDHCI controller on ACPI [80860F14:01] using ADMA
...
[ 14.660157] mmc0: new HS200 MMC card at address 0001
[ 14.666413] mmcblk0: mmc0:0001 HBG4e\x05 29.1 GiB
[ 14.666587] mmcblk0boot0: mmc0:0001 HBG4e\x05 partition 1 4.00 MiB
[ 14.666795] mmcblk0boot1: mmc0:0001 HBG4e\x05 partition 2 4.00 MiB
[ 14.666931] mmcblk0rpmb: mmc0:0001 HBG4e\x05 partition 3 4.00 MiB, chardev (240:0)
[ 14.681044] mmcblk0: p1 p2 p3 | I suppose this translates to at least:
Code: | Device Drivers --->
<*> MMC/SD/SDIO card support --->
<*> MMC block device driver
<*> Secure Digital Host Controller Interface support
<*> SDHCI support for ACPI enumerated SDHCI controllers | for the Gentoo kernel, and that doing an lsmod when booting with the Arch ISO would show modules mmc_core, mmc_block, sdhci and sdhci-acpi, just like in the thread that Jaglover linked to.
Last edited by GDH-gentoo on Thu Jun 11, 2020 6:39 pm; edited 1 time in total |
|
Back to top |
|
 |
pietinger Guru

Joined: 17 Oct 2006 Posts: 520 Location: Bavaria
|
Posted: Thu Jun 11, 2020 6:13 pm Post subject: |
|
|
And sdhci-acpi autoselects "IOSF_MBI" ... if someone uses "make menuconfig" ... or it is just missing |
|
Back to top |
|
 |
boomerhackr n00b

Joined: 19 May 2020 Posts: 39
|
Posted: Tue Jun 16, 2020 5:08 am Post subject: |
|
|
I looked at the mmc options using /mmc in menuconfig, and there are a lot of options. How do I know which ones to enable? When I ran lspci in the shell to find out about my hardware, I saw nothing related to mmc. I also cannot figure out how to enable modules in it. For example, here is what it looks like for MMC_ALCOR:
Code: |
Symbol : MMC_ALCOR [=n]
Type tristate
Prompt : Alcor Micro/Alcor Link SD/MMC controller
Location:
-> Device Drivers
(6) -> MMC/SD/SDIO card support (MMC [=y])
Defined at drivers/mmc/host/Kconfig:461
Depends on: MMC [=y] && MISC_ALCOR_PCI [=n]
|
So I pressed 6 and went into MMC/SD/SDIO, but there was nothing in there related to Alcor. How am I supposed to navigate through this menuconfig?[/code]
ian.au wrote: |
There's a lot more to solving this than just enabling everything with MMC in the name.
|
Which other options would need to be set to make mmc work? _________________ I'd just like to interject for a moment. What you're referring to as Linux,
is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. |
|
Back to top |
|
 |
Tony0945 Advocate

Joined: 25 Jul 2006 Posts: 4513 Location: Illinois, USA
|
Posted: Tue Jun 16, 2020 1:51 pm Post subject: |
|
|
Just a suggestion, but I think the binary distros just enable everything with modules.
So, if you enable everything with MMC using modules whenever possible, you will have emulated that part a binary distro.
IIRC, all init systems in the tree automatically load all modules and you have to blacklist what you don't want.
This should (I think) give you a booting system. Then lsmod will show you what successfully loaded. You can then rebuild the kernel removing the ones that didn't load and changing the others to built-in.
Just a suggestion. I haven't tried this but did something similar at the dawn of time in a Gentoo system. IIRC, I built wih "make allmod" or something like tgat, enablling all possible modules and winnowing them but that is MUCH more work than checking less than a dozen modules. |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 47149 Location: 56N 3W
|
Posted: Tue Jun 16, 2020 2:53 pm Post subject: |
|
|
boomerhackr,
The kernel configuration utility does a lot for you behind the scenes.
When you use $EDITOR on the .config file, you lose all that behind the scenes aid and if you are luckly, get a kernel that won't build. If you are unlucky, it builds, boots and is broken is subtle hard to diagnose ways.
To go back to your example
Code: | Symbol : MMC_ALCOR [=n]
Type tristate
Prompt : Alcor Micro/Alcor Link SD/MMC controller
Location:
-> Device Drivers
(6) -> MMC/SD/SDIO card support (MMC [=y])
Defined at drivers/mmc/host/Kconfig:461
Depends on: MMC [=y] && MISC_ALCOR_PCI [=n] |
MMC_ALCOR Depends on: MMC [=y] && MISC_ALCOR_PCI [=n] . As that boolean equation evaluates to false, MMC_ALCOR will be hidden in menuconfig.
When you add MMC_ALCOR=y with $EDITOR, all the pieces are yours to keep.
If you want to see MMC_ALCOR in menuconfig anyway, press 'z' to toggle the display of hidden symbols. You still can't select it, since it depends on MISC_ALCOR_PCI being on.
If you have ever used $EDITOR on the .config file, just throw it away. It cannot be salvaged. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
Tony0945 Advocate

Joined: 25 Jul 2006 Posts: 4513 Location: Illinois, USA
|
Posted: Tue Jun 16, 2020 4:09 pm Post subject: |
|
|
Here is a script for future use that will prevent the problems that NeddySeagoon has cited.
Code: | cat /usr/local/sbin/buildmykernel
#!/bin/bash
#test if running on a bare VT
if [ "$TERM" = linux ]; then
TERM=xterm #so make munuconfig will display correctly
fi
NPROC=$( nproc ) # run nproc to get the number of cores
cd /usr/src/linux || { echo "Did you forget 'eselect kernel set' ?" >&2 && exit 255 ; }
if [ "$1" != "" ]; then
( cp "$1" .config && echo "Config is $1") || exit 255;
else
echo "Using present kernels built-in config"
zcat /proc/config.gz >.config
fi
# At this point we should compare kernel versions and make oldconfig if the base version has updated
make oldconfig
make menuconfig
make -j"${NPROC}" || { echo "make -j${NPROC} failed"; exit 1; }
make -j"${NPROC}" modules_install || { echo "make modules_install failed"; exit 2; }
make -j"${NPROC}" install && echo "Don't forget to update boot loader menu"
# kver="$(eselect kernel list | awk '{gsub("linux-","") ; if ($3 ~ "*") print $2}')"
# i.e. kver contains 4.9.9-gentoo
#out of tree modules
echo "Building out of tree modules"
emerge @module-rebuild
echo "Done" |
It will either pull the existing config out of the running kernel or take a configfile as a parameter.
As NeddySeagoon suggests throwing the config away, I suggest using a kernel seed from "pappy's seeds" written by the late Pappy Mcfae hosted (somewhere) by NeddySeagoon.
As an exercise google threads in this forum to see where. The other alternative is to start with a genkernel kernel for your architecture. I used a pappy seed many years ago to start mine.
Genkernel's base configs is quicker but you will learn less that way.
The script depends on CONFIG_IKCONFIG=y and CONFIG_IKCONFIG_PROC=y
The last two commands will go quickly if you don't have any out of kernel modules like NVIDIA or Realtek R8168 or Virtualbox. Just leave them in the script. @module-rebuild is maintained automatically by portage. |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 47149 Location: 56N 3W
|
Posted: Tue Jun 16, 2020 5:08 pm Post subject: |
|
|
boomerhackr,
The methods in Pappys Seeds are correct but the seeds files themselves are no longer useful.
Pappy started a thread here which held links to Pappys Preconfigs.
It was the same idea as seeds but for more recent kernels.
I would be hesitant to use Pappys Preconfigs with a recent kernel. Its a big jump for to manage. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
alamahant l33t

Joined: 23 Mar 2019 Posts: 673
|
Posted: Tue Jun 16, 2020 6:36 pm Post subject: |
|
|
May i suggest you compile a huge kernel and deliver yourself from this horrible suffering...
There is a big difference between a learning curve etc and total and utter frustration.
Maybe it would be best to defer for later custom made and lean kernels and just get your self booted for the time being.
 |
|
Back to top |
|
 |
Tony0945 Advocate

Joined: 25 Jul 2006 Posts: 4513 Location: Illinois, USA
|
Posted: Tue Jun 16, 2020 6:38 pm Post subject: |
|
|
alamahant wrote: | May i suggest you compile a huge kernel and deliver yourself from this horrible suffering...
There is a big difference between a learning curve etc and total and utter frustration.
Maybe it would be best to defer for later custom made and lean kernels and just get your self booted for the time being.
 |
I agree. Does "make allmodconfig" do this?
EDIT:
Answering my own question: allmodconfig
Read the whole link. If /usr/src/linux/.config has been tainted, just re-emerge gentoo-sources. Then:
1. run make allmodconfig.
2. run make menuconfig. Make sure you put the IKCONFIG stuff to "y" instead of "m". Make sure your boot drive and filesystem(s) are set to "y"
Look through and set anything obvious to "y" instead of "m" Debug options can be set to "n"
3. boot that kernel, it should boot
4. run lsmod and make note of the modules loaded. Then build the kernel again using my script. Turn off any modules that didn't load.
5. (may be combined with 4) At your discretion turn loaded m's into y's. I like to leave video drivers, sound drivers, and ethernet drivers as modules. I also leave modules that didn't load but would with hardware I might put in. Thus I always build with nouveau, radeon, r8169 and e1000e as modules so that I can swap cards and still boot. YMMV
A lot of work, but you will have a lean mean fast booting machine. With no cruft. |
|
Back to top |
|
 |
pietinger Guru

Joined: 17 Oct 2006 Posts: 520 Location: Bavaria
|
Posted: Tue Jun 16, 2020 7:25 pm Post subject: |
|
|
Please give no recommendation for modules, because he wants to boot from (and therefore it must be compiled in).
boomerhackr wrote: | I looked at the mmc options using /mmc in menuconfig, and there are a lot of options. How do I know which ones to enable? |
If you dont know something you can ask or you google.
Look to your own dmesg - THIS line:
Code: | [ 14.453951][ 14.509979] mmc0: SDHCI controller on ACPI [80860F14:01] using ADMA |
If you google "linux 80860F14" you will find:
https://cateee.net/lkddb/web-lkddb/MMC_SDHCI_ACPI.html
This page says: You need CONFIG_MMC_SDHCI_ACPI
Now you said: I have it in my config.
I see two possibilties:
1. You have crashed your config with your edit games, or
2. You havent installed the right kernel.
If (1): begin at the very beginning, with booting from a minimal cd and downloading gentoo sources
If (2): read the AMD64 handbook again
(better: do both) |
|
Back to top |
|
 |
Tony0945 Advocate

Joined: 25 Jul 2006 Posts: 4513 Location: Illinois, USA
|
Posted: Wed Jun 17, 2020 12:39 am Post subject: |
|
|
pietinger wrote: | Please give no recommendation for modules, because he wants to boot from (and therefore it must be compiled in). |
tony0945 wrote: | 2. run make menuconfig. Make sure you put the IKCONFIG stuff to "y" instead of "m". Make sure your boot drive and filesystem(s) are set to "y" |
|
|
Back to top |
|
 |
boomerhackr n00b

Joined: 19 May 2020 Posts: 39
|
Posted: Wed Jun 24, 2020 7:44 am Post subject: |
|
|
Tony0945 wrote: |
1. run make allmodconfig.
2. run make menuconfig. Make sure you put the IKCONFIG stuff to "y" instead of "m". Make sure your boot drive and filesystem(s) are set to "y"
Look through and set anything obvious to "y" instead of "m" Debug options can be set to "n"
3. boot that kernel, it should boot |
I tried recompiling my kernel like this, and I chose to build in the modules such as ext4 (for my root partition), ikconfig stuff, stuff related to mmc/sd/sdio and then I rebooted. However it does not boot into a shell, It displays the following messages:
Code: |
Loading Linux 5.4.38-gentoo . . .
Loading initial ramdisk . . .
_
|
That is all that it displayed. It did not say anything about loading drivers, and it just stays there indefinitely. _________________ I'd just like to interject for a moment. What you're referring to as Linux,
is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. |
|
Back to top |
|
 |
|