aboutsummaryrefslogtreecommitdiff
path: root/linux/abuild
diff options
context:
space:
mode:
authorWoodpecker CI <emmett1.2miligrams@protonmail.com>2025-06-03 14:32:36 +0000
committerWoodpecker CI <emmett1.2miligrams@protonmail.com>2025-06-03 14:32:36 +0000
commit93a354611e38a6949add5c2e5ccc93ef79b9755f (patch)
tree7fee41752b1047d74c59f8ee046cd62735e7e934 /linux/abuild
parent35912580b66e9439f91ea441938828ad8aa33b0d (diff)
downloadalicelinux-93a354611e38a6949add5c2e5ccc93ef79b9755f.tar.gz
alicelinux-93a354611e38a6949add5c2e5ccc93ef79b9755f.zip
Woodpecker CI 5171f1fdd74e7137c305450dd69a29fa5be4143f [SKIP CI]
Diffstat (limited to 'linux/abuild')
-rw-r--r--linux/abuild79
1 files changed, 79 insertions, 0 deletions
diff --git a/linux/abuild b/linux/abuild
new file mode 100644
index 00000000..b5c2d078
--- /dev/null
+++ b/linux/abuild
@@ -0,0 +1,79 @@
+name=linux
+version=6.12.11
+release=1
+source="https://cdn.kernel.org/pub/$name/kernel/v6.x/$name-$version.tar.xz
+ dotconfig"
+
+build() {
+ make mrproper
+
+ cp $SRC/dotconfig .config
+
+ sed '/^CONFIG_LOGO=/d' -i .config
+ echo '# CONFIG_LOGO is not set' >> .config
+ sed '/^CONFIG_LOGO_LINUX_CLUT224=/d' -i .config
+ echo '# CONFIG_LOGO_LINUX_CLUT224 is not set' >> .config
+ sed '/^CONFIG_LOCALVERSION=/d' -i .config
+ echo 'CONFIG_LOCALVERSION="-Alice"' >> .config
+ sed '/^CONFIG_IKHEADERS=/d' -i .config
+ echo '# CONFIG_IKHEADERS is not set' >> .config
+ sed '/^CONFIG_DEFAULT_HOSTNAME=/d' -i .config
+ echo 'CONFIG_DEFAULT_HOSTNAME="alice"' >> .config
+ sed '/^# CONFIG_MODULE_COMPRESS_XZ/d' -i .config
+ echo 'CONFIG_MODULE_COMPRESS_XZ=y' >> .config
+ sed '/^# CONFIG_EROFS_FS/d' -i .config
+ echo 'CONFIG_EROFS_FS=y' >> .config
+
+ make olddefconfig
+
+ kernver=${version}$(grep CONFIG_LOCALVERSION= .config | cut -d '"' -f2)
+
+ [ "$MENUCONFIG" ] && make menuconfig
+
+ make bzImage modules
+ make INSTALL_MOD_PATH=$PKG INSTALL_MOD_STRIP=1 modules_install
+
+ mkdir -p $PKG/boot
+
+ cp arch/x86/boot/bzImage $PKG/boot/vmlinuz-linux
+
+ make clean
+ make prepare
+
+ rm -rf $PKG/lib/firmware
+
+ for file in $(ls arch); do
+ case $file in
+ x86|Kconfig) continue ;;
+ *) rm -fr arch/$file ;;
+ esac
+ done
+
+ # strip down sources
+ # don't package the kernel in the sources directory
+ find . -name "*Image" -exec rm "{}" \;
+ find . -name "*.cmd" -exec rm -f "{}" \;
+ rm -f .*.d
+
+ rm -fr firmware ipc .config.old .version .cocciconfig \
+ .get_maintainer.ignore .gitattributes .gitignore .mailmap \
+ COPYING CREDITS MAINTAINERS README Documentation
+ find . -name ".gitignore" -exec rm "{}" \;
+ for dir in block certs crypto drivers fs init kernel lib mm net samples security sound usr virt; do
+ find $dir -type f \( -name "*.c" -o -name "*.h" \) -exec rm "{}" \;
+ done
+ for i in $(ls tools); do
+ [ "$i" = "objtool" ] || rm -fr tools/$i
+ done
+ for i in $(ls tools/objtool); do
+ [ "$i" = "objtool" ] || rm -fr tools/objtool/$i
+ done
+
+ rm $PKG/lib/modules/$kernver/build \
+ $PKG/lib/modules/$kernver/source || true
+ mv $SRC/linux-${version%.0} $PKG/lib/modules/$kernver/build
+ ln -sv build $PKG/lib/modules/$kernver/source
+
+ # remove now broken symlinks
+ find -L $PKG/lib/modules/$kernver/build -type l -exec rm -f "{}" \;
+}