User:Zulu Foxtrott/ARM64/Blocks/Kernel

From Gentoo Wiki
Jump to:navigation Jump to:search
This page contains changes which are not marked for translation.


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).

KERNEL Selecting the platform
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):

KERNEL Enable support for GPT
[*] 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):

KERNEL Enable support for UEFI
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

root #make
Note
It is possible to enable parallel builds using make -jX with X being 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/

root #make install

This will copy the kernel image into /boot/ together with the System.map file and the kernel configuration file.