Commit Graph

12 Commits

Author SHA1 Message Date
Andres Salomon 0f23b8e378 rpi-resizerootfs: switch the root filesystem resizing away from a systemd oneshot service
Switch away from using a systemd service for the initial root resize.
Instead, we resize the root partition and filesystem in the initrd.

To simplify things, the initrd script will check whether it should resize
the partition on every boot. It does this by checking if the entire disk
(ignoring an empty 4MB) is in use.  However, the scripts themselves are
deleted from the system after the initrd is generated. After the image
is installed, the resize script should exist only in the initrd. When the
kernel gets upgraded (eg, for a security update) or a new initrd is generated
due to a package install, the new initrd will not contain the resize script.
At that point, nothing will remain from the image's initial resize
bootstrapping process.

This process (but not the scripts) is similar to what cloud-initramfs-growroot
does. However, that particular package has an indirect dependency on Python,
and we don't necessarily want that overhead in our images just for resizing.
2021-05-10 14:08:07 -04:00
Simon McVittie 44b845e83f rootfs: Eliminate circular dependency between systemd units
rpi-reconfigure-raspi-firmware.service requires /boot/firmware to be
mounted, but mounting local filesystems requires local-fs-pre.target,
so trying to run rpi-reconfigure-raspi-firmware.service before
local-fs-pre.target results in a cyclic order dependency. systemd
breaks the cycle in an arbitrary place, and the result is unlikely to be
what we want.

Instead, delay reconfiguration of config.txt until after local
filesystems are mounted, but before sysinit.target. This breaks the cycle
(image-specs#49).

This still orders it before all non-early-boot services, because
sysinit.target is part of the DefaultDependencies; so in particular
it will finish before rpi-generate-ssh-host-keys.service starts, which
avoids the two services fighting over the dpkg lock (image-specs#45).

Resolves: image-specs#45
Resolves: image-specs#49
Signed-off-by: Simon McVittie <smcv@debian.org>
2021-04-25 11:17:50 +01:00
Gunnar Wolf 7151dc68cb Added ipv6 support (commented) to wlan0 2021-03-26 10:02:44 -06:00
Christian Decker b81e5ad86f add iface line for ipv6 2021-03-19 22:07:13 +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 dbcdf867fe Merge branch 'update-rpi-set-sysconf-location' into 'master'
Update rpi-set-sysconf as it's in /usr/local/sbin, not /usr/sbin.

See merge request raspi-team/image-specs!27
2020-11-13 01:28:00 +00:00
Gunnar Wolf 560102aab6 Stop hardcoding the mount line for /proc in /etc/fstab (re: issue #34) 2020-11-12 19:25:25 -06:00
Diederik de Haas 8eb357a78a Update rpi-set-sysconf as it's in /usr/local/sbin, not /usr/sbin. 2020-09-08 16:25:35 +00:00
Gunnar Wolf 7de811f115 Add a configuration file for wireless networking 2020-08-15 00:15:43 -05:00
Gunnar Wolf 5fd8083493 Get rid of obsolete comments in eth0 configuration 2020-08-15 00:10:22 -05:00
Gunnar Wolf 91381c16c9 Merge branch 'rootfs' into 'master'
rootfs subdirectory

See merge request raspi-team/image-specs!12
2020-08-15 05:06:18 +00:00
PeterLawler dd3b33419c rootfs subdirectory 2020-08-15 05:06:18 +00:00