# Description: Linux libre kernel that comes without blobs # URL: http://linux-libre.fsfla.org # Maintainer: Silvino, silvino at bk dot ru # Depends on: grub2 dracut name=linux-blob version=4.9.12 release=2 source=(https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-$version.tar.xz \ https://raw.githubusercontent.com/graysky2/kernel_gcc_patch/master/enable_additional_cpu_optimizations_for_gcc_v4.9%2B_kernel_v3.15%2B.patch \ http://grsecurity.net/test/grsecurity-3.1-4.9.12-201702231830.patch \ port-blob-grsecurity.patch \ port-blob-make.patch \ port-blob-cpu.patch \ config-c9) build() { mkdir -p $PKG/usr/src # /usr/src/version-cpu_optimizations.patch install -m 0644 $SRC/enable_additional_cpu_optimizations_for_gcc_v4.9%2B_kernel_v3.15%2B.patch $PKG/usr/src/${version}-cpu_optimizations.patch # /usr/src/grsecurity-version.patch install -m 0644 $SRC/grsecurity-3.1-4.9.12-201702231830.patch $PKG/usr/src/ patch < port-blob-grsecurity.patch patch < port-blob-cpu.patch # fix to build under tpe chmod -R go-w linux-$version cd linux-$version patch < ${SRC}/port-blob-make.patch make distclean patch -p1 < $SRC/grsecurity-3.1-4.9.12-201702231830.patch patch -p1 < $SRC/enable_additional_cpu_optimizations_for_gcc_v4.9%2B_kernel_v3.15%2B.patch cp $SRC/config-c9 .config make silentoldconfig # make nconfig # make localmodconfig make prepare install -m 0644 .config $PKG/usr/src/${version}-blob-config make LOCALVERSION= bzImage modules make INSTALL_MOD_PATH=$PKG modules_install install -m 0644 -D arch/x86_64/boot/bzImage $PKG/boot/vmlinuz-$version-blob install -m 0644 System.map $PKG/boot/System.map-$version-blob install -m 0644 .config $PKG/boot/config-$version-blob rm ${PKG}/lib/modules/${version}-blob/source rm ${PKG}/lib/modules/${version}-blob/build ln -s /usr/src/linux-${version} $PKG/lib/modules/${version}-blob/source ln -s /usr/src/linux-${version} $PKG/lib/modules/${version}-blob/build }