Quantcast
Channel: Intel Communities: Message List
Viewing all articles
Browse latest Browse all 19528

Re: Native Edison kernel compile successful, kernel hangs without error

$
0
0

I'm interested in a working native compile too, but it's hard to debug without any output.

 

I found that the "earlyprintk=ttyMFD2,keep" on the kernel command line isn't the right way to get early kernel output.  There's a separate driver in arch/x86/platform/intel-mid/early_printk_intel_mid.c that's being built into the kernel by the Yocto configs.  Unfortunately the driver is a little broken and doesn't hit the right baud rate on Edison.

 

Here's a patch to fix the baud to come up at 115200n8 on Edison:

 

--- linux-3.10.17orig/arch/x86/platform/intel-mid/early_printk_intel_mid.c    2014-11-26 00:30:58.591348757 -0600

+++ linux-3.10.17/arch/x86/platform/intel-mid/early_printk_intel_mid.c    2014-11-26 00:32:15.011347258 -0600

@@ -444,6 +444,8 @@

         /* detect HSU clock is 50M or 19.2M */

         if (clkctl && *clkctl & (1 << 16))

             writel(0x0120, phsu + UART_MUL * 4); /* for 50M */

+        else if (*clkctl & (1 << 31))

+            writel(0x02EE, phsu + UART_MUL * 4);  /* for 38.4M */

         else

             writel(0x05DC, phsu + UART_MUL * 4);  /* for 19.2M */

     } else

 

You'll need to set earlyprintk=hsu2,keep and you'll want to crank up the loglevel=8.  You can do this in the Yocto build U-Boot edison.env file, or use setenv/saveenv in U-Boot directly.

 

From the little I've played with it, the kernel seems to flip out at the end of the virtio_rpmsg_bus messages.  If I comment out the platform_device_register() in arch/x86/platform/intel-mid/intel_mid_scu.c then the kernel gets all the way to trying to mount root (but fails when reading from mmc for some reason).  No idea how the Yocto toolchain makes this work.


Viewing all articles
Browse latest Browse all 19528

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>