pkgname=linux
pkgver=6.12.113
pkgrel=1
pkgdesc="minimal kernel for owencore (initramfs + serial console + virtio-net + ext4)"
url="https://kernel.org/"
arch=x86_64
license=GPL-2.0
source="https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${pkgver}.tar.xz"
build_dir="linux-${pkgver}"

build()
{
  # allnoconfig base; turn on what an initramfs-only boot needs
  make allnoconfig
  scripts/config --enable 64BIT \
    --enable PRINTK --enable BUG \
    --enable TTY \
    --enable SERIAL_8250 --enable SERIAL_8250_CONSOLE \
    --enable PROC_FS --enable SYSFS --enable TMPFS \
    --enable DEVTMPFS --enable DEVTMPFS_MOUNT \
    --enable RD_GZIP \
    --enable BINFMT_ELF --enable BINFMT_SCRIPT \
    --enable UNIX --enable NET --enable INET \
    --enable NETDEVICES --enable ETHERNET \
    --enable VIRTIO --enable VIRTIO_PCI --enable VIRTIO_NET \
    --enable BLK_DEV_INITRD \
    --disable UNWINDER_ORC --enable FRAME_POINTER \
    --enable EXT4_FS
  make olddefconfig
  make -j"$(nproc)" bzImage
}

package()
{
  install -Dm644 arch/x86_64/boot/bzImage \
    "$pkgdir/boot/vmlinuz-${pkgver}-owencore"
}
