e_MMC install on intel NUC DE3815TYKHE

Issues related to hardware problems
vtphilk
Posts: 5
Joined: 2014/07/27 16:39:22

e_MMC install on intel NUC DE3815TYKHE

Postby vtphilk » 2014/07/29 07:19:44

I'm not sure if this should go in hardware or software, but I'm going to try hardware now...

I have been trying to get centos 6.5 to install on my intel NUC DE3815TYKHE. (I also tried 7, no difference) This NUC has built-in e_mmc storage (4GB) that I want to use for the OS and small storage device. I plan to use this for network streaming, don't need swap space and not going to be doing much disk writing so the e_mmc storage should be fine. It keeps the cost down!

Everytime I run the installer it does not detect the e_mmc correctly. I have tried different bios settings all to no avail. I have been able to install centos on a MSATA drive, then load the "mmc-core and mmc-block", then I'm able to mount the partition as /dev/mmcblk0 without issue. I also have installed other distros on it but I really like centos so rather have that.

Is there a kickstart option or someway to enable mmc-block and mmc-core prior to running thru the install so I can select it as a storage device for install?

I am really struggling here as I need to use this for a project next week and don't want to have to fall back on another linux distro I'm not as familar with.

Thanks in advance!

User avatar
TrevorH
Forum Moderator
Posts: 22579
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: e_MMC install on intel NUC DE3815TYKHE

Postby TrevorH » 2014/07/29 08:38:49

Can you switch to terminal 2 using Ctrl-Alt-F2 and from the root command prompt there, can you modprobe the modules that support the hardware? I suspect that they're just not included in the initramfs on the installer disk so you're probably out of luck.
CentOS 5 died in March 2017 - migrate NOW!
Full time Geek, part time moderator. Use the FAQ Luke

vtphilk
Posts: 5
Joined: 2014/07/27 16:39:22

Re: e_MMC install on intel NUC DE3815TYKHE

Postby vtphilk » 2014/07/29 23:51:35

I thought I used to be able to do that, but now it does not work. Ctrl-Alt-F2 does not let me drop to a terminal window...is there a way to get that back so I can manually load the module prior to install?

vtphilk
Posts: 5
Joined: 2014/07/27 16:39:22

Re: e_MMC install on intel NUC DE3815TYKHE

Postby vtphilk » 2014/07/30 15:10:57

So I was able to get Ctrl-Alt-F2 to work. And load the module, but now the mmc is not being detected right. So I'm still investigating if there is something else I need to do other than just load those modules.

FYI> I ran the installer in the reduced video mode and edited the grub line with the word "text" at the end of the vmlinuz config. This caused it to run in text mode and so gnome doesn't take over the Ctrl-Alt-F2 terminal presumably.

User avatar
TrevorH
Forum Moderator
Posts: 22579
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: e_MMC install on intel NUC DE3815TYKHE

Postby TrevorH » 2014/07/30 16:06:30

Better to run with 'vnc' than 'text' then you get the console free and can connect over the network using vncviewer and get the GUI installer that way. Text mode is severely crippled.
CentOS 5 died in March 2017 - migrate NOW!
Full time Geek, part time moderator. Use the FAQ Luke

vtphilk
Posts: 5
Joined: 2014/07/27 16:39:22

Re: e_MMC install on intel NUC DE3815TYKHE

Postby vtphilk » 2014/07/30 20:41:37

I have tried with vnc, and that works, allows me to drop to the console. But even after doing that, I do a modprobe and it does not work.

I'm getting the following error:

sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pci 0000:00:17.0: SDHCI controller found [8086:0f50] (rev c)
sdhci-pci 0000:00:17.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
sdhci-pci 0000:00:17.0: Invalid iomem size. You may experience problems.
sdhci-pci 0000:00:17.0: setting latency timer to 64
Registered led device: mmc0::
mmc0: SDHCI controller on PCI [0000:00:17.0] using ADMA
mmc0: unrecognised CSD structure version 3
mmc0: error -22 whilst initialising MMC card <<<<<<<<<<<<<<<<<<<<<<<<<<<<


I'm attaching the entire dmesg. I get this error during install but also after install. If I install linux lite OS, it works and I am able to mount with no issue. However, I really want to stick with CentOS.

Any ideas?
Attachments
dmesg.zip
dmesg output of boot
(10.27 KiB) Downloaded 79 times

megaoldgeek
Posts: 2
Joined: 2014/07/31 20:23:16

Re: e_MMC install on intel NUC DE3815TYKHE

Postby megaoldgeek » 2014/07/31 21:47:55

NUC and MMC fun...

