Commit Graph

53 Commits

Author SHA1 Message Date
Eric Ernst
e828fa953c kernel: add whitelist for config options we expect to fail
Experimental kernel is much newer, and many configuration options have
dropped since 4.19. Let's use a whitelist to itemize what we expect to
be dropped in the final config if experimental kernel us utilized.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Eric Ernst
74adb72b22 config: virtio-fs: add as an experimental kernel config
This isn't available in the baseline kernel, necessarily. Only
add these config options if an experimental kernel is being used.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-06 15:43:49 -07:00
Nitesh Konkar
515bdc3c3f kernel: enable vsock on ppc64le
Here we bump our kernel version from 4.19.10
to 4.19.67 and enable vsock.

Fixes: #685

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2019-08-21 14:50:37 +05:30
Julio Montes
364f4251a6 kernel: support firecracker
enable CONFIG_VIRTIO_MMIO and CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES
to support firecracker

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-26 21:10:55 +00:00
Julio Montes
d06343bcd8 kernel: support virtiofs
enable VIRTIO_FS and CONFIG_FUSE_FS to support virtiofs

fixes #656

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-26 21:10:04 +00:00
Julio Montes
7d1610e8fa kernel: drop x86_64 4.19 config file
Now we are using the fragments, drop the x86_64 4.19 config file
so we default to fragment mode.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-07-25 18:13:03 +00:00
Graham Whaley
addc10be48 kernel: config: frags: add common and x86 fragments
Add the base common fragments and x86_64 specific fragments
for the 4.19.x kernel.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-07-25 18:13:03 +00:00
Graham Whaley
d205a07d65 kernel: configs: update README
Embellish the README a bit, and add some details about the
new fragment method.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-07-25 18:13:03 +00:00
Julio Montes
d0c267191c kernel/x86_64: fix make oldconfig
Add missing kernel configs to avoid `make oldconfig` asks or
takes the default value for the missing configs.

fixes #623

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-08 19:26:26 +00:00
Penny Zheng
77ef7e336a v4.19.52: patch and config update for v4.19.52 on AArch64
we need to do patch and config update for v4.19.52 on AArch64.
The config file adds a few configs involved with memory hot-plug
support.

Fixes: #591
Depends-on: github.com/kata-containers/runtime#1817

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-06-21 16:48:41 +08:00
Nitesh Konkar
50895a5497 ppc64le: enable kernel config options to enhance entropy
In order to create enough entropy, the kernel needs some
configs to be enabled

Fixes: #581

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2019-06-19 18:53:19 +05:30
Jianyong Wu
72054cd2a3 kernel: disable pci shpc hotplug for arm64
As shpchp used for pci hotplug on arm64 initialized
its bottom half work as a delay work for 5 seconds, pci bus
rescan triggered between up half and bottom half of shpc interrupt
handling will fail. so disable shpc and let bus rescan
to do the device hotplug on arm64.

Fixes: #498
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
2019-05-13 06:57:02 -04:00
Eric Ernst
d079604e5e kernel: config: enable overlay_fs for DinK use case
To run Docker within a Kata container, OVERLAY_FS needs to be enabled.

Fixes: #490

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-05-08 10:20:28 -07:00
Ganesh Maharaj Mahalingam
88d93adf50 kernel: Enable virtio-fs in kata kernel
This patches adds virtio-fs capability to the kata kernel along with
config changes to enable the same on kata by default. The system will
only be exercised when `shared_fs` is set to `virtio-fs` in the kata
configuration file. the default still remains to be 9p

Fixes: #387
Depends-on: github.com/kata-containers/runtime#1016

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-05-06 13:19:57 -07:00
Alice Frosi
3d28166c09 s390x: enable rnd hw generator option
In order to create enough entropy, the kernel needs to use the hw rnd
generator

Fixes: #447

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2019-04-26 11:07:25 +02:00
Jianyong Wu
c33b51911d kernel: Enable memory hotplug(add) for arm64
This patch is update version for [1] as kernel
upgrad to v4.19.
It derives from [2] which has accept by kernel
community after v4.20. Modifacation has been done
to make it be able to enable memory hotplug using
probe method as it originally aims to using acpi.
Also some corresponding configurations in kernel
config are opened.

[1] https://github.com/kata-containers/packaging/
commit/e654dbd8367371c1b34776445a402d3c90f0dc66
[2] https://git.kernel.org/pub/scm/linux/kernel/
git/torvalds/linux.git/commit/
?id=4ab215061554ae2a4b78744a5dd3b3c6639f16a7

