From a8b93ff0403f617cfe170ea086c4de5437d1b9f4 Mon Sep 17 00:00:00 2001 From: Autumn Date: Sat, 18 Apr 2026 11:09:31 +0100 Subject: [meta] added kernel compile script --- kernel.nu | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 kernel.nu (limited to 'kernel.nu') diff --git a/kernel.nu b/kernel.nu new file mode 100755 index 0000000..ba3a5e2 --- /dev/null +++ b/kernel.nu @@ -0,0 +1,51 @@ +#!/usr/bin/env nu + +# +# ~~~ kernel updater +# + +# get device +let DEVICE_ID = match (uname | get nodename) { + "glados" => "010", + "wheatley" => "020", + "companioncube" => "110", + "cavejohnson" => "120", + _ => { error make -u { msg: "invalid device" } } +} + +# get kernel config location +let DEVICE_CONFIG = match ($DEVICE_ID) { + "010" | "020" => $"/home/autumn/src/kernel/configs/($DEVICE_ID).config", + "110" | "120" => $"/root/kernel/configs/($DEVICE_ID).config" +} + +# setup kernel +cd /usr/src/linux +cp $DEVICE_CONFIG .config + +make oldconfig + +# compile kernel +match ($DEVICE_ID) { + "010" => { make -j20 }, + "020" => { make -j12 }, + "110" => { make -j3 }, + "120" => { make -j8 } +} + +make modules_install +make install + +# build initramfs +dracut -f --kernel-image=/boot/vmlinuz + +# setup EFI directory +let OLD_EFI = (ls -l /efi/EFI/Linux/ | get name | first) +mv $OLD_EFI /efi/Linux.efi + +try { rm -r /efi/EFI /efi/loader } + +# sign initramfs +if ($DEVICE_ID != "110") { + sbctl sign-all +} -- cgit v1.3