222 lines
6.9 KiB
Diff
222 lines
6.9 KiB
Diff
diff -Nuar mkinitcpio-v41.orig/hooks/meson.build mkinitcpio-v41/hooks/meson.build
|
|
--- mkinitcpio-v41.orig/hooks/meson.build 2026-04-30 00:02:10.000000000 +0300
|
|
+++ mkinitcpio-v41/hooks/meson.build 2026-05-14 22:53:55.935962384 +0300
|
|
@@ -10,6 +10,7 @@
|
|
'sleep',
|
|
'udev',
|
|
'usr',
|
|
+ 'plymouth',
|
|
]
|
|
|
|
foreach hook: hooks
|
|
diff -Nuar mkinitcpio-v41.orig/hooks/plymouth mkinitcpio-v41/hooks/plymouth
|
|
--- mkinitcpio-v41.orig/hooks/plymouth 1970-01-01 02:00:00.000000000 +0200
|
|
+++ mkinitcpio-v41/hooks/plymouth 2026-05-14 22:32:24.104992307 +0300
|
|
@@ -0,0 +1,22 @@
|
|
+run_earlyhook(){
|
|
+ # first trigger graphics subsystem
|
|
+ udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
|
|
+ # first trigger graphics and tty subsystem
|
|
+ udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
|
|
+
|
|
+ udevadm settle --timeout=30 2>&1
|
|
+
|
|
+ /bin/mknod /dev/fb c 29 &>/dev/null
|
|
+ /bin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
|
|
+}
|
|
+
|
|
+run_hook() {
|
|
+ /bin/plymouth --show-splash
|
|
+}
|
|
+
|
|
+run_latehook(){
|
|
+ /bin/plymouth update-root-fs --new-root-dir=/new_root
|
|
+}
|
|
+
|
|
+# vim: set ft=sh:
|
|
+
|
|
diff -Nuar mkinitcpio-v41.orig/init_functions mkinitcpio-v41/init_functions
|
|
--- mkinitcpio-v41.orig/init_functions 2026-04-30 00:02:10.000000000 +0300
|
|
+++ mkinitcpio-v41/init_functions 2026-05-14 20:47:27.520167347 +0300
|
|
@@ -536,6 +536,8 @@
|
|
mount -t sysfs sys /sys -o nosuid,noexec,nodev
|
|
mount -t devtmpfs dev /dev -o mode=0755,nosuid
|
|
mount -t tmpfs run /run -o nosuid,nodev,mode=0755
|
|
+ mkdir -m 0755 /dev/pts
|
|
+ mount -t devpts -o gid=5,mode=620 devpts /dev/pts
|
|
mkdir -m755 /run/initramfs
|
|
|
|
if [ -e /sys/firmware/efi ]; then
|
|
diff -Nuar mkinitcpio-v41.orig/install/base mkinitcpio-v41/install/base
|
|
--- mkinitcpio-v41.orig/install/base 2026-04-30 00:02:10.000000000 +0300
|
|
+++ mkinitcpio-v41/install/base 2026-05-14 22:01:27.047961678 +0300
|
|
@@ -16,9 +16,9 @@
|
|
add_symlink "/usr/bin/$applet" kmod
|
|
done
|
|
|
|
- add_binary blkid
|
|
+ add_binary /sbin/blkid
|
|
map add_binary mount umount
|
|
- add_binary switch_root
|
|
+ add_binary /sbin/switch_root
|
|
|
|
add_initcpio_binary "init_functions" "/init_functions"
|
|
add_initcpio_binary "init" "/init" 755
|
|
diff -Nuar mkinitcpio-v41.orig/install/fsck mkinitcpio-v41/install/fsck
|
|
--- mkinitcpio-v41.orig/install/fsck 2026-04-30 00:02:10.000000000 +0300
|
|
+++ mkinitcpio-v41/install/fsck 2026-05-14 22:01:55.887960342 +0300
|
|
@@ -7,7 +7,7 @@
|
|
add_fsck() {
|
|
case "$1" in
|
|
ext[234])
|
|
- add_binary e2fsck
|
|
+ add_binary /sbin/e2fsck
|
|
add_symlink /usr/bin/fsck.ext2 e2fsck
|
|
add_symlink /usr/bin/fsck.ext3 e2fsck
|
|
add_symlink /usr/bin/fsck.ext4 e2fsck
|
|
@@ -49,7 +49,7 @@
|
|
return
|
|
fi
|
|
|
|
- add_binary fsck
|
|
+ add_binary /sbin/fsck
|
|
}
|
|
|
|
help() {
|
|
diff -Nuar mkinitcpio-v41.orig/install/meson.build mkinitcpio-v41/install/meson.build
|
|
--- mkinitcpio-v41.orig/install/meson.build 2026-04-30 00:02:10.000000000 +0300
|
|
+++ mkinitcpio-v41/install/meson.build 2026-05-14 22:54:12.156962008 +0300
|
|
@@ -24,6 +24,7 @@
|
|
'strip',
|
|
'udev',
|
|
'usr',
|
|
+ 'plymouth',
|
|
]
|
|
|
|
systemd_hooks = [
|
|
diff -Nuar mkinitcpio-v41.orig/install/plymouth mkinitcpio-v41/install/plymouth
|
|
--- mkinitcpio-v41.orig/install/plymouth 1970-01-01 02:00:00.000000000 +0200
|
|
+++ mkinitcpio-v41/install/plymouth 2026-05-14 22:42:32.523978214 +0300
|
|
@@ -0,0 +1,63 @@
|
|
+#!/usr/bin/env bash
|
|
+# SPDX-License-Identifier: GPL-2.0-only
|
|
+
|
|
+
|
|
+build() {
|
|
+ add_dir /dev/pts
|
|
+ add_dir /usr/share/plymouth/themes
|
|
+ add_dir /var/run/plymouth
|
|
+
|
|
+ DATADIR="/usr/share"
|
|
+ PLYMOUTH_LOGO_FILE="${DATADIR}/pixmaps/plymouth-pisilinux.png"
|
|
+ PLYMOUTH_THEME_NAME="$(/usr/sbin/plymouth-set-default-theme)"
|
|
+ PLYMOUTH_MODULE_NAME="$(grep "ModuleName *= *" ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//')"
|
|
+ PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)"
|
|
+
|
|
+ add_binary /sbin/plymouthd
|
|
+ add_binary /bin/plymouth
|
|
+
|
|
+ add_file ${DATADIR}/plymouth/themes/text/text.plymouth
|
|
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/text.so
|
|
+ add_file ${DATADIR}/plymouth/themes/details/details.plymouth
|
|
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/details.so
|
|
+
|
|
+ add_file "${PLYMOUTH_LOGO_FILE}"
|
|
+ add_file /etc/pisilinux-release
|
|
+ add_file /etc/plymouth/plymouthd.conf
|
|
+ add_file ${DATADIR}/plymouth/plymouthd.defaults
|
|
+
|
|
+ if [ ! -f ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so ]; then
|
|
+ echo "The default plymouth plugin (${PLYMOUTH_MODULE_NAME}) doesn't exist" > /dev/stderr
|
|
+ exit 1
|
|
+ fi
|
|
+
|
|
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so
|
|
+
|
|
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/drm.so
|
|
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/frame-buffer.so
|
|
+
|
|
+ if [ -d ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME} ]; then
|
|
+ for x in ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/* ; do
|
|
+ [ ! -f "$x" ] && break
|
|
+ add_file $x
|
|
+ done
|
|
+ fi
|
|
+
|
|
+
|
|
+ # suppress a warning in glib (which the label control uses)
|
|
+ # about uid 0 by building a dummy NSS stack (LP #649917)
|
|
+ add_file /etc/passwd
|
|
+ add_file /etc/nsswitch.conf
|
|
+ add_binary "$(readlink -e /lib/libnss_files.so.2)"
|
|
+ add_file /lib/libnss_files.so.2
|
|
+
|
|
+ add_runscript
|
|
+}
|
|
+
|
|
+help() {
|
|
+ echo "This hook includes plymouth in the initramfs image."
|
|
+}
|
|
+
|
|
+# vim: set ft=sh:
|
|
+#EOF
|
|
+
|
|
diff -Nuar mkinitcpio-v41.orig/install/udev mkinitcpio-v41/install/udev
|
|
--- mkinitcpio-v41.orig/install/udev 2026-04-30 00:02:10.000000000 +0300
|
|
+++ mkinitcpio-v41/install/udev 2026-05-14 22:02:22.933959089 +0300
|
|
@@ -1,18 +1,12 @@
|
|
#!/bin/bash
|
|
|
|
build() {
|
|
- map add_binary \
|
|
- '@UDEVD_PATH@' \
|
|
- '/usr/bin/udevadm' \
|
|
- '/usr/lib/udev/ata_id' \
|
|
- '/usr/lib/udev/scsi_id' \
|
|
- '/usr/lib/libkmod.so.2'
|
|
+ add_binary /bin/udevadm
|
|
+ add_binary /sbin/udevd
|
|
+ add_file /lib/udev/ata_id
|
|
+ add_file /lib/udev/scsi_id
|
|
+ add_file /lib/libkmod.so.2
|
|
|
|
- # meson-templated path
|
|
- # shellcheck disable=SC2157
|
|
- if [[ -n '@TMPFILES_PATH@' ]]; then
|
|
- add_binary '@TMPFILES_PATH@'
|
|
- fi
|
|
|
|
map add_udev_rule \
|
|
'50-udev-default.rules' \
|
|
@@ -20,11 +14,6 @@
|
|
'64-btrfs.rules' \
|
|
'80-drivers.rules'
|
|
|
|
- # add hwdb binaries to the initramfs
|
|
- map add_file \
|
|
- /usr/lib/udev/hwdb.bin \
|
|
- /etc/udev/hwdb.bin
|
|
-
|
|
add_runscript
|
|
}
|
|
|
|
diff -Nuar mkinitcpio-v41.orig/meson.build mkinitcpio-v41/meson.build
|
|
--- mkinitcpio-v41.orig/meson.build 2026-04-30 00:02:10.000000000 +0300
|
|
+++ mkinitcpio-v41/meson.build 2026-05-14 22:53:03.882963590 +0300
|
|
@@ -146,6 +146,7 @@
|
|
'hooks/sleep',
|
|
'hooks/udev',
|
|
'hooks/usr',
|
|
+ 'hooks/plymouth',
|
|
'init',
|
|
'init_functions',
|
|
'install/acpi_override',
|
|
@@ -175,6 +176,7 @@
|
|
'install/strip',
|
|
'install/systemd',
|
|
'install/udev',
|
|
+ 'install/plymouth',
|
|
'install/usr',
|
|
'lsinitcpio',
|
|
'mkinitcpio',
|