BPI-M2 Zero Mainline linux kernel 4.19.0 (experimental)

If someone is interested there is a mainline linux kernel 4.19.0 to try out.


very cool ,thank you .

@avaf , Thank you, very useful to have minimal headless image.

Very Nice !

Downloaded the 8gb SD image (4.17.4-m2z) … BURNED IT and tested on a Banana Pi P2 Zero.

Ethernet is working, WIFI also. Nice.

tested as OK on a PI-P2 ZERO, but no EMMC viewed in fdisk -l only the SD-CARD (and the eemc on board with 8 Gb is correctly working)

[email protected]:~# fdisk -l Disk /dev/mmcblk0: 7.5 GiB, 8068792320 bytes, 15759360 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x58b49123

Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 49152 253951 204800 100M 83 Linux /dev/mmcblk0p2 253952 15532031 15278080 7.3G 83 Linux

Got a solution via @avaf (on GIT) :

well the two .SH file you give on GIT work.

but I I boot via EMMC :

U-Boot SPL 2017.09-h2 (Jul 06 2018 - 10:16:12) DRAM: 512 MiB Trying to boot from MMC2 MMC Device 1 not found spl: could not find mmc device. error: -19 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ###

Can you grab a complete boot with a TTL-USB? This might help finding the error.

Print the complete output booting from sd CARD and booting from eMMC. But i think it is just a matter of adjusting the device number. Choose from one of these:

/dev/mmcblk0 /dev/mmcblk1 /dev/mmcblk2

Please, note that the default device may change if you boot from SD or eMMC, you need to figure out using the TTL debug info.

Thanks for great effort. I use your minimalistic image with bpi-m2z 4.19.12-m2z-otg-gadget kernel. There is a problem though, I’m trying to build a sound card driver, which require kernel headers. Could you give a hint on where to download headers for the kernel version in question?

Hmm, it should be there in /usr/src/kernel…

I am sure these Kernels will have kernel-headers:

  • Kernel 5.3.0-rc3


  • Kernel 4.20.17



I have image with kernel 4.20.17 installed on SD card of BPI M2 Zero. I also have RTL8152 USB Ethernet dongle, keyboard and HDMI TV connected to it.

I want to SSH into it, but the device does not receive IP address from router.

On TV there’s huge overscan, and to add an insult to injury it displays in 1080i instead of native 720p. Bottom line, I don’t see part of the screen, and what I do see is very hard to read. I have neither compatible antenna nor ethernet breakout board, they are not delivered yet and can take weeks to arrive.

How can I connect it to ethernet or wifi and SSH into it, under the circumstances?

Can you output the complete bootlog after you attach the USB dongle?

Banana Pi M2 Zero has support for Wifi and 10/100 Mbps, you can enable the ethernet described here: [BPI-M2-Zero] Default supports 10/100 Ethernet

I can’t remember if the RTL8152 USB Ethernet dongle was enabled at that time, but reviewing the kernel config i think it is there as ( I personally never used it ):


You possibly will need to load the driver if it is not there when you plug the USB dongle and edit the file /etc/network/interfaces to create the new interface.

As for the wifi you can read the section: connecting-to-ap-via-wifi , you can also search the text wifi for additional information.

I think the edid blobs are missing, you would force the video output by passing a kernel parameter similar to this:

setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x720.bin video=HDMI-A-1:[email protected]"


setenv extra "no_console_suspend consoleblank=0 drm_leak_fbdev_smem=1 drm_kms_helper.edid_firmware=edid/1280x720.bin video=HDMI-A-1:[email protected]"
setenv bootargs "console=ttyS0,115200 earlyprintk rootfstype=ext4 root=/dev/mmcblk0p2 rw rootwait fsck.repair=${fsck.repair} panic=10 ${extra}"

Edit the file bpi-m2-zero_boot.cmd in /boot add the above params and recompile it. Also add the EDID blob help to /lib/firmware/edid

attached the blob. 1280x720.bin (128 Bytes)

1 Like

oops, the kernel config is missing the


It will be enabled on next build, looks like 5.3.0 will be released this weekend…

1 Like

@avaf thank you. I guess I will have to go someplace with real monitor to check, the overscan is too bad on that TV and impossible to disable…

Maybe you could give kernel 5.3.0-rc7 a try, there is support for custom EDID, Try to ssh to the board and upgrade kernel like this:

1 Like