View previous topic :: View next topic |
Author |
Message |
ShadowHawkBV Guru
Joined: 27 Mar 2004 Posts: 352
|
Posted: Mon Feb 18, 2019 4:16 pm Post subject: (Solved) Unable to find mmcblk to boot |
|
|
I've just finished installing Gentoo on an ACEPC T11. It has a Hynix HBG4a2 emmc drive in it. I booted into the BIOS and changed to an external DVD to boot it up with the latest version of SystemRescueCD. It finds everything and allowed me to install Gentoo, following the AMD64 install manual religiously - prevents me misremembering things, with no issues. Upon reboot, it cannot find the root drive, whether it's ID'd with UUID or via /dev/mmcblk0p4. I initially assumed I forgot to make the file-system or the MMC as part of the kernel, so I went in and re-made the kernel. Still the same issue. It runs the Loading Linux version 4.20.10, Loading intial ramdisk, Activating mdext, Loading modules (virtio, nvme, pata, sata, scsi, usb, firewire, waitscan, lvm, dmraid, mdadm, fscrypto, xts) then does either cannot find root block device in UUID=4101c9a3-b2e9-44bd-8678-c730a2184f6b or root block in /dev/mmcblk0p4 is invalid.
Here is my fstab (Note I've tried using both UUID and /dev/mmcblk Code: | root@sysresccd /root % cat /mnt/gentoo/etc/fstab
# /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed); notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail / tail freely.
#
# The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# See the manpage fstab(5) for more information.
#
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
#
# NOTE: Even though we list ext4 as the type here, it will work with ext2/ext3
# filesystems. This just tells the kernel to use the ext4 driver.
#
# NOTE: You can use full paths to devices like /dev/sda3, but it is often
# more reliable to use filesystem labels or UUIDs. See your filesystem
# documentation for details on setting a label. To obtain the UUID, use
# the blkid(8) command.
#LABEL=boot /boot ext4 noauto,noatime 1 2
#UUID=58e72203-57d1-4497-81ad-97655bd56494 / ext4 noatime 0 1
#LABEL=swap none swap sw 0 0
#/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
/dev/mmcblk0p2 /boot vfat noauto,noatime 1 2
/dev/mmcblk0p3 none swap sw 0 0
/dev/mmcblk0p4 / ext4 noatime 0 1
#UUID=291f08f3-915b-4ed2-91a9-a34465645244 /boot vfat noauto,noatime 1 2
#UUID=ca2f2611-34f0-418f-ba27-c1c73db804e1 none swap sw 0 0
#UUID=4101c9a3-b2e9-44bd-8678-c730a2184f6b / ext4 noatime 0 1
#UUID=6AD4-1A41 grub vfat |
Here is the parted -l Code: | Model: Generic SD/MMC Storage Card (sd/mmc)
Disk /dev/mmcblk0rpmb: 4194kB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
Error: /dev/sr0: unrecognised disk label
Model: ASUS SBC-06D2X-U (scsi)
Disk /dev/sr0: 572MB
Sector size (logical/physical): 2048B/2048B
Partition Table: unknown
Disk Flags:
Error: /dev/mmcblk0boot0: unrecognised disk label
Model: Generic SD/MMC Storage Card (sd/mmc)
Disk /dev/mmcblk0boot0: 4194kB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Error: /dev/mmcblk0boot1: unrecognised disk label
Model: Generic SD/MMC Storage Card (sd/mmc)
Disk /dev/mmcblk0boot1: 4194kB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Model: MMC HBG4a2 (sd/mmc)
Disk /dev/mmcblk0: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3146kB 2097kB fat32 grub bios_grub
2 3146kB 137MB 134MB fat16 boot boot, esp
3 137MB 1211MB 1074MB linux-swap(v1) swap
4 1212MB 31.3GB 30.1GB ext4 rootfs |
Here is the blkid: Code: |
root@sysresccd /root % blkid
/dev/loop0: TYPE="squashfs"
/dev/sr0: UUID="2018-04-02-13-43-43-00" LABEL="sysrcd-5.2.2" TYPE="iso9660"
/dev/mmcblk0: PTUUID="1ee42a8b-d33b-44b0-b847-43f454ca2c7b" PTTYPE="gpt"
/dev/mmcblk0p1: UUID="6AD4-1A41" TYPE="vfat" PARTLABEL="grub" PARTUUID="ff324e53-d96e-4631-beb6-432ecb58e162"
/dev/mmcblk0p2: SEC_TYPE="msdos" UUID="ECDD-03D5" TYPE="vfat" PARTLABEL="boot" PARTUUID="3a584714-3ee5-4fec-8532-d4c59196a9c2"
/dev/mmcblk0p3: UUID="ca2f2611-34f0-418f-ba27-c1c73db804e1" TYPE="swap" PARTLABEL="swap" PARTUUID="d54086c3-7186-4041-b162-63604abb275e"
/dev/mmcblk0p4: UUID="4101c9a3-b2e9-44bd-8678-c730a2184f6b" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="b60a0e41-c358-4167-afdc-87fe14fe184c" |
Here is the lspci -k: Code: | root@sysresccd /root % lspci -k
00:00.0 Host bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register (rev 36)
Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register
Kernel driver in use: iosf_mbi_pci
00:02.0 VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Configuration Registers (rev 36)
Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Configuration Registers
Kernel driver in use: i915
Kernel modules: i915
00:03.0 Multimedia controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Imaging Unit (rev 36)
Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Imaging Unit
00:0b.0 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller (rev 36)
Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller
Kernel driver in use: proc_thermal
Kernel modules: processor_thermal_device
00:14.0 USB controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller (rev 36)
Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller
Kernel driver in use: xhci_hcd
00:1a.0 Encryption controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine (rev 36)
Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine
Kernel driver in use: mei_txe
Kernel modules: mei_txe
00:1f.0 ISA bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU (rev 36)
Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich |
Here is the lsmod: Code: | root@sysresccd /root % lsmod
Module Size Used by
btsdio 16384 0
bluetooth 417792 2 btsdio
ecdh_generic 20480 1 bluetooth
brcmfmac 208896 0
brcmutil 16384 1 brcmfmac
binfmt_misc 16384 1
cfg80211 495616 1 brcmfmac
rfkill 24576 2 bluetooth,cfg80211
intel_rapl 24576 0
intel_powerclamp 16384 0
coretemp 16384 0
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
crc32c_intel 20480 0
gpio_keys 20480 0
ghash_clmulni_intel 16384 0
axp288_adc 16384 0
mmc_block 36864 2
r8152 49152 0
wdat_wdt 16384 0
intel_cstate 16384 0
axp288_fuel_gauge 16384 0
industrialio 57344 2 axp288_adc,axp288_fuel_gauge
extcon_axp288 16384 0
axp288_charger 16384 0
axp20x_pek 16384 0
intel_hid 16384 0
dw_dmac 16384 0
sparse_keymap 16384 1 intel_hid
tpm_crb 16384 0
tpm_tis 16384 0
sdhci_acpi 16384 0
tpm_tis_core 20480 1 tpm_tis
mei_txe 24576 0
tpm 45056 3 tpm_tis,tpm_crb,tpm_tis_core
sdhci 40960 1 sdhci_acpi
soc_button_array 16384 0
intel_int0002_vgpio 16384 1
mei 81920 1 mei_txe
lpc_ich 28672 0
int3406_thermal 16384 0
mmc_core 110592 5 sdhci,btsdio,mmc_block,sdhci_acpi,brcmfmac
int3400_thermal 16384 0
processor_thermal_device 16384 0
acpi_thermal_rel 16384 1 int3400_thermal
pwm_lpss_platform 16384 0
int3403_thermal 16384 0
int340x_thermal_zone 16384 2 int3403_thermal,processor_thermal_device
acpi_pad 36864 0
intel_soc_dts_iosf 16384 1 processor_thermal_device
pwm_lpss 16384 1 pwm_lpss_platform
spi_pxa2xx_platform 28672 0
raid10 45056 0
raid456 122880 0
async_raid6_recov 16384 1 raid456
async_pq 16384 2 raid456,async_raid6_recov
async_xor 16384 3 async_pq,raid456,async_raid6_recov
async_memcpy 16384 2 raid456,async_raid6_recov
async_tx 16384 5 async_xor,async_pq,raid456,async_memcpy,async_raid6_recov
raid1 36864 0
raid0 20480 0
multipath 16384 0
linear 16384 0
i915 1417216 2
drm_kms_helper 131072 1 i915
uas 20480 0
drm 311296 4 i915,drm_kms_helper
cdc_ether 16384 0
usbnet 40960 1 cdc_ether
usb_storage 65536 2 uas
i2c_algo_bit 16384 1 i915
mii 16384 2 usbnet,r8152
video 40960 2 int3406_thermal,i915 |
Here is a link to the grub.cfg: https://pastebin.com/mXgK1q6B
Grub is installed to work with UEFI.
And here is my linux config: https://pastebin.com/TCMCVD0z
Grepping for MMC: Code: | root@sysresccd /root % grep MMC /mnt/gentoo/usr/src/linux/.config
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
# Supported MMC/SDIO adapters
CONFIG_MMC=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
# CONFIG_MMC_TEST is not set
# MMC/SD/SDIO Host Controller Drivers
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_RICOH_MMC=y
# CONFIG_MMC_SDHCI_ACPI is not set
CONFIG_MMC_SDHCI_PLTFM=y
# CONFIG_MMC_SDHCI_F_SDH30 is not set
# CONFIG_MMC_WBSD is not set
CONFIG_MMC_TIFM_SD=y
CONFIG_MMC_SDRICOH_CS=y
CONFIG_MMC_CB710=y
CONFIG_MMC_VIA_SDMMC=y
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_CQHCI=y
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_MMC_SDHCI_XENON is not set |
And grepping for EXT4: Code: | root@sysresccd /root % grep EXT4 /mnt/gentoo/usr/src/linux/.config
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_ENCRYPTION is not set
# CONFIG_EXT4_DEBUG is not set |
And finally vfat: Code: | root@sysresccd /root % grep VFAT /mnt/gentoo/usr/src/linux/.config
CONFIG_VFAT_FS=y |
I built the kernal using Genkernel --menuconfig all. When that failed, I did a make menuconfig then a genkernel all. Irritatingly, some of the modules used by SyustemrescueCD do NOT appear in the .config Code: | uname -a
Linux sysresccd 4.14.32-std522-amd64 #2 SMP Sat Mar 31 20:05:28 UTC 2018 x86_64 Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz GenuineIntel GNU/Linux |
Any help will be appreciated. I really need to replace the Crap Mini running my TV. _________________ This space for rent... Well maybe to give away.. Heck.. i'll pay you to take it.
Lost Linux Neophyte
Intel i7-1065G7
Intel i7-8565U
Intel Atom Cherry Trail
AMD Phenom(tm) II X4 955
Pure 64bit frustration
Last edited by ShadowHawkBV on Fri Mar 01, 2019 4:46 pm; edited 1 time in total |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54237 Location: 56N 3W
|
Posted: Mon Feb 18, 2019 7:04 pm Post subject: |
|
|
ShadowHawkBV,
Your dmesg output from System Rescue CD would be useful. It sees your eMMC drive, so may say how.
lspci -k shows thats its not on the PCI bus, so we know its not using Code: | CONFIG_MMC_SDHCI_PCI=y |
It may want Code: | # CONFIG_MMC_SDHCI_ACPI is not set | but that's a guess.
lsmod: | mmc_core
mmc_block | is not enough.
You could try Code: | zgrep MMC /proc/config.gz | on System Rescue CD if it has a /proc/config.gz
That's the running kernels .config file.
-- edit --
That grep may not be enough but you can add some context with -An (after) -Bn (before) or -Cn (context)
You need to see the whole of the MMC block, not just the lines with MMC in _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
ShadowHawkBV Guru
Joined: 27 Mar 2004 Posts: 352
|
Posted: Mon Feb 18, 2019 9:30 pm Post subject: |
|
|
The messages from /var/log is: https://pastebin.com/jTAguNNV There does not appear to be a dmesg file, which is kind of strange, but I guess as a live CD, they didn't bother.
From Systemrescue's config.gz
Code: | root@sysresccd /root % zgrep -C3 MMC /proc/config.gz
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
--
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=m
# CONFIG_UWB is not set
CONFIG_MMC=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
# CONFIG_MMC_SPI is not set
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
CONFIG_MMC_VUB300=m
CONFIG_MMC_USHC=m
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_TOSHIBA_PCI=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_SDHCI_XENON=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
--
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
# CONFIG_MMC35240 is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
CONFIG_IIO_ST_MAGN_SPI_3AXIS=m |
The same thing from my .config (Not sure why I've had to manually menuconifig to get genkernel to keep the MMC's set.
Code: | root@sysresccd /root % grep -C3 MMC /mnt/gentoo/usr/src/linux/.config
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
--
# CONFIG_CEC_PLATFORM_DRIVERS is not set
#
# Supported MMC/SDIO adapters
#
# CONFIG_CYPRESS_FIRMWARE is not set
--
# CONFIG_USB_LED_TRIG is not set
# CONFIG_USB_ULPI_BUS is not set
# CONFIG_UWB is not set
CONFIG_MMC=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_SDIO_UART=y
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_F_SDH30=y
CONFIG_MMC_WBSD=y
CONFIG_MMC_TIFM_SD=y
CONFIG_MMC_SDRICOH_CS=y
CONFIG_MMC_CB710=y
CONFIG_MMC_VIA_SDMMC=y
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
CONFIG_MMC_USDHI6ROL0=y
CONFIG_MMC_CQHCI=y
CONFIG_MMC_TOSHIBA_PCI=y
CONFIG_MMC_MTK=y
CONFIG_MMC_SDHCI_XENON=y
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y |
_________________ This space for rent... Well maybe to give away.. Heck.. i'll pay you to take it.
Lost Linux Neophyte
Intel i7-1065G7
Intel i7-8565U
Intel Atom Cherry Trail
AMD Phenom(tm) II X4 955
Pure 64bit frustration |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54237 Location: 56N 3W
|
Posted: Mon Feb 18, 2019 11:04 pm Post subject: |
|
|
ShadowHawkBV,
The messages we need are long gone from /var/log/messages.
Boot your gentoo. When it fails it should drop you to the busybox shell.
Its very basic but should work.
Does /dev/mmcblk0 and its partitions appear?
If not, that's a problem.
Run the command. With no parameters it should list mounted filesystems.
/dev, /proc and /sys should all be there and populated.
Does /dev/mmcblk0p4 appear. That's your root filesystem.
It should probably be mounted at /mnt/root (thats a guess)
possibly will show you the init script.
We are trying to see how far it got.
builds the kernel with a one size fits most users, using a fixed .config file. It loads this same config every time you run it.
As you discovered, with root on eMMC, this config doesn't work.
You can tell genkernel to use the existing .config or one you have saved elsewhere. I don't know how, but or may tell. I'm not a genkernel user. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
ShadowHawkBV Guru
Joined: 27 Mar 2004 Posts: 352
|
Posted: Fri Mar 01, 2019 4:46 pm Post subject: |
|
|
Sorry of the delay in coming back with results. I got the system to boot. Then discovered that the Ethernet card is USB based, and rebuilt. Then while trying to get the sound to work, I cleaned up what I thought was cruft and nuked the workable config in favour of one that wouldn't. Long story shorter, the EMMC uses segments of the Device Drivers//MMC/SD/SDIO, Device Drivers//Serial ATA and Parallel ATA, and Device Drivers//SCSI device support, and finally Device Drivers//USB Support.
Here is a link to a more or less working (Sound is my last issue to solve) .config: https://pastebin.com/mZJUx2Me
Thank you for the help Neddy. As always, you provide the nudges in the correct direction. If and when I get this silly thing working properly, I think I'll post a complete how-to so others can enjoy the benefits. _________________ This space for rent... Well maybe to give away.. Heck.. i'll pay you to take it.
Lost Linux Neophyte
Intel i7-1065G7
Intel i7-8565U
Intel Atom Cherry Trail
AMD Phenom(tm) II X4 955
Pure 64bit frustration |
|
Back to top |
|
|
|
|
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
|
|