Files
linuxkit/kernel
Ian Campbell a83ecd1d45 Enable CONFIG_PRINTK_TIME
This adds a timestamp to the start of the kernel command line. Like this (from
a random system I have lying around, line truncated by me):
[    0.000000] tsc: Detected 2665.038 MHz processor
[    0.000021] Calibrating delay loop (skipped), value calculated using tim...
[    0.000023] pid_max: default: 32768 minimum: 301
[    0.000041] ACPI: Core revision 20160831
[    0.003782] ACPI: 2 ACPI AML tables successfully acquired and loaded

This would be handy in relation to #1403.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-03-28 14:54:13 +01:00
..
2017-03-07 23:48:46 +00:00
2017-03-14 10:51:52 +00:00
2017-03-28 14:54:13 +01:00

Linux kernel builds, based on mostly-vanilla upstream Linux kernels. See [../docs/kernel-patches.md] for how the local patches in patches-* are maintained.

The build is mostly silent. A local build can be run via make. To view the output use docker log -f <containerid>. The build creates multiple containers, so multiple invocations may be necessary. To view the full build output one may also invoke docker build . and then copy the build artefacts from the image afterwards.

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