Commit Graph

59 Commits

Author SHA1 Message Date
Cyril Brulebois d43ee7b1b8 Delete support for buster.
Bookworm was just released, bullseye is now oldstable, and buster is now
oldoldstable. It doesn't seem to be worth it to keep building images for
it, so let's drop support for it right away.
2023-06-13 21:09:47 +02:00
Cyril Brulebois 36ad6638a9 Add basic support for trixie.
In passing: the _clean_yaml target should definitely leverage
BUILD_RELEASES instead of duplicating it.
2023-06-13 21:02:39 +02:00
Cyril Brulebois 7bcb42a2ba Merge branch 'master' into pythonize
Let's catch up with the recent changes (boot-consistency merge, mainly).

Conflicts:
	Makefile
	raspi_master.yaml
2021-11-20 14:01:01 +01:00
Cyril Brulebois 2b2bb9d6d7 Drop extraneous sed-ing of cma= in z50-raspi-firmware hook for Pi 4 (bookworm).
Commit 3f9e671fed in the boot-consistency
branch, which requires an extension to cover the new raspi_4_bookworm
build.
2021-11-20 13:57:20 +01:00
Cyril Brulebois cba96ddb16 Merge branch 'boot-consistency' 2021-11-20 13:43:53 +01:00
Diederik de Haas 66f43b854f Fix _clean_shasums to also remove *.img.sha256.
Commit 422a0d60 fixed the img.sha256 target itself, but it didn't update
the corresponding clean variant, so add that too.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
(cherry picked from commit 60513d46f6)
Signed-off-by: Cyril Brulebois <cyril@debamax.com>
2021-11-20 04:19:23 +01:00
Cyril Brulebois 5f7a28d8ec Add support for bookworm. 2021-11-20 03:57:19 +01:00
Gunnar Wolf 68ebe5c385 Enable builds for Bookworm 2021-11-09 23:48:29 -06:00
Cyril Brulebois 3f9e671fed Drop extraneous sed-ing of cma= in z50-raspi-firmware hook for Pi 4.
For starters, the pattern no longer exists since this commit in
raspi-firmware:

    commit dd456f4746a800ac85bdf376b5efcdb1fac133de
    Author: Gunnar Wolf <gwolf@gwolf.org>
    Date:   Wed Aug 5 12:02:57 2020 -0500

        Don't set CMA in RPi4 unless specified expressly

and there's now a SET_CMA variable instead.

