Architecture specific kernel configuration
The ARM instruction set architecture is being licensed to many different entities, each of which offers their own CPU designs or platforms. Select the platform appropriate to the target system. If 32-bit programs should be supported also select Kernel support for 32-bit EL0 and Enable kuser helpers page for 32-bit applications (CONFIG_COMPAT and CONFIG_KUSER_HELPERS).
Platform selection ---> [ ] Actions Semi Platforms [ ] Intel's Agilex SoCFPGA Family [ ] Allwinner sunxi 64-bit SoC Family [ ] Annapurna Labs Alpine platform [ ] Broadcom BCM2835 family [ ] Broadcom BCM4908 family [ ] Broadcom iProc SoC Family [ ] Marvell Berlin SoC Family [ ] Bitmain SoC Platforms [ ] Broadcom Set-Top-Box SoCs [ ] ARMv8 based Samsung Exynos SoC family [ ] ARMv8 based Microchip Sparx5 SoC family [ ] Texas Instruments Inc. K3 multicore SoC architecture [ ] ARMv8 based Freescale Layerscape SoC family [ ] LG Electronics LG1K SoC Family [ ] Hisilicon SoC Family [ ] Keem Bay SoC [ ] MediaTek SoC Family [ ] Amlogic Platforms [ ] Marvell EBU SoC Family [ ] ARMv8 based NXP i.MX SoC family [ ] Qualcomm Platforms [ ] Realtek Platforms [ ] Renesas SoC Platforms [ ] Rockchip Platforms [ ] NXP S32 SoC Family [ ] AMD Seattle SoC Family [ ] Altera's Stratix 10 SoCFPGA Family [ ] Socionext SynQuacer SoC Family [ ] NVIDIA Tegra SoC Family [ ] Spreadtrum SoC platform [ ] Cavium Inc. Thunder SoC Family [ ] Cavium ThunderX2 Server Processors [ ] Socionext UniPhier SoC Family [ ] ARMv8 software model (Versatile Express) [ ] Toshiba Visconti SoC Family [ ] AppliedMicro X-Gene SOC Family [ ] ZTE ZX SoC Family [ ] Xilinx ZynqMP Family Kernel Features ---> [*] Kernel support for 32-bit EL0 ---> [*] Enable kuser helpers page for 32-bit applications
Enable GPT partition label support (CONFIG_PARTITION_ADVANCED and CONFIG_EFI_PARTITION):
[*] Enable the block layer ---> Partition Types ---> [*] Advanced partition selection [*] EFI GUID Partition support
Enable EFI runtime support in the Linux kernel if UEFI is used to boot the system (CONFIG_EFI):
Boot options ---> [*] UEFI runtime support
Compiling and installing
With the configuration now done, it is time to compile and install the kernel. Exit the configuration and start the compilation process:
TODO: verify this builds "Image" and dtbs
It is possible to enable parallel builds using make -jX with
Xbeing an integer number of parallel tasks that the build process is allowed to launch. This is similar to the instructions about /etc/portage/make.conf earlier, with the MAKEOPTS variable.
When the kernel has finished compiling, copy the kernel image to /boot/. This is handled by the make install command:
TODO: verify everything is installed to /boot/
This will copy the kernel image into /boot/ together with the System.map file and the kernel configuration file.