95b22138c4
Rework logging to always log the initramfs output to the kernel ringbuffer and deprecate PMOS_NO_OUTPUT_REDIRECT in favour of following the kernel loglevel. I know it seems silly to use syslogd for this, but it's necessary to buffer writes to /dev/kmsg per-line if we want to correctly set the log level, and "tee" does not do this (it will write multiple lines at once, resulting in "<14>" prints in the ringbuffer). The main advantage to this is that we won't have kernel logs cut in half by initramfs logs anymore, everything will be nicely line buffered! The previous logging solution of multiple "tail" commands would actually fail to log up to the last few lines before a crash due to how tail works (it polls the file and buffers lines). I attempted something like this before, but I stopped after running into ratelimiting issues. These are now resolved by configuring the printk_devkmsg sysctl. Dropping PMOS_NO_OUTPUT_REDIRECT: The general motivations behind PMOS_NO_OUTPUT_REDIRECT was to avoid cluttering up the console with initramfs logs when they aren't wanted; this is now handled instead by the kernels logging facility. We log to the ringbuffer at LOGLEVEL_INFO, so if "quiet" is specified on the cmdline (or the loglevel is otherwise set above info) then initramfs logs will also not be shown. Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
97 lines
3.2 KiB
Text
97 lines
3.2 KiB
Text
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
|
|
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
|
|
pkgname=postmarketos-initramfs
|
|
pkgver=2.7.1
|
|
pkgrel=0
|
|
pkgdesc="Base files for the postmarketOS initramfs / initramfs-extra"
|
|
url="https://postmarketos.org"
|
|
options="!check" # no tests
|
|
provides="postmarketos-ramdisk"
|
|
provider_priority=10
|
|
depends="
|
|
blkid
|
|
btrfs-progs
|
|
busybox-extras
|
|
bzip2
|
|
cryptsetup
|
|
device-mapper
|
|
devicepkg-utils>=0.2.0
|
|
e2fsprogs
|
|
e2fsprogs-extra
|
|
f2fs-tools
|
|
lz4
|
|
mdev-conf
|
|
multipath-tools
|
|
parted
|
|
postmarketos-fde-unlocker
|
|
postmarketos-mkinitfs>=2.2
|
|
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
|
|
mdev.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
|
|
|
|
install -Dm644 "$srcdir"/mdev.conf \
|
|
-t "$pkgdir"/usr/share/initramfs/
|
|
|
|
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="
|
|
59be0649ed87a72d93624bd8a2e3f8c99a0f32f7b7a26f99436de782beba55671472c269eeee86440efc87e0d7148a0bb335fa537791092e73878ca21330544a 00-default.modules
|
|
9c0e8f6f61d5da191e03a1aa9d5d0ceb5baf1eae6dbb9bfb0af59817783525119ac8394b135f303f7b6434a3eab0b49185fb90379e06823db847a4999c75ce33 00-initramfs-base.dirs
|
|
ab41b45b0613f25a61114ed8c8b92bc53c60838f6e2e0ba18c76e5369b2984e6023a0661887692673aca3f647f268c468a468f6b1ac424cfee609017a89481dd 00-initramfs-base.files
|
|
8a4adad3785af474b36a09a05f6a3b2c4b4f43aac331a53b903abfa51ea12be1e3d1d807b7a6e66a1346815f3b0044daf8cd62e21e2dc75d2db13ee265a72985 00-initramfs-extra-base.files
|
|
917a3e995c50d510d242413e76752b75cdd8e673a5e433481a3cbe883d917980cda50996a714d4be24b09ce19196184a487632dfa6d76d74d2cc3ec6513473aa init.sh
|
|
df53083f74b8824c3e537ddd84cb45a2470a129ba1060efac75661eb2fb86602a942ee4d34c9fb03a07e82a3c87cf37f16e690725e1f667a24c8920fe45042ee init_functions.sh
|
|
ba3275a9af788c7c782322a22a0f144d5e50e3498ea6886486a29331f23ae89cd32d500a3635cfa7cab369afba92edc18aeca64ccbf0cd589061cce23d15b46c unudhcpd.conf
|
|
675e7d5bee39b2df7d322117f8dcaccc274d61beaf4d50ead19bbf2109446d64b1c0aa0c5b4f9846eb6c1c403418f28f6364eff4537ba41120fbfcbc484b7da7 mdev.conf
|
|
"
|