BPI-M2 Zero Raspberry Pi OS Image (i.e. Raspbian Buster)

Hi - Is there an image available for the latest Raspberry Pi OS, which was recently renamed and based on Debian Buster?

I have ordered a BPI-M2 Zero to replace my Pi0W and want to port everything over to the BPI but need to use this image at the moment to save headache.

Thanks!

That would be a fundamental mistake. Raspberry Pi OS hardware features works only on Rpi, the rest is Debian Buster with a different wallpaper / name.

Your best chance - and a classes better OS:

Thanks Igor. There are a few things I need to work. Will the following work:

  • I have a custom dt overlay for my touchscreen, will it work? What would I need to change? It uses I2C-gpio
  • I am using systemd-networkd for simultaneous client/ap mode…will it work?

How should I know that specific question without a research? You are the one who needs this and you will need to investigate. Best chance is not a copy / paste operation.

Support goes this way:

First question is hw related. Yes, I2C works, but to drive a specific LCD … second question is partially hw Debian is compatible with Debian. But if wireless works simultaneously … not OOB. You need to patch a driver. And no, I can’t help you get it done.

Hi again. So I have got the Bpi M2 Zero running with Armbian and Armbian itself looks very good so far!

I have a custom overlay for my touch screen which worked with the Rpi, which you can see below. I have added the “compatible” strings.

Presumably, I will need to get the drivers also and add them to the device? This would include: the Goodix driver; i2c-gpio; polytouch?; (rpi_backlight I don’t actually need as I will control it from Python); what about dpi18?

How straightforward is moving everything over (of course, everything is easy when you know ;)? Is it a case of tweaking a few things or will it require full driver re-writes? Thanks

/dts-v1/;
/plugin/;
/ {
	compatible = "allwinner,sun4i-a10", "allwinner,sun7i-a20", "allwinner,sun8i-h3", "allwinner,sun50i-a64", "allwinner,sun50i-h5";
	fragment@0 {
		target = <&leds>;
		__overlay__ {
			pinctrl-names = "default";
			pinctrl-0 = <&dpi18_pins>;
		};
	};
	fragment@1 {
		target = <&gpio>;
		__overlay__ {
			dpi18_pins: dpi18_pins {
				brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9	0xc 0xd 0xe 0xf 0x10 0x11	 0x14 0x15 0x16 0x17 0x18 0x19>;
				brcm,function = <0x6>;
				brcm,pull = <0x0>;
			};
		};
	};
	fragment@2 {
                target = <&gpio>;
                __overlay__ {
                        goodix_pins: goodix_pins {
                                brcm,pins = <11>;
                                brcm,function = <0>;
                                brcm,pull = <2>;
                        };
                };
	};
	fragment@3 {
		target-path = "/";
		__overlay__ {
			i2c_gpio: i2c@0 {
				reg = <0>;
				compatible = "i2c-gpio";
				gpios = <&gpio 19 0 &gpio 26 0>;
				i2c-gpio,delay-us = <2>;
				#address-cells = <1>;
				#size-cells = <0>;
			};
		};
	};
	fragment@4 {
		target = <&i2c_gpio>;
                __overlay__ {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "okay";

                        polytouch: gt911@5d {
                                /* #address-cells = <1>;
                                #size-cells = <0>; */
                                compatible = "goodix,gt911";
                                reg = <0x5d>;
                                pinctrl-names = "default";
                                pinctrl-0 = <&goodix_pins>;
                                interrupt-parent = <&gpio>;
                                interrupts = <11 0x02>;
																irq-gpios = <&gpio 11 0>;
                                touchscreen-size-x = <720>;
                                touchscreen-size-y = <720>;
                        };
                };
	};
	fragment@5 {
		target-path = "/";
		__overlay__ {
			rpi_backlight: rpi_backlight {
				compatible = "gpio-backlight";
				gpios = <&gpio 18 0>;
				default-off;
			};
		};
	};
	fragment@6 {
		target = <&polytouch>;
		__overlay__ {
			touchscreen-inverted-x = <1>;
			touchscreen-inverted-y = <1>;
		};
	};
	__overrides__ {
		rotate = <0>,"-6";
	};
};