mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-10 19:03:27 +00:00
- Enable ARCH_BCM2835 - Enable USB_NET_SMSC95XX. - Compile in MII and USB_USBNET. These are needed by the onboard network driver - Enable the DWC2 USB controller. - Enabled MMC, MMC_SDHCI, MMC_BCM2835 for SD card access - Enable various BCM2835 platform devices: HW_RANDOM_BCM2835, I2C_BCM2835, PINCTRL_BCM2835, DMA_BCM2835,BCM2835_MBOX, WM_BCM2835, ... - Enable SERIAL_8250 and friends. - Enable FB_SIMPLE to get console output The above configuration gives a minimal working system with serial console access (via the GPIO pins), networking and SD storage. The smsc95xx network driver does not seem to get autoloaded. This is likely a mdev issue. We specifically do not configure any WLAN, sound or graphics drivers as they would pull in too many other cruft into the kernel. To enable these we consider adding a -rpi3 config similar to the -dbg config to provide additional kernel config options. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
See ../docs/kernel-patches.md for more information on kernel builds.
To build with various debug options enabled, build the kernel with
make DEBUG=1
. The options enabled are listed in kernel_config.debug
.
This allocates a significant amount of memory on boot and you may need to
adjust the kernel config on some systems. Specifically:
--- a/alpine/kernel/kernel_config
+++ b/alpine/kernel/kernel_config
@@ -415,8 +415,8 @@ CONFIG_DMI=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
-CONFIG_MAXSMP=y
-CONFIG_NR_CPUS=8192
+CONFIG_MAXSMP=n
+CONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set