Why almost? Because Rpi0w uses ttyS1 instead of ttyAMA0 desipte being part of the RPi1 family...
...But it will work fine for the _second_ boot onwards, if things go according to plan.
For all other RPi models, it should work from the first boot on.
The broadcom wifi driver needs NVRAM data in order to work. Manually
grab upstream's board-specific NVRAM file for now, until we can get
it added to the firmware-brcm80211 package.
This allows you to run "make raspi_4.img" and create a raspberry pi 4
image. It doesn't yet add pi 4 to the list of images that are autobuilt.
We're pulling the latest kernel and raspi3-firmware in order to get pi4
support (which was added in Linux 5.5). We're also working around a bug
where cma= stops the 5.6 kernel from booting (see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=951744#10).
This is based on Lucas Nussbaum's initial yaml.
Create a variable called BUILD_PLATFORMS that lists the various pi images
to build. This keeps the platform list in one place in the makefile, rather
than sprinkled and repeated throughout multiple dependency and build lines.
When a platform is added (ie, the pi4) or removed, it won't touch multiple
rules and obscure other changes. This uses gmake-specific addprefix and
addsuffix.