summaryrefslogtreecommitdiff
path: root/skip/linux/linux.xibuild
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2023-05-17 17:01:27 +0100
committerdavidovski <david@davidovski.xyz>2023-05-17 17:01:27 +0100
commit0d37a1ef234c38b27faba43bc3a22f985d311deb (patch)
treedde8df9f508e7323c3d7df599ceade7705c40acd /skip/linux/linux.xibuild
parentf29d569cd33a73da5ad675f43a34ad53c5cc9bc6 (diff)
Remove all firmware
Diffstat (limited to 'skip/linux/linux.xibuild')
-rw-r--r--skip/linux/linux.xibuild75
1 files changed, 75 insertions, 0 deletions
diff --git a/skip/linux/linux.xibuild b/skip/linux/linux.xibuild
new file mode 100644
index 0000000..5f4a8dd
--- /dev/null
+++ b/skip/linux/linux.xibuild
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+MAKEDEPS="make bc cpio linux-headers toybox kmod"
+
+PKG_VER=6.3.1
+SOURCE=https://cdn.kernel.org/pub/linux/kernel/v${PKG_VER%%.*}.x/linux-$PKG_VER.tar.xz
+ADDITIONAL="
+ config
+"
+
+prepare () {
+ apply_patches
+ cp config .config
+
+ export GREP="ggrep"
+
+ make olddefconfig
+ make -s kernelrelease > version
+
+ # toybox's dd does not have this option
+ sed -i 's/status=\S*//g' scripts/link-vmlinux.sh
+
+ echo "Prepared linux version $(cat version)"
+}
+
+build () {
+ make all
+}
+
+package () {
+ local kernver="$(cat version)"
+ local modulesdir="$PKG_DEST/usr/lib/modules/$kernver"
+
+ echo "Installing boot image..."
+ mkdir -p $PKG_DEST/boot
+
+ cp arch/x86/boot/bzImage $PKG_DEST/boot/vmlinuz-$kernver
+ cp System.map $PKG_DEST/boot/System.map-$kernver
+ cp .config $PKG_DEST/boot/config-$kernver
+
+ install -d $PKG_DEST/usr/share/doc/linux-$kernver
+ cp -r Documentation/* $PKG_DEST/usr/share/doc/linux-$kernver
+
+ install -m755 -d $PKG_DEST/etc/modprobe.d
+ cat > $PKG_DEST/etc/modprobe.d/usb.conf << "EOF"
+# Begin /etc/modprobe.d/usb.conf
+
+install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i ohci_hcd ; true
+install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i uhci_hcd ; true
+
+# End /etc/modprobe.d/usb.conf
+EOF
+
+ echo "Installing modules..."
+ make INSTALL_MOD_PATH="$PKG_DEST/usr" INSTALL_MOD_STRIP=1 modules_install
+ builddir=$modulesdir/build
+ rm $modulesdir/source
+ rm $builddir
+ mkdir $builddir
+ echo "Installing build files..."
+ install -D -m644 .config "$builddir"
+ install -D -m644 Makefile "$builddir"
+ install -D -m644 Module.symvers "$builddir"
+ install -D -m644 System.map "$builddir"
+ install -D -m644 version "$builddir"
+ install -D -m644 vmlinux "$builddir"
+ install -D -m644 kernel/Makefile "$builddir/kernel/Makefile"
+ install -D -m644 arch/x86/Makefile "$builddir/arch/x86/Makefile"
+ cp -r scripts "$builddir"
+
+ install -D tools/objtool/objtool "$builddir/tools/objtool"
+ install -D tools/bpf/resolve_btfids/resolve_btfids "$builddir/tools/bpf/resolve_btfids"
+ ln -s /usr/src/linux $modulesdir/source
+}
+