Change-Id: I305435f1d7e38d5cfcee22799792d1f4b0f015f8
Signed-off-by: Jianyong Wu  <jianyong.wu@arm.com>
Jira: ENTOS-899
2019-04-09 20:56:41 -04:00
Tuan Hoang
ebefdea1a7 kernel: disable ZSWAP, remove zVM hypervisor on s390x
Unless we run kata VM as a hypervisor, we may need
CONFIG_S390_HYPFS_FS and CONFIG_SYS_HYPERVISOR.

CONFIG_S390_VMUR is for z/VM hypvervisor.

Remove CONFIG_ZSWAP and its dependencies to match other arches.

Fixes: #421

Signed-off-by: Tuan Hoang <tmhoang@linux.ibm.com>
2019-04-04 12:42:57 +02:00
Wenli Xie
47a8725801 enable config CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE by default
Fixes: #343

Signed-off-by: Wenli Xie <wenlxie@ebay.com>
2019-03-13 13:01:53 +08:00
Penny Zheng
5dd1d7c706 nvdimm: support nvdimm on arm64 kernel
let's open nvdimm-related kernel config parameters on arm64, such as
CONFIG_ACPI_NFIT, etc. and we also need to backport patch
'kvm:arm64:Dynamic IPA and 52bit IPA'(https://patchwork.kernel.org/cover/10616271/)
and related dependency into v4.19.X to fully support nvdimm from guest kernel.
Former patch has already been merged into v4.20.X.

Fixes: #376

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-03-12 14:46:41 +08:00
Julio Montes
d1a9aa7aea kernel: pmem device should map pages
enable ZONE_DEVICE config to support map pages, pmem_should_map_pages()
function fails if this config is not enabled.

fixes #378

Signed-off-by: Julio Montes <julio.montes@intel.com
2019-03-08 09:26:32 -06:00
Gabriela Cervantes
f93b9878ee kernel: Add missing config option
This will add missing config option (DRM_FBDEV_LEAK_PHYS_SMEM) that are
being asked while running the installation script for kata kernel. Also,
this jumps to the current kernel version that is being used at the runtime.

Fixes #372

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2019-03-06 02:32:07 -06:00
Tuan Hoang
7839a5c276 kernel: CPU hotplug on s390x
Add CONFIG_CFS_BANDWIDTH so CPU hotplug feature works on s390x. Note
that CPU hot-unplug does not work yet due to limitations in qemu s390x.

Fixes #360

Signed-off-by: Tuan Hoang <tmhoang@linux.vnet.ibm.com>
2019-03-04 13:41:56 +01:00
Tuan Hoang
c1f8242e82 kernel: update to 4.19.24 on s390x, remove USB support
Remove CONFIG_USB_SUPPORT because s390x doesn't do USB.

Fixes #360

Signed-off-by: Tuan Hoang <tmhoang@linux.vnet.ibm.com>
2019-03-04 13:34:48 +01:00
Nitesh Konkar
1c5ba65912 kernel: Add 4.19.10 config for powerpc
We want to make sure Kata runs on latest stable kernels so that it
benefits from the latest features.

Fixes: #358

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2019-02-25 19:46:00 +05:30
Penny Zheng
af2a3ff76e config: add kernel config v4.19.23 for arm64
we add the rough kernel config v4.19.23 for arm64, here we let
'make oldconfig'(setting default) to do the transformation from
v4.14.X to v4.19.X.

Fixes: #337

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-02-21 09:59:15 +08:00
Jianyong Wu
e654dbd836 kernel: Add memory hotplug(add) support for arm64
As memory hotplug for arm64 by acpi is not ready on qemu, we choose
"probe" instead. You can refer to [1] to get more infomation about
"probe". The process of memory hotplug by "probe" in kata lies below:
firstly, add memory in qemu qmp; secondly, echo the start phyical address
of that memory to /sys/devices/system/memory/probe, which will be done
through kata-agent; thirdly, excute online op, then this newly added
memory is capable to be used.

All functions in this patch will be called after "echo" op. It can be
divided into two parts:
1. create page table for that memory;
2. add that memory to memblock.

In this patch, NUMA must be turned off for not all arm64 machine supports
NUMA.
As the newly added memory should be placed from 2T to 6T which is decided
in qemu and phyical address and virtual address will be one-one mapping
when create pgd for that memory, we must config ARM64_VA_BITS as 48.
Also some configs should be turned on, especially "ARCH_MEMORY_PROBE".

We have tested this patch integrated with another patch which performed
that echo op. It works well when using "-m" in command line when start a
kata-container on aarch64 machine.

This patch derived from Maciej Bielski. You can refer to [2] to get full
infomation about it.

[1] https://www.kernel.org/doc/Documentation/memory-hotplug.txt
[2] https://lkml.org/lkml/2017/11/23/183

Fixes: #309

Signed-off-by: Jianyong Wu  <jianyong.wu@arm.com>
Signed-off-by: Jia He <justin.he@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-01-18 02:52:18 -05:00
Sebastien Boeuf
9ad35bd6b6 kernel: Add 4.19.10 config for x86
We want to make sure Kata runs on latest stable kernels so that it
benefits from the latest features.

For instance, in case of Kata relying on NEMU hypervisor, the recent
kernel patches reworking the way timer calibration is handled are
solving some boot latency issues.

Fixes #287

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-12-17 08:53:04 -08:00
Manohar Castelino
8f513d6c86 Add support for virtio-mmio
Add support for virtio-mmio. Firecracker uses virtio-mmio.

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2018-12-14 17:02:09 -08:00
Alice Frosi
02476450a2 kernel: add s390 config for version 4.19.8
Remove configs s390_kata_kvm_4.14.x

The patch 0003-serial-forbid-8250-on-s390 is no longer necessary as it
has been upstreamed since version 4.16

The kernel configs have been generated as described in https://github.com/kata-containers/packaging/issues/246
plus the vsock options have been manually enabled:
CONFIG_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y

Fixes: #280

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-12-11 11:01:26 +01:00
Julio Montes
718b4b95e1 Merge pull request #277 from jcvenegas/modulecleanup
Kernel: Remove modules
2018-12-10 09:10:02 -06:00
Alice Frosi
c63de1523a kernel: enable vsock on s390x
The vsock options need to be enabled to build a kernel able to use the
vsock option

Fixes: #274

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-12-10 08:51:34 +01:00
Jose Carlos Venegas Munoz
5117654699 Kernel: Remove modules
Remove modules from default kernel config.

Modules are not used in default kata images.

Lets remove them.

Fixes: #276

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-12-07 16:09:56 -06:00
Alice Frosi
671c8317d0 kernel: s390 configs
The s390_kata_kvm_4.14.x configs have been obtained by applying the patch
serial-forbid-8250-on-s390 and the combination:
make defconfig kvmconfig localyesconfig

Fixes: #246

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-11-23 10:16:27 +01:00
Wei Chen
1f7841c683 kernel: Enable Real time clock for Arm64
Without Real time clock the date could not work properly for Arm64.

fixes: #238
Change-Id: I5834a5e90dc648cc9599c50f259d5ae273052a39
Signed-off-by: Wei Chen <wei.chen@arm.com>
2018-11-08 10:11:14 +00:00
Zhao Xinda
24b89a9dad kernel: configs: Add Intel GPU support
The Intel GPU support has been enabled in kata runtime, but the
guest kernel of kata container lacks the support of Intel GPU,
so this commit enables it as default in guest kernel.

CONFIG_DRM, CONFIG_DRM_I915 and CONFIG_DRM_I915_USERPTR are necessary.
Others are obtained by running command "make menuconfig" and selecting
the following options.

Device Drivers
---> Graphics support
---> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

Device Drivers
---> Graphics support
---> Intel 8xx/9xx/G3x/G4x/HD Graphics

Fixes #232

Signed-off-by: Zhao Xinda <xinda.zhao@intel.com>
2018-10-26 08:50:23 +08:00
Wei Chen
1d993c0918 kernel: configs: Disable IPv6-in-IPv4 tunnel in guest kernel for Arm64
As discussed in issue #171 IPv6-in-IPv4 tunnel is useless in guest. So we
decide to disable the CONFIG_IPV6_SIT by default for Arm64.
Fixed #230

Signed-off-by: Wei Chen <wei.chen@arm.com>
2018-10-18 05:51:58 +00:00
Archana Shinde
d37a2655b3 Merge pull request #227 from amshinde/disable-sit-ipv6
kernel: Disable CONFIG_IPV6_SIT
2018-10-17 09:17:36 -07:00
Wei Chen
b2ac6c5d60 kernel: configs: Add EFI support for Arm64
As x86_64 has updated the guest kernel to enable EFI support for NEMU,
because OVMF that is used by NEMU is an EFI firmware. Although the
NEMU is not ready for Arm64, we'd better to enable EFI support in
kernel to keep sync with x86_64.

Fixes #228

Signed-off-by: Wei Chen <wei.chen@arm.com>
2018-10-16 03:12:13 +00:00
Archana Shinde
fd0ffc0d75 kernel: Disable CONFIG_IPV6_SIT
This is not required by default.
Fixes #171

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2018-10-15 13:31:30 -07:00
Sebastien Boeuf
7532532ae9 kernel: configs: Add EFI support
This commit bumps the default config from 4.14.49 to 4.14.67 first,
and then enables the support for EFI firmware as OVMF used by NEMU
is an EFI firmware.

Fixes #220

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2018-10-11 15:24:11 -07:00
Julio Montes
b882d19a44 kernel: enable SHPC
SHPC is need to support hotplug in q35

fixes #185

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-09-20 07:54:34 -05:00
Yash Jain
b7c362fbdb packaging : add support for s390x
Add kernel 4.14.x config for s390x.
This is taken from https://github.com/linuxkit/linuxkit/blob/master/kernel/config-4.14.x-s390x
commit 323043fdd843d0ef920e5348f6e1315039e1f1d3
Also a minor mod was made to this file to disable CONFIG_SERIAL_8250.

Fixes #176

Signed-off-by: Yash Jain <ydjainopensource@gmail.com>
2018-09-04 09:29:16 -04:00
Wei Zhang
4217dde487 kernel_config: add 4.1 kernel support
Fixes #144

Current kata containers can't run with kernel 4.1 built from current x86 config,
it will report error:

```
$ docker run -ti --runtime kata busybox sh
docker: Error response from daemon: oci runtime error: rpc error: code = Internal
 desc = Could not run process: container_linux.go:348: starting container process
 caused "process_linux.go:402: container init caused \"open /dev/ptmx: no such
file or directory\"".
```

This is caused by bogus devpts mount options. When run container with docker,
docker will assign a default devpts mount for every container which equals to
command below:

```
$ mount -t devpts -o nosuid,noexec,newinstance,ptmxmode=0666,mode=0620,gid=5 \
devpts /dev/pts
```

This requires kernel config `CONFIG_DEVPTS_MULTIPLE_INSTANCES=y` to work properly
under kernel-4.1, but this option is already removed from latest kernel.

It's better to add it back for support older kernel than current 4.14.

Signed-off-by: Wei Zhang <zhangwei555@huawei.com>
2018-08-25 09:00:05 +08:00
Julio Montes
3b18544a99 kernel/configs: enable swap extension (CONFIG_MEMCG_SWAP)
libcontainer limits the memory+swap usage by writing the limit at
/sys/fs/cgroup/memory/docker/$CONTID/memory.memsw.limit_in_bytes, this path
doesn't exist if CONFIG_MEMCG_SWAP and CONFIG_MEMCG_SWAP_ENABLED are not
enabled.

fixes #103

Signed-off-by: Julio Montes <julio.montes@intel.com>
2018-08-01 11:42:53 -05:00
Nitesh Konkar
65c00dc29a ppc64le: Use powerpc as prefix for kernel config file
Post Fix #111, the kernel config name is
expected is to be prefixed with powerpc instead
of ppc64le. Just rename the file to suit the scripts.

Fixes: #113

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2018-08-01 14:46:10 +05:30
Nitesh Konkar
dae14ddefd packaging: Add packaging support for ppc64le
Fixes:  #74

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2018-07-31 19:58:21 +05:30
Wei Chen
79c8eb20ff configs: Update arm64 kernel config to latest 4.14.x kernel
After upgrading the kernel to latest 4.14.x kernel, there are new
kconfig options that need users to select in install-kata-kernel.sh.
the prompt will block the script. We update this config file to give
user a good defined default config.

The new kconfig options are about, “Meltdown” and “Spectre”. So I
selected them to yes by default in this config file:
CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
CONFIG_UNMAP_KERNEL_AT_EL0=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
CONFIG_ARM64_SSBD=y

Fixed #106

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2018-07-27 03:18:19 +00:00
Jose Carlos Venegas Munoz
ea00f29133 config: Add missing config needed for Istio.
Istio require additional networking configuration.

Suggested-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-07-23 17:03:07 -05:00
Wei Chen
a9be035f9e configs: Add arm64 kernel config file for kata kvm guest
As the Developer-Guide[1] mentioned, the progress of installing
guest kernel images need a default kernel config file. But for
Arm64 architecture, this config file is missing.
In this patch, we provide a default Arm64 kernel config file for
Linux kernel 4.14.x.

Notes:
[1] https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md

Signed-off-by: Wei Chen <Wei.Chen@arm.com>
2018-06-15 15:57:56 +00:00
Nitesh Konkar
50faaf7e78 kernel: add config file for ppc64le
Add config file for ppc64le.

Fixes: #60

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2018-06-13 19:30:01 +05:30