Currently the kernel packages don't include the dtbs and the firmware package doesn't have the firmwares, so add them in for now as a workaround. Also point to re4son's next repo for the latest kernel that has the changes needed for the dtbs to work.
Note: the current boot firmware expects the dtb name to be bcm2710-rpi-zero-2 which is why we include both, so that when the new bootloader shows up, it will seamlessly transition to the correct one.
These don't belong there, and aren't needed. It was an attempt to make sure it was run before ssh starts, but making it part of when put in the correct spot in the service file seems to cause ssh to just never actually start, so lets remove it. We can revisit if it ever causes issues.
We now default to bash on armel devices. Typing with zsh as the default becomes an exercise in frustration due to the processing of zsh behind the scenes to guess what you may want to do.
Users can still set it to zsh manually.
Because we need to quote the make command inside the dkms.conf file, it turns into a huge mess, so lets just use a separate file and copy it in. This does the correct thing when I tested it bumping from 5.10 to 5.14 so that's good enough for me.
We use growpart from the cloud-guest-utils package (actually from Canonical's repo on github), and this allows us to resize all of the filesystem without random dropping journals.
Tested on rpi0w, rpi4 (32bit and 64bit), pinebook, pinebook-pro, nanopi neoplus2, rpi2, odroid-c2. So I am thinking it's in a spot to make it available everywhere.
Also, somehow enabling ssh was dropped, likely due to misreading the purpose of "enable-ssh" service, which is a feature parity thing from raspbian where you could drop a "ssh" or "ssh.txt" file on /boot and it would enable ssh. We decided long ago however, to always eable ssh on the arm images.
instead, people should enable the services they want/need on image build, otherwise it may modify things under the user (e.g. pitail image where we disable networkmanager, only to end up with it enabled by this script)
running systemctl enable doesn't start the services, so we pass --now to both enable and start the services.
also, bluetooth and networkmanager aren't necessarily always installed, so don't make them fatal
For some reason, it always claims the rootfs is in use (duh) and parted refuses to resize the filesystem, so work around it via echoing yes to the prompt.
For some reason, it was failing previously, so we switch to parted, and base off the way that the debian image-specs uses to resize the rootfs, this seems to work in my testing