Skip to content

Commit c6cd63f

Browse files
brooniearndb
authored andcommitted
arm64: configs: Add virtconfig
Provide a slimline configuration intended to be booted on virtual machines, with the goal of providing a light configuration which will boot on and enable features available in mach-virt. This is defined in terms of the standard defconfig, with an additional virt.config fragment which disables options unneeded in a virtual configuration. As a first step we just disable all the ARCH_ configuration options, disabling the build of all the SoC specific drivers. This results in a kernel that builds about 25% faster in my testing, if this approach works for people we can add further options. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
1 parent a639712 commit c6cd63f

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

arch/arm64/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,12 @@ ifdef CONFIG_COMPAT_VDSO
215215
endif
216216
endif
217217

218+
include $(srctree)/scripts/Makefile.defconf
219+
220+
PHONY += virtconfig
221+
virtconfig:
222+
$(call merge_into_defconfig_override,defconfig,virt)
223+
218224
define archhelp
219225
echo '* Image.gz - Compressed kernel image (arch/$(ARCH)/boot/Image.gz)'
220226
echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'

arch/arm64/configs/virt.config

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# CONFIG_ARCH_ACTIONS is not set
2+
# CONFIG_ARCH_SUNXI is not set
3+
# CONFIG_ARCH_ALPINE is not set
4+
# CONFIG_ARCH_APPLE is not set
5+
# CONFIG_ARCH_BCM is not set
6+
# CONFIG_ARCH_BCM2835 is not set
7+
# CONFIG_ARCH_BCMBCA is not set
8+
# CONFIG_ARCH_BCM_IPROC is not set
9+
# CONFIG_ARCH_BERLIN is not set
10+
# CONFIG_ARCH_BRCMSTB is not set
11+
# CONFIG_ARCH_EXYNOS is not set
12+
# CONFIG_ARCH_K3 is not set
13+
# CONFIG_ARCH_LAYERSCAPE is not set
14+
# CONFIG_ARCH_LG1K is not set
15+
# CONFIG_ARCH_HISI is not set
16+
# CONFIG_ARCH_KEEMBAY is not set
17+
# CONFIG_ARCH_MEDIATEK is not set
18+
# CONFIG_ARCH_MESON is not set
19+
# CONFIG_ARCH_MVEBU is not set
20+
# CONFIG_ARCH_NXP is not set
21+
# CONFIG_ARCH_MXC is not set
22+
# CONFIG_ARCH_NPCM is not set
23+
# CONFIG_ARCH_QCOM is not set
24+
# CONFIG_ARCH_RENESAS is not set
25+
# CONFIG_ARCH_ROCKCHIP is not set
26+
# CONFIG_ARCH_S32 is not set
27+
# CONFIG_ARCH_SEATTLE is not set
28+
# CONFIG_ARCH_INTEL_SOCFPGA is not set
29+
# CONFIG_ARCH_SYNQUACER is not set
30+
# CONFIG_ARCH_TEGRA is not set
31+
# CONFIG_ARCH_TESLA_FSD is not set
32+
# CONFIG_ARCH_SPRD is not set
33+
# CONFIG_ARCH_THUNDER is not set
34+
# CONFIG_ARCH_THUNDER2 is not set
35+
# CONFIG_ARCH_UNIPHIER is not set
36+
# CONFIG_ARCH_VEXPRESS is not set
37+
# CONFIG_ARCH_VISCONTI is not set
38+
# CONFIG_ARCH_XGENE is not set
39+
# CONFIG_ARCH_ZYNQMP is not set

0 commit comments

Comments
 (0)