Commit Graph

7 Commits

Author SHA1 Message Date
Caleb Connolly
d92e2aaa20
postmarketos-initramfs: only include necessary udev rules (MR 5636)
importing all udev rules doesn't make sense here. Only add the needed
ones.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-10-31 11:54:25 -07:00
Caleb Connolly
cb8414a20d
postmarketos-initramfs: unify with minimal initramfs (MR 5636)
We previously forked the initramfs into a minimal variant for highly
space constrained devices, to allow the normal variant to gain
additional functionality like the debug-shell (With OSK). Initially the
hope was that only a handful of devices would need the minimal variant,
but in practise this has not been the case.

Trying to maintain two diverging forks of the initramfs is absoutely
unsustainable and (to be frank) a bit silly.

Based on discussion with craftyguy and newbyte, let's re-architect the
initramfs to run in two stages, with the second stage being part of
initramfs-extra. By itself this doesn't make a lot of sense, since
requiring the boot partition be mounted for the debug-shell to be useful
is a major downgrade.

However this can be used in tandem with pending support for a new
deviceinfo_create_initfs_extra variable, this is default false in
mkinitfs which finally gets rid of initramfs-extra entirely for devices
that don't need it.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-10-31 11:54:24 -07:00
Pablo Correa Gómez
f94b2931d2
main/postmarketos-initramfs: don't hard-code libz path (MR 5610)
It's the work of the mkinitfs to fetch the library. This was initially
introduced in c7c2b2d02a and its use-case
is non-existent today as osk-sdl is gone. In addition, the mkinitfs
rework Clayton did some time ago correctly detects libraries needed for
binaries, exactly so we don't need to pull this in manually!
2024-09-26 04:19:16 -07:00
Oliver Smith
229e59a412
main/postmarketos-initramfs: adjust libz path (MR 5609)
Fix for:
  stat /lib/libz.so.1: no such file or directory
2024-09-18 21:37:42 +02:00
jane400
59fd336bbc
main/postmarketos-initramfs: run fsck and mount sysroot as rw (MR 5238)
This moves the responsibility to auto-repair filesystems to the
initramfs. (I think we don't do this at all right now).
We don't try to mount broken partitions at all, we tell the user
that the system is broken and fail_to_boot.

The flow is now:

1. mount the boot partition (read-only) for initramfs-extra
2. initramfs-extra is extracted (with the needed fsck executables)
3. fsck the root partition
4. mount root partition (read-write)
5. fsck the boot partition
6. mount the boot partition (read-write)

This helps with the systemd bringup, as we want to make use of
systemd-firstboot, which sets /etc and enabled services up. As
this service is responsible of setting up /etc, it is run before
/etc/fstab is read and before / is remounted read-write.
2024-07-09 15:49:26 -07:00
Luca Weiss
5f820deefc
main/postmarketos-initramfs: switch_root with /dev (MR 3230) (MR 4204)
Mount /dev (and /run) in initramfs so util-linux switch_root can move
the mounts over to the new sysroot before changing root.
BusyBox switch_root doesn't even attempt to move anything so use
util-linux's switch_root for this.

Explicitly disable tests too...
2023-09-07 20:33:55 +01:00
Clayton Craft
536264bac0
main/postmarketos-initramfs: new aport (MR 3895)
This package contains base file and module lists for the initramfs /
initramfs-extra archives, along with the init.sh

The primary reason for doing this is so that changes to these
files/lists can be properly versioned (in pkgver), and (re)building
mkinitfs itself is no longer required for these changes.

- Add base file list for initramfs. The dirs at path
  /usr/share/postmarketos-mkinitfs/* are "new" in mkinitfs 2.0

- Install default modules to /usr/share

- Install system config to /usr/share/mkinifs

- Add base files for -extra archive

- Create user config dirs

- Update hook dirs in init.sh, change from mkinitfs 2.0

- Remove splash images, obsolete since pbsplash

- Support uncompressed initramfs-extra
2023-03-08 21:34:37 -08:00