PICO-PI-IMX7d no kernel output

I followed the PICO-PI-IMX7 guide and installed Debian on my board. The only snag I hit was early on when I had to hardware format the eMMC for it to show up as a USB drive, but after that everything “worked.”

Now, when I power it on, u-boot shows its output (and seems to work correctly), finds the kernel & other files, then tries to boot into the kernel. At this point, the serial console goes completely dead. Do I need to do something to make the kernel output to the serial console? I left the kernel config options as their defaults (for 5.1.x).

Hit any key to stop autoboot:  0 
Saving Environment to MMC... Writing to MMC(0)... OK
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
191 bytes read in 2 ms (92.8 KiB/s)
1:	Linux 5.1.15-armv7-lpae-x11
Retrieving file: /boot/vmlinuz-5.1.15-armv7-lpae-x11
33280 bytes read in 4 ms (7.9 MiB/s)
append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
Retrieving file: /boot/dtbs/5.1.15-armv7-lpae-x11/imx7d-pico-pi.dtb
44838 bytes read in 11 ms (3.9 MiB/s)
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300df25

Starting kernel ...

@Sydius, i’ll take a look at this again tomorrow when i’m in the lab.

This issue should have been resolved by this patch:

https://github.com/RobertCNelson/armv7-lpae-multiplatform/blob/v5.1.x/patches/soc/imx/imx7/0001-ARM-imx7d-pico-pi.dts-add-default-stdout-path.patch

Which is included by default, in that build.

Regards,

1 Like

I checked today and my KERNEL directory does have that patch applied.

Can i see your full bootlog? Did you have the newer version of u-boot?

U-Boot SPL 2019.07-rc3 (Jul 02 2019 - 10:07:48 -0500)
Trying to boot from MMC1


U-Boot 2019.07-rc3 (Jul 02 2019 - 10:07:48 -0500)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 49C
Reset cause: POR
Model: TechNexion PICO-IMX7D Board and PI baseboard
Board: i.MX7D PICOSOM
I2C:   ready
DRAM:  512 MiB
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 2, FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Video: 800x480x24
In:    serial
Out:   serial
Err:   serial
Net:   FEC0
Hit any key to stop autoboot:  0 
Saving Environment to MMC... Writing to MMC(0)... OK
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
191 bytes read in 1 ms (186.5 KiB/s)
1:	Linux 5.1.15-armv7-lpae-x11
Retrieving file: /boot/vmlinuz-5.1.15-armv7-lpae-x11
10383872 bytes read in 131 ms (75.6 MiB/s)
append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
Retrieving file: /boot/dtbs/5.1.15-armv7-lpae-x11/imx7d-pico-pi.dtb
44838 bytes read in 10 ms (4.3 MiB/s)
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300df25

Starting kernel ...

[    1.415900] spi_imx 30840000.spi: dma setup error -19, use pio
[    1.485526] CPUidle arm: CPU 0 failed to init idle CPU ops
SELinux:  Could not open policy file <= /etc/selinux/targeted/policy/policy.31:  No such file or directory

Debian GNU/Linux 9 arm ttymxc4

default username:password is [debian:temppwd]

arm login:

Regards,

Here’s a diff of your output vs. mine:

--- good.txt	2019-07-02 13:04:41.979400774 -0700
+++ bad.txt	2019-07-02 13:04:30.085963573 -0700
@@ -1,11 +1,11 @@
-U-Boot SPL 2019.07-rc3 (Jul 02 2019 - 10:07:48 -0500)
+U-Boot SPL 2019.07-rc3 (Jun 29 2019 - 17:23:36 -0700)
 Trying to boot from MMC1
 
 
-U-Boot 2019.07-rc3 (Jul 02 2019 - 10:07:48 -0500)
+U-Boot 2019.07-rc3 (Jun 29 2019 - 17:23:36 -0700)
 
 CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
-CPU:   Commercial temperature grade (0C to 95C) at 49C
+CPU:   Commercial temperature grade (0C to 95C) at 31C
 Reset cause: POR
 Model: TechNexion PICO-IMX7D Board and PI baseboard
 Board: i.MX7D PICOSOM
@@ -13,8 +13,7 @@
 DRAM:  512 MiB
 PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
 MMC:   FSL_SDHC: 2, FSL_SDHC: 1, FSL_SDHC: 0
-Loading Environment from MMC... *** Warning - bad CRC, using default environment
-
+Loading Environment from MMC... OK
 Video: 800x480x24
 In:    serial
 Out:   serial
@@ -27,10 +26,10 @@
 Scanning mmc 0:1...
 Found /boot/extlinux/extlinux.conf
 Retrieving file: /boot/extlinux/extlinux.conf
-191 bytes read in 1 ms (186.5 KiB/s)
+191 bytes read in 2 ms (92.8 KiB/s)
 1:	Linux 5.1.15-armv7-lpae-x11
 Retrieving file: /boot/vmlinuz-5.1.15-armv7-lpae-x11
-10383872 bytes read in 131 ms (75.6 MiB/s)
+33280 bytes read in 3 ms (10.6 MiB/s)
 append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
 Retrieving file: /boot/dtbs/5.1.15-armv7-lpae-x11/imx7d-pico-pi.dtb
 44838 bytes read in 10 ms (4.3 MiB/s)
@@ -40,12 +39,3 @@
 
 Starting kernel ...
 
-[    1.415900] spi_imx 30840000.spi: dma setup error -19, use pio
-[    1.485526] CPUidle arm: CPU 0 failed to init idle CPU ops
-SELinux:  Could not open policy file <= /etc/selinux/targeted/policy/policy.31:  No such file or directory
-
-Debian GNU/Linux 9 arm ttymxc4
-
-default username:password is [debian:temppwd]
-
-arm login:

One thing that jumps out is that your kernel is much larger? Maybe I built it wrong.

Try re-copying it, by default it should be around 10Mb in size…

voodoo@work-i7:/opt/builder/5.1.x/armv7-lpae-multiplatform$ ls -lha deploy/5.1.15-armv7-lpae-x11.zImage 
-rwxr-xr-x 1 voodoo voodoo 10M Jul  2 10:18 deploy/5.1.15-armv7-lpae-x11.zImage

Regards,

The one in my deploy folder is only 33K. I tried wiping the whole repo with rm -rf *, git checkout --, then rebuilding it, but same size. I tried letting it download gcc vs. using my pre-installed one, but same size. :confused:

I’ll fiddle with it and see if I can figure out what’s wrong. Mind pasting me your .config just so I can eliminate that?

Here’s everything, it’s the default config:

http://rcn-ee.online/builds/5.1.15-armv7-lpae-x11/

Regards,

Your kernel works.

I think I found my problem. Buried in the output was lzop not being found. It just continued anyway, happily producing a tiny 33K file. Rebuilding now, after installing it…

In a perfect system, that would have been caught by:

But, it’s never perfect…

Regards,

Ah, I’m on Arch. That’s why.