I am trying to run vanilla Linux 4.2 on Edison.
When it starts I am getting
[ 3.537511] sdhci: Secure Digital Host Controller Interface driver
[ 3.543697] sdhci: Copyright(c) Pierre Ossman
[ 3.548213] sdhci-pci 0000:00:01.0: SDHCI controller found [8086:1190] (rev 1)
[ 3.555563] sdhci-pci: probe of 0000:00:01.0 failed with error -16
[ 3.561813] sdhci-pci 0000:00:01.2: SDHCI controller found [8086:1190] (rev 1)
[ 3.569422] sdhci-pci 0000:00:01.3: SDHCI controller found [8086:1190] (rev 1)
Do I miss some configuration option or the driver is still incomplete?
BTW. I have a branch of meta-edison by koenkooi for Linux 4.2 if anyone is interested in BSP layer for Yocto Linux: https://github.com/wrobell/meta-edison/tree/linux-4.2 wrobell/meta-edison at linux-4.2 · GitHub
How are you adding the Linux4.2 into the image? Are you downloading the linux source files from kernel.org or are you using the patches for this?
From: https://github.com/wrobell/meta-edison/tree/linux-4.2 wrobell/meta-edison at linux-4.2 · GitHub, are you building the new files or from where are you adding them (u-boot-envs/edison-blankcdc.bin ...)?
If you used the source files, did you do changes on /arch/x86/configs/edison_defconfig ?
Are you able to boot the board and interact with it?
I am building it as part of custom Yocto Linux image, see Makefile at
(NOTE: for Linux 4.2 I am locally updating meta-edison to my own version at GitHub)
I am not using any patches for this (see https://github.com/wrobell/meta-edison/tree/linux-4.2/recipes-kernel/linux https://github.com/wrobell/meta-edison/tree/linux-4.2/recipes-kernel/linux).
I am able to boot the kernel, but it stops with
[ 3.977731] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Looking at the kernel output, I can see the sdhci-pci error message, so I suspect the MMC is not detected and my partitions are not visible.
Take a look at this: https://edison.internet-share.com/wiki/Using_a_vanilla_Linux_kernel_with_Intel_Edison Using a vanilla Linux kernel with Intel Edison your defconfig looks fine with all the required changes. Are you using the ww25.5-15 source files?
And are you doing more changes in the image with partition or packages?
I appreciate your answer, but I have seen this page. If you take a look at the kernel output, you will notice that there are no SDHCI/MMC related messages, so it is of no use.
Anyway, with great help from 0andriy, I managed to boot ver. 4.3-rc2, which detects SDHCI, then MMC and finally boots
I have replaced my meta-edison linux-4.2 branch with linux-4.3 branch: https://github.com/wrobell/meta-edison/tree/linux-4.x wrobell/meta-edison at linux-4.x · GitHub
I'm also still battling with this, without much success.
The MMC controller appears to require the patches to sdhci-pci.c and co from meta-intel-edison/meta-intel-edison-bsp/recipes-kernel/linux/files/upstream_to_edison.patch in edison-src-ww25.5-15.tgz - which don't apply cleanly.
You'll also find that the bluetooth and USB OTG don't work with the 4.2 series. (They could be in 4.3, I've not looked).
I must say it's very disappointing that Intel is making no effort to keep their system up to date with a reasonable kernel. https://lwn.net/Articles/570854/ Linux 3.10.17 [LWN.net] is from October 2013!
It's almost like they have abandoned this whole project with the disappearance of the Intel phone.
We are planning to move from this kernel to a newer one. Even though, there is no ETA about when these releases are going to be available. I apologize for the inconveniences this may produce
In the meantime you can build your custom image with a newer kernel, there are other makers that have been able to do this and if you have problems, doubts or questions feel free to open a thread with it, we will be glad to help you with it.
Hi Charlie / CMata_Intel
If you could point wrobell at anyone compiling something other than the original 3.10 series kernel successfully, it would be great. I've looked extensively here, on Github, and on numerous other Wikis and forums without success.
There *are* people that add new modules to the existing kernel, which I think is reasonably easy and I have found example of that. (EG: someone enabling a new network driver module for a USB dongle or something). However, the problems I'm seeing are fixed in only 3.18 and above as per this - http://www.phoronix.com/scan.php?page=news_item&px=MTgwNzM USB Sees Many Changes For Linux 3.18 Kernel - Phoronix Enabling new kernel modules within the 3.10 series are not sufficient.
I've even tried selectively backporting those 3.18 patches into the 3.10 kernel - that's how problematic this is for me
Would you be able to query your management and see if they would be able to escalate this? I know you can't give an estimate, but it must be on a plan somewhere!
Thanks for your help here - it's appreciated.
oskarpearson, unfortunately, I don't see any option to do that.
I would really appreciate if someone from Intel gave us straight response. If the newer kernels are to
be supported, then we can continue to dig in. If not, then we can accept the reality and move on.
oskarpearson, I didn't quite get what you trying to achieve. If you need the fully functional image based on newer kernel, that impossible without porting a majority of the "big patch". Otherwise, some pieces are working with the upstream kernel like I mentioned already few times somewhere: USB host, eMMC, GPIO, watchdog, and serial.
It is possible to use a newer kernel and there are some ways to do this, the kernel supported is the 3.10. As I said before, we are planning to move from this kernel to a newer one but there isn't ETA yet. In the meantime, if you want to build your own image with a newer kernel, you have to download the kernel from https://www.kernel.org/ https://www.kernel.org/ and modify the defconfig file to support the Edison Module. You can see some of the modifications in https://edison.internet-share.com/wiki/Using_a_vanilla_Linux_kernel_with_Intel_Edison Using a vanilla Linux kernel with Intel Edison, you can also check the defconfig used in the BSP source files ww25.5-15. You will need to modify the patch or create your own one to enable and support all the features. It is a hard and long work but it can be done by this way.
I hope this helps