The problem is centos 6.x loads the MMC/SDHCI drivers, however the 2.8.xx kernel drivers fail to understand the MMC controller on the NUC.
The centos7 3.x kernel installer correctly identifies the MMC during install, will complete install centos7, however it will then fail to boot from MMC.

Any reboot after upgrade will fail to boot and drop to dracut shell stating if failed to find the root filesystem (/dev/root or /dev/disk/blah blah euid ).
Most will confuse this with the USB iso image creation bugs noted here... http://unix.stackexchange.com/questions ... ion-failed
and here... http://wiki.centos.org/HowTos/InstallFromUSBkey which ultimately leads you to a solution of using dd to transfer the image to the USB stick.
While this may be valid, its of no help if you used win32image or dd already to transfer your iso to your USB stick :).

Doesn't matter what installer or how you burned it, USB/DVD/network.. Centos7 fails to boot after a completely clean installation.
The anaconda installer fails miserably to inform dracut it needs to include the kernel modules in initramfs for boot...
As such the system boots the ramdisk (initramfs) and subsequently cant find its rootfs under /dev/root or /dev/euid ..

So the solution??? (Centos 7)

1.) Go into Bios and...
HOME > You can leave UEFI boot on / off
(I turn it off as UEFI is supposed to handle the driver problem we are struggling with here but it does not).
Advanced > UEFI > OS selection > set to linux (leave the rest unchecked)
Advanced > BOOT > Check USB
Devices > Onboard Devices > Check 4GB eMMC built in storage.
Legacy > Trusted platform module > check if you want TPM errors on boot to go away.

I Left the rest as the factory set them.

2.) Install from Centos7 iso you wish, however you wish.
3.) Click Reboot when installer completes, interrupt the reboot using F10
4.) boot from your original iso, choose troubleshooting.
5.) Choose Rescue a CentOS system
6.) The system boots and presets a Rescue Menu, click continue
7.) You should see a window stating your system has been mounted under /mnt/sysimage
Note: The location may be different, remember it , its important.
8.) Click Ok.
9.) At the bash/# prompt type (or the path in step 7)
# chroot /mnt/sysimage
10.) Make a backup of your existing intramfs
# cp -p /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
11.) Tell dracut to add 4 modules to intramfs
# dracut -f --add-drivers "mmc_core mmc_block sdhci sdhci-pci"
(PS: you may be cat: write error: Broken pipe here, ignore it I did and all is well)
12.) Sync for good measure
# sync
13.) Exit your chroot
# exit
14.) Reboot, remove your installation media and let Centos boot.
# init 6
15.) You will get a warning
SELinux targeted policy relabel is required... let it continue,
You should see a percentage after about 30 seconds, the entire operation takes ~ 5 minutes.
At 100% it will reboot centos again
16.) All is well, let it reboot and login when you see login :)

Hope this helps! :)

User avatar
TrevorH
Forum Moderator
Posts: 22579
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: e_MMC install on intel NUC DE3815TYKHE

Postby TrevorH » 2014/07/31 23:11:31

Final and missing step: once you reboot edit /etc/dracut.conf and uncomment the add_drivers+="" line and insert your list of drivers in there. I believe that they have to be padded at each end with a leading and trailing blank though I'm only going on hearsay and it may work without. The line should then read

Code: Select all

add_drivers+=" mmc_core mmc_block sdhci sdhci-pci "


This should now tell dracut to include those modules in all future initramfs files that it builds.
CentOS 5 died in March 2017 - migrate NOW!
Full time Geek, part time moderator. Use the FAQ Luke

megaoldgeek
Posts: 2
Joined: 2014/07/31 20:23:16

Re: e_MMC install on intel NUC DE3815TYKHE

Postby megaoldgeek » 2014/08/01 14:20:18

[quote="TrevorH"]Final and missing step: once you reboot edit /etc/dracut.conf and uncomment the add_drivers+="" line and insert your list of drivers in there. I believe that they have to be padded at each end with a leading and trailing blank though I'm only going on hearsay and it may work without. The line should then read

Code: Select all

add_drivers+=" mmc_core mmc_block sdhci sdhci-pci "


I can confirm your added step works flawlessly and was an over-site of mine.
If someone was to run yum update before adding the needed mmc modules to /etc/dracut.conf
the kernel update in the latest updates would indeed break my fix above.

I removed the leading comment # in the line and added this to /etc/dracut.conf
# grep add_driv /etc/dracut.conf
add_drivers+=" mmc_core mmc_block sdhci sdhci-pci "

Yum update installed the new kernel...
Installing:
kernel x86_64 3.10.0-123.4.4.el7 updates 29M
Upgraded 27 others...

The reboot on the new kernel came up just fine.
I also can confirm that if you don't do the above it doesn't :)