mirror of
https://github.com/ps5-linux/ps5-linux-image.git
synced 2026-07-16 06:00:42 +00:00
28 lines
1.0 KiB
Bash
Executable File
28 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copies the latest kernel + initrd to the EFI partition.
|
|
# Runs on every kernel install/update.
|
|
set -e
|
|
BOOT_PART="/boot/efi"
|
|
KVER="$1"
|
|
[ -z "$KVER" ] && KVER="$(ls -1t /lib/modules | head -1)"
|
|
|
|
# Debian-based desktop metapackages may also install a generic kernel. Once
|
|
# linux-ps5 is present, never deploy another kernel to the PS5 boot partition.
|
|
if command -v dpkg-query >/dev/null 2>&1 && dpkg-query -W linux-ps5 >/dev/null 2>&1; then
|
|
PS5_KVER="$(dpkg-query -L linux-ps5 | sed -n 's#^/boot/vmlinuz-##p' | head -1)"
|
|
if [ -n "$PS5_KVER" ] && [ "$KVER" != "$PS5_KVER" ]; then
|
|
echo ">> Ignoring non-PS5 kernel $KVER (PS5 kernel is $PS5_KVER)"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
if [ -f "$BOOT_PART/bzImage" ]; then
|
|
mv "$BOOT_PART/bzImage" "$BOOT_PART/bzImage.old"
|
|
fi
|
|
if [ -f "$BOOT_PART/initrd.img" ]; then
|
|
mv "$BOOT_PART/initrd.img" "$BOOT_PART/initrd.img.old"
|
|
fi
|
|
cp "/boot/vmlinuz-$KVER" "$BOOT_PART/bzImage"
|
|
cp "/boot/initrd.img-$KVER" "$BOOT_PART/initrd.img"
|
|
echo ">> Kernel $KVER deployed to $BOOT_PART"
|