AFAIK genkernel doesn't know how to properly build and install kernels for RaspberryPi hardware. At te moment, I'm using one of these two scripts depending on the platform:
cat /usr/src/rpi4_kernel_build.sh
#!/bin/bash
# make and install kernel for RaspberryPi 4 hardware
KERNEL=kernel8
cd linux
# I like to clean manually iif required
#make clean
#make mrproper
make -j 4 bcm2711_defconfig && make prepare && make oldconfig && make menuconfig && make -j 4
make -j 4 modules dtbs
make modules_install
#cp -v arch/arm64/boot/Image /boot/kernel8-p4.img
cp -v arch/arm64/boot/Image /boot/kernel8.img
cp -v arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb /boot/
cp arch/arm64/boot/dts/broadcom/*.dtb /boot/
cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm64/boot/dts/overlays/README /boot/overlays/
naspi ~ # cat /usr/src/rpi_kernel_build.sh
#!/bin/bash
# make and install kernel for RaspberryPi <=3 hardware
# building rpi3 kernel (needed anyway AFAIK)
cd linux
make distclean
make bcmrpi3_defconfig
# options for Rpi3 kernel ; I usually do this by hand all the time
# make menuconfig
nice -n 19 make -j4 Image modules dtbs
# now as root
cp -v arch/arm64/boot/Image /boot/kernel8.img
cp -v arch/arm64/boot/dts/broadcom/bcm{2710,2837}-rpi-3-b.dtb /boot/
cp -v arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dtb /boot/
cp -v arch/arm64/boot/dts/broadcom/bcm2710-rpi-cm3.dtb /boot/
cp -rv arch/arm64/boot/dts/overlays/ /boot/
make modules_install
sync
# now configure and build Rpi4 kernel
make distclean
make bcm2711_defconfig
make menuconfig
read -p "Make sure to set CONFIG_LOCALVERSION to something distinct (like "-2711") to ensure the release names of the two kernels are distinct - you don't want their modules getting co-mingled in /lib/modules/<kernel-release-name>/.... Make any other changes you want, then save and exit the configuration tool, and hit [enter]"
nice -n 19 make -j4 Image modules dtbs
cp -v arch/arm64/boot/Image /boot/kernel8-p4.img
cp -v arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb /boot/
make modules_install
AFAIK genkernel doesn't know how to properly build and install kernels for RaspberryPi hardware. At te moment, I'm using one of these two scripts depending on the platform: