Mainline kernel and uboot do not boot on VIM3L


I have tried to build a Debian image using the mainline kernel and uboot. But it does not boot. If I use 4.9 kernel and 2015 uboot, the image boots OK.

The issue I reported on github

What could the cause of this issue be?

Are you getting the the boot logs of the Debian firmware?

I don’t know how to get the boot logs. Is it through serial debug cable? I cannot make serial debug cable work either.

Are you getting something like this or does it procced to boot Android present on the eMMC


After I press the reset button, the white LED is on for about 5 or 6 seconds, then off. There is no output from the monitor connected to HDMI port.

Hmm, did you try re-flashing it?
was flashing the firmware on the SD card a successful write ?
what was your flashing tool? rufus, balena etcher, win32 disk imager ?

I didn’t erase eMMC. I flash the linux image on a micro SD card. The flashing has no errors. I used the same way for flashing 4.9 kernel image, which boots OK. I used dd on linux.

Hmm, I guess we will have to call the big guys, @Frank @hyphop @RDFTKV any ideas ?

1 Like

Since now I can see the boot message from serial terminal, it seems the kernel does boot. The issue is there is nothing from HDMI port. The related messages are

[ 1.924626] meson-drm ff900000.vpu: Queued 2 outputs on vpu
[ 1.924822] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.931127] [drm] No driver support for vblank timestamp query.
[ 1.937043] meson-drm ff900000.vpu: CVBS Output connector not available
[ 1.970804] meson-dw-hdmi ff600000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy)
[ 1.976060] meson-dw-hdmi ff600000.hdmi-tx: registered DesignWare HDMI I2C bus driver
[ 1.983311] meson-drm ff900000.vpu: bound ff600000.hdmi-tx (ops meson_dw_hdmi_ops)
[ 1.991403] [drm] Initialized meson 1.0.0 20161109 for ff900000.vpu on minor 0
[ 2.055009] meson-drm ff900000.vpu: [drm] ERROR fbdev: Failed to setup generic emulation (ret=-12)

I thank you for the association, but I am not one of the bigs, just a long time user. :grin:
Frank or hyphop will offer a much better chance of resolution.


@jzhang918 Do you earse uboot in emmc ? This maybe a mismatch between uboot and kernel versions

Thanks for reply. No, I didn’t erase eMMC. But I found the cause. The issue of no output on monitor and the error messages I posted before is because allocating frame buffer failed. Allocating that frame buffer 1920 x 1080 x 4 requires zone order 11. But FORCE_MAX_ZONEORDER is set to 11, which is too small. With it being set to 12, the monitor has output. Except one issue. The color is not right. White color looks purple-ish and black color looks blue-ish. Do you have see issues like this before?

Another issue is keyboard and mouse are not powered up. The last dmesg is

[ 33.759519] USB_PWR: disabling

I don’t know what the cause is.

I searched the forum and found

So I followed the suggestion from that thread and erased eMMC. After reboot, the color is normal and USB is working. So I’m all set now. But btw, how does the preinstalled android affect Linux on SD card?

the uboot present in the android rom messes around with uboot in the Linux and those color offsets occur

Yeah, it seems that’s the case. After erased eMMC, modification of FORCE_MAX_ZONEORDER is not needed, because now a much smaller frame buffer is created.

1 Like

@jzhang918 So, after you erase EMMc, the board work fine ?

Happy that it works, I don’t have much of a problem due this uboot and green screen problem, because I run Linux headless and Android on my TV so, no problems :slight_smile:

Yes, everything works after eMMC is erased.