And more importantly, the Pi 4 gets appropriate treatment thanks to this
commit (empty SET_CMA), which the Pi Compute Module 4 might get soon too
(see #996937).

This commit first shipped in debian/1.20200601-2, and we are using one
of those at the moment for the Pi 4 family:
 - 1.20210303+ds-2 (bullseye)
 - 1.20210303+ds-2~bpo10+1 (buster-backports)
2021-10-21 16:10:14 +02:00
Diederik de Haas 60513d46f6
Fix _clean_shasums to also remove *.img.sha256.
Commit 422a0d60 fixed the img.sha256 target itself, but it didn't update
the corresponding clean variant, so add that too.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2021-09-09 01:00:59 +02:00
Diederik de Haas 611b5c6d5c
Fix missing firmware error on RPi 3 Buster.
The RPi 3 wants an extra firmware file which isn't available in normal
Buster, but is available in buster-backports, so install that version of
firmware-brcm80211.
Note that dmesg shows it as an error, but wifi should work without it.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2021-09-09 00:31:55 +02:00
Diederik de Haas 26a7de63b0
Fix machine-id mechanism for Buster.
The logic wrt /etc/machine-id changed between Buster and Bullseye.
While on Bullseye the file should not exist, on Buster the file must
exist, but be empty, in order to generate a new machine-id on first
boot.
It seems that /var/lib/dbus/machine-id is a symlink to /etc/machine-id
on Buster, while a separate file on Bullseye, so nothing needs to be
done with that file/symlink.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2021-09-09 00:28:05 +02:00
Diederik de Haas 7aed761507
Change 'sed' separator to '#'.
For (at least) rpi4 Buster target, it gets replaced (again) by a package
from backports, resulting in <pkgname>/backports, making the sed
statement invalid. That isn't the case when using '#' as separator.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2021-09-09 00:23:05 +02:00
Cyril Brulebois 252a694848 Improve loop readability.
Split dynamic target generation across several lines to make the nested
loops more obvious. Backslashes are needed for make to be happy about
what would otherwise be detected as unfinished foreach function calls.
2021-08-28 06:08:27 +02:00
Cyril Brulebois 0f8884c39c Replace the sed maze with one generate-recipe call for each combination. 2021-08-28 06:08:27 +02:00
Cyril Brulebois eef3f4d3c1 Use the $< automatic variable.
That's the name of the first prerequisite.
2021-08-28 06:02:43 +02:00
Cyril Brulebois 422a0d6054 Fix shasums target.
Without this, a plain `make` would result in:

    make: *** No rule to make target 'raspi_1_buster.img.sha256', needed by 'shasums'.  Stop.
2021-08-28 06:00:29 +02:00
Gunnar Wolf 9e206c86ff Fix generated suffix for .img.sha256 files 2021-08-24 13:22:36 -05:00
Gunnar Wolf 06ec954d82 Shasums for the compressed images should use consistent naming -- generate them as .img.xz.sha256 2021-08-23 11:58:32 -05:00
Cyril Brulebois 3058cf8e82 Run sed on rpi-reconfigure-raspi-firmware.service within $ROOT.
This fixes the build of all buster-based images (regression in
feb61f3361).
2021-08-22 23:05:01 +02:00
Cyril Brulebois 45cb5619d4 Add cma= tweaks only once for raspi_4_* recipes.
Otherwise, the two same sed calls would be added twice, once after the
console= tweak, once after the LABEL= tweak.
2021-08-22 23:05:01 +02:00
Gunnar Wolf 6cc7bc3666 Merge remote-tracking branch 'smcv/bmap' 2021-08-02 12:08:47 -05:00
Gunnar Wolf feb61f3361 Fix rpi-generate-ssh-host-keys.service to use the correct package name in buster 2021-07-02 13:01:22 -05:00
Diederik de Haas 84b6ac3864
Add check whether 'fakemachine' exists.
Give a warning message if it does and an error when it does not.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2021-06-24 20:22:55 +02:00
Simon McVittie 821aff4e19 Makefile: Automatically use fakemachine if not uid 0
fakemachine launches a virtual machine reusing the host system's /usr,
and runs commands as root on that virtual machine. It's used by debos,
but can also be used to wrap arbitrary commands, in particular vmdb2;
it's enough to run the parts of vmdb2 that need to mount filesystems
and run apt.

This won't work if fakemachine isn't available (in particular on non-x86),
but that seems better than just failing altogether.

Signed-off-by: Simon McVittie <smcv@debian.org>
2021-06-24 19:33:33 +02:00
Gunnar Wolf e826d97050 Enable security updates for Bullseye images 2021-05-07 12:58:56 -05:00
Simon McVittie e6defffb23 Makefile: Optionally generate a bmaptool map file
bmaptool(1), from the bmap-tools package, can write the used blocks
in a sparse disk image to media, while saving time and I/O by not writing
zeroes to the unused blocks. Typical use:

    make raspi2_bullseye.img.bmap raspi2_bullseye.img.xz
    ... upload those two files ...
    ... download those two files ...
    bmaptool copy raspi2_bullseye.img.xz /dev/disk/by-id/usb-Generic-_SD_MMC_*-0:0

Signed-off-by: Simon McVittie <smcv@debian.org>
2021-04-25 11:22:59 +01:00
Gunnar Wolf 09805aa49b Un-blacklist vc4
Distributing vc4-blacklisted images is a disservice to our users as soon as
vc4+serial work again, and RPi4 is quite often used for desktop or multimedia
tasks.
2021-04-13 22:55:07 -05:00
Gunnar Wolf 6779ca8ad0 Blacklist vc4 module for Bullseye on RPi4, as it leads to serial console corruption 2021-04-13 16:58:25 -05:00
Gunnar Wolf d4fa0532a5 Merge remote-tracking branch 'diedrik/fix-sha256-makefile-target' 2021-03-26 10:16:19 -06:00
Diederik de Haas 267e7fe332 Replace ttyACM0 with ttyAMA0 for the serial console.
Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2021-02-21 11:30:55 +01:00
Diederik de Haas 4205fd427f Change base of sha256 target to .img as checksum is based on that.
It now xz compresses the image and then still calculates the sha256 hash
on the non-compressed file. The xz.sha256 target (already) compresses it
and calculates the hash on the xz file.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2021-02-19 12:58:33 +01:00
Gunnar Wolf a146c3a7f7 Fixes to almost-ensure there is a working serial console
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.
2021-02-18 11:31:23 -06:00
Gunnar Wolf 42f88e3d30 Fix missing regex end when calling sed; add target_platforms target 2021-01-26 00:55:23 -06:00
Gunnar Wolf 89ef824285 Don't use the transition firmware package when building for bullseye 2021-01-25 14:27:26 -06:00
Gunnar Wolf 04ea975a1e Use a more coherent, stable naming for build families and releases 2021-01-25 14:09:59 -06:00
Gunnar Wolf eac6b11833 Skip the debian-security repositories when building images for testing 2021-01-14 13:32:44 -06:00
Gunnar Wolf 85126a9503 Enable the build of Bullseye targets as well 2021-01-14 00:55:55 -06:00
Gunnar Wolf 57e90df103
All packages needed for RPi4 are now in buster/backports, stop bringing unstable in 2020-11-05 11:35:58 -06:00
Gunnar Wolf 19858b17d7 Use "buster" instead of "stable" for the RPi4 default apt release (Salsa issue #30) 2020-10-16 10:49:18 -05:00
Andres Salomon 0304a4e5b9 pi4: remove wget hack needed for the wifi driver
This nvram file is now included in firmware-brcm80211 as of 20200421-1
(which is in both unstable and testing).
2020-07-22 17:35:27 -04:00
Gunnar Wolf 3f92681fc9 Incorporating many changes in branches by iwamatsu, dilinger 2020-07-06 23:36:25 -05:00
Gunnar Wolf 7c76783844 Merge branch 'rpi0-firmware-live' into 'master'
FIX: raspi3-firmware in buster updates now meets requirements

See merge request raspi-team/image-specs!14
2020-07-06 05:21:19 +00:00
PeterLawler 6e8d6bce0b FIX: raspi3-firmware in buster updates now meets requirements 2020-07-06 05:21:19 +00:00
Andres Salomon 8049a80e8e Clean up the .xz.sha256 sums that are created during build 2020-07-06 00:02:01 -04:00
Nobuhiro Iwamatsu a8fc785c77 Makefile: Add Rpi 4 to build target
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@debian.org>
2020-07-01 04:22:01 +09:00
Andres Salomon 3995159864 pi4: add a hack to make wifi work on the pi4
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.
2020-06-26 02:30:05 -04:00
Andres Salomon 462abf1d43 Generate a raspi_4.yaml
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.
2020-05-10 22:25:10 -04:00
Andres Salomon 5507be93ef Makefile: use variables for platforms instead of repeating platform numbers
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.
2020-05-04 18:21:22 -04:00
Andres Salomon dab07510cf Clean up the .xz.sha256 sums that are created during build 2020-05-04 18:18:58 -04:00