Commit Graph

23 Commits

Author SHA1 Message Date
Cyril Brulebois 45ef172142 Simplify /etc/machine-id management.
Buster was the only one needing an empty /etc/machine-id file.
2023-06-13 21:28:29 +02:00
Cyril Brulebois 6075c5a212 Remove comment about the hostname discrepancy.
It went away with buster's going away.
2023-06-13 21:25:10 +02:00
Cyril Brulebois dcd0ec92e0 Explain the decision behind keeping backports_* variables.
The backports_suite variable could probably be dropped, as (at least
right now) all backports suites are called <suite>-backports.
2023-06-13 21:23:19 +02:00
Cyril Brulebois 74be632539 Delete raspi3-firmware tweaks.
raspi3-firmware was buster-only.
2023-06-13 21:19:49 +02:00
Cyril Brulebois 5a28d3fe99 Simplify raspi-firmware management.
raspi3-firmware was buster-only.
2023-06-13 21:18:01 +02:00
Cyril Brulebois 1b8275894e Simplify security suite management.
All supported suites (bullseye+) are using the new naming scheme.
2023-06-13 21:16:31 +02:00
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
Diederik de Haas d8e23c6a30
Fix /etc/machine-id generation for first-boot
In Bullseye and later, the `/etc/machine-id` file needs to have the
value `uninitialized` for it to be recognized as first boot and
therefor trigger the generation of a new machine-id.

Fixes: #52
2022-12-08 18:37:12 +01:00
Diederik de Haas 6f016aa1ab
Add 'bluez-firmware' package to images
All RPi models which have wireless, also have bluetooth, so add the
firmware package to those images so that the hardware is supported.

Also remove the 'Extra' from the wireless firmware comment.
2022-11-11 12:53:54 +01:00
Diederik de Haas dc7558eb3f
Re-add 'non-free' to sources till all firmware is moved
The wireless firmware is in the firmware-brcm80211 package, but that is
still in 'non-free', so add 'non-free' back to the sources until all
the needed firmware packages are in 'non-free-firmware'.

https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/36
is where the move to non-free-firmware is proposed, but not yet merged.
2022-10-31 01:32:47 +01:00
Diederik de Haas d71140b08a
Move 'contrib' removal comment to git commit msg
Previous commit not only replaced 'non-free' with 'non-free-firmware',
it also removed the 'contrib' archive area from the sources.list.
It added a note about it in the code comments, which I think is the
wrong place. The 'why' of a change belongs in a git commit message,
where one can be as verbose as needed.
Code comments should be used to clarify the 'what' (it does) in case it
would not be immediately obvious.

The removal of 'contrib' totally makes sense though.
We did not use it and 'contrib' and 'non-free' are not part of
(official) Debian, whereas 'non-free-firmware' is now part of Debian
(official media) as a consequence of the change to the Debian Social
Contract following the GR vote.
With this change, we only use what Debian itself would only use.

Fixes: 1ffce8e6bb
2022-10-30 23:56:51 +01:00
Gunnar Wolf 1ffce8e6bb For Bookworm, use the new non-free-firmware section instead of non-free 2022-10-12 10:25:53 -05:00
Diederik de Haas 1211f8af04
Add buildtime to raspi-image-id in the image itself
When the image was build also determines which package versions got
installed in the generated image and could help explain why a user has
problems with the downloaded image.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
2022-01-14 00:19:57 +01:00
Anton Gladky afe64f3b1f
Add git commit information into the image. Fixes #43 2022-01-13 23:49:27 +01:00
Cyril Brulebois 96ac1dcec7 Install systemd-timesyncd explicitly (fixes: #58).
It used to be pulled this way (up to Bullseye), via systemd:

    Depends: […] systemd-timesyncd | time-daemon […]

Starting with Bookworm, this was downgraded to:

    Recommends: […] systemd-timesyncd | time-daemon

Install it all the time: NTP support is important on Raspberry Pi
devices, which usually don't feature an RTC.

But be careful since Buster had systemd itself provide that feature (no
separate systemd-timesyncd package yet).

Thanks, David Tomaschik!
2021-12-08 21:38:36 +01:00
Cyril Brulebois cab748ab0c Drop cma= tweaking in /etc/kernel/postinst.d/z50-raspi-firmware.
See 3f9e671fed in the boot-consistency
branch, later adjusted in 2b2bb9d6d7 for
the master branch and the new bookworm builds.

With the pythonize approach, a single change is needed.
2021-11-20 15:11:25 +01:00
Cyril Brulebois 650da9d351 Pull firmware-brcm80211 from buster-backports for the Pi 3.
Commit 611b5c6d5c in master.
2021-11-20 04:17:26 +01:00
Cyril Brulebois 592c0df22e Adjust /etc/machine-id logic for buster.
Commit 26a7de63b0 in master:
/etc/machine-id needs to exist and be empty on buster, while bullseye
needs this file not to exist at all. For now, treat both bullseye and
bookworm the same way.
2021-11-20 04:09:52 +01:00
Cyril Brulebois 5f7a28d8ec Add support for bookworm. 2021-11-20 03:57:19 +01:00
Cyril Brulebois 2108ed0a80 Reorder replacements.
Let's have variables being set and replacements being performed in
roughly the same order.
2021-08-28 06:08:27 +02:00
Cyril Brulebois 433100f5cb Standardize firmware handling.
Group raspi-firmware and firmware-brcm80211 together, and make the
firmware package a regular list item in the master YAML file (making
editors happy about it).

Of course, this means that in all generated recipes, linux-image and
raspi*-firmware switch places.
2021-08-28 06:07:45 +02:00
Cyril Brulebois 4483f4cdfb Generate recipes using a Python script instead of multiplying sed calls.
This is a proof of concept rather than an ideal, final situation.

It can be used this way:

    for v in 1 2 3 4 ; do
      for s in buster bullseye; do
        ./generate-recipe.py $v $s
      done
    done

and it has been verified to produce very similar results compared to the
existing many-sed approach.

Differences are as follows:
 - Missing newline after some backports stanza, due to the removal of
   the other APT line. There's already MR#51 that aims at fixing some
   newline-related issues anyway, so this can be addressed separately.
 - Less schizophrenia in the generated sources.list for buster/4, as we
   are now only showing a reason for enabling the backports, instead
   of starting by explaining why backports are disabled by default.
 - Dropping APT::Default-Release = buster in the buster/4 case, which
   is no longer needed as we are pulling things from buster-backports
   rather than pulling them from unstable (see 57e90df103).
 - No longer trying to fix the firmware package name by throwing a
   broken sed at rpi-reconfigure-raspi-firmware.service in the buster/4
   case: the syntax was buggy and fixing it would have made us try to
   replace raspi-firmware with raspi-firmware/buster-backports, while
   the correct thing to do is to not touch it in the first place
   (raspi-firmware is the correct name for the firmware package, pulled
   from buster-backports).

As a side effect, this transforms the existing __EXTRA_SHELL_CMDS__ into
a slightly more explicit __EXTRA_ROOT_SHELL_CMDS__ which now has its
__EXTRA_CHROOT_SHELL_CMDS__ twin. That's the entry point that was
missing and made 45cb5619d4 necessary in the past.
2021-08-28 06:07:45 +02:00