59fd336bbc
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.
98 lines
3.1 KiB
Text
98 lines
3.1 KiB
Text
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
|
|
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
|
|
pkgname=postmarketos-initramfs
|
|
pkgver=3.3.0
|
|
pkgrel=0
|
|
pkgdesc="Base files for the postmarketOS initramfs / initramfs-extra"
|
|
url="https://postmarketos.org"
|
|
options="!check" # no tests
|
|
provides="postmarketos-ramdisk=$pkgver-r$pkgrel"
|
|
provider_priority=10
|
|
depends="
|
|
blkid
|
|
btrfs-progs
|
|
buffyboard
|
|
busybox-extras
|
|
bzip2
|
|
cryptsetup
|
|
device-mapper
|
|
devicepkg-utils>=0.2.0
|
|
dosfstools
|
|
e2fsprogs
|
|
e2fsprogs-extra
|
|
f2fs-tools
|
|
font-terminus
|
|
iskey
|
|
kmod
|
|
libinput-libs
|
|
lz4
|
|
multipath-tools
|
|
parted
|
|
postmarketos-fde-unlocker
|
|
postmarketos-mkinitfs>=2.2
|
|
udev
|
|
unudhcpd
|
|
util-linux-misc
|
|
xz
|
|
"
|
|
source="
|
|
00-default.modules
|
|
00-initramfs-base.dirs
|
|
00-initramfs-base.files
|
|
00-initramfs-extra-base.files
|
|
init.sh
|
|
init_functions.sh
|
|
unudhcpd.conf
|
|
"
|
|
arch="noarch"
|
|
license="GPL-2.0-or-later"
|
|
|
|
build() {
|
|
mkdir -p "$builddir"
|
|
|
|
# Replace <<INITRAMFS_PKG_VERSION>> with the actual version
|
|
sed "s|<<INITRAMFS_PKG_VERSION>>|$pkgver-r$pkgrel|" \
|
|
"$srcdir/init.sh" > "$builddir/init.sh"
|
|
}
|
|
|
|
package() {
|
|
install -Dm644 "$srcdir/unudhcpd.conf" \
|
|
"$pkgdir/etc/unudhcpd.conf"
|
|
|
|
install -Dm644 "$srcdir/init_functions.sh" \
|
|
"$pkgdir/usr/share/initramfs/init_functions.sh"
|
|
|
|
install -Dm755 "$builddir/init.sh" \
|
|
"$pkgdir/usr/share/initramfs/init.sh"
|
|
|
|
install -Dm644 "$srcdir"/00-initramfs-base.dirs \
|
|
-t "$pkgdir"/usr/share/mkinitfs/dirs/
|
|
mkdir -p "$pkgdir"/etc/mkinitfs/dirs
|
|
|
|
install -Dm644 "$srcdir"/00-default.modules \
|
|
-t "$pkgdir"/usr/share/mkinitfs/modules/
|
|
mkdir -p "$pkgdir"/etc/mkinitfs/modules
|
|
|
|
install -Dm644 "$srcdir"/00-initramfs-base.files \
|
|
-t "$pkgdir"/usr/share/mkinitfs/files/
|
|
mkdir -p "$pkgdir"/etc/mkinitfs/files
|
|
|
|
install -Dm644 "$srcdir"/00-initramfs-extra-base.files \
|
|
-t "$pkgdir"/usr/share/mkinitfs/files-extra/
|
|
mkdir -p "$pkgdir"/etc/mkinitfs/files-extra
|
|
|
|
mkdir -p "$pkgdir"/usr/share/mkinitfs/hooks
|
|
mkdir -p "$pkgdir"/usr/share/mkinitfs/hooks-extra
|
|
mkdir -p "$pkgdir"/etc/mkinitfs/hooks
|
|
mkdir -p "$pkgdir"/etc/mkinitfs/hooks-extra
|
|
}
|
|
|
|
sha512sums="
|
|
20bc7a21f4f59548b8179c5cb1fc2b3db64eb355988bce992db3bc4075d65b4135ff9dd7d754215d0402978811494449cce476a26cda6bb2f0f8b53ae8e36bd7 00-default.modules
|
|
9c0e8f6f61d5da191e03a1aa9d5d0ceb5baf1eae6dbb9bfb0af59817783525119ac8394b135f303f7b6434a3eab0b49185fb90379e06823db847a4999c75ce33 00-initramfs-base.dirs
|
|
929a8e6cca6b2b4ac6af89fc3912e80315f51c9bf6e9479124ccb7ebe9e99c6c1cafb98d3aa01b0a76a2f6e0071ba3eb86c7a2169a15c2e1788d69458bea3471 00-initramfs-base.files
|
|
f0f00a35f06b7d0a46c67df753ecef880ac92a725a8301649068069d2d477ae3278b3c548ea3f378b4c23eafb39551f5e3ca6a63478486d50a298132140b5b69 00-initramfs-extra-base.files
|
|
e85386077d590cd0db0745e8b58f3323a408cb6a94bca0e4395c43e4db18b0beef29324ed2bfeab6511d0e3b297c067e5a37f420a6877d9c28c285f2416ca420 init.sh
|
|
aa9591e2c35577bc3c1e9bafa7904b3dff97c42992a763113fff20754e82d521cc690733a1606d6808d556b5a271b5ad8fdc0d2aa475fcb3921433dca0ce178b init_functions.sh
|
|
ba3275a9af788c7c782322a22a0f144d5e50e3498ea6886486a29331f23ae89cd32d500a3635cfa7cab369afba92edc18aeca64ccbf0cd589061cce23d15b46c unudhcpd.conf
|
|
"
|