#!/bin/bash # # by gonX # # OCNix kernel copier # # In short, replaces the contents of a currently existing kernel26 package for Arch Linux with a custom package # This was useful for replacing kernels in e.g. archiso compilations # Personally, I used this for the ocnix project - http://overclock.net/ocnix # _THISARCH=x86_64 _THISKERNEL=$(echo $(echo -n $(make kernelversion) && echo -ARCH)) echo building for $_THISARCH in 2 seconds sleep 2s echo 1 preparations rm -R /tmp/ocnix mkdir -p /tmp/ocnix{,/boot,/etc/mkinitcpio.d,/lib,/usr/src/$_THISKERNEL} echo 2 more preparations echo ALL_kver=\'$_THISKERNEL\' > /tmp/ocnix/etc/mkinitcpio.d/kernel26.kver abs core/kernel26 > /dev/null cp /var/abs/core/kernel26/kernel26.preset /tmp/ocnix/etc/mkinitcpio.d/ sed s/2.6.33-ARCH/$_THISKERNEL/ /root/scripts/.INSTALL > /tmp/ocnix/.INSTALL if [ $_THISARCH = x86_64 ]; then cp /root/scripts/.PKGINFO /tmp/ocnix/.PKGINFO else sed s/x86_64/x86/g /root/scripts/.PKGINFO > /tmp/ocnix/.PKGINFO fi echo 3 modules make INSTALL_MOD_PATH=/tmp/ocnix/ modules_install > /dev/null rm -R /tmp/ocnix/lib/firmware echo 4 copying cp System.map /tmp/ocnix/boot/System.map26 cp arch/$_THISARCH/boot/bzImage /tmp/ocnix/boot/vmlinuz26 cp vmlinux /tmp/ocnix/usr/src/$_THISKERNEL/ echo 5 tarring cd /tmp/ocnix/ tar cJf kernel26-$_THISKERNEL-$_THISARCH.pkg.tar.xz .PKGINFO .INSTALL boot etc lib usr echo done