Commit Graph

69 Commits

Author SHA1 Message Date
Jia He
f599c8e009 kernel: Install uncompressed kernel by Image instead of
vmlinux on arm64

arm64 does not use vmlinux to boot, Image is used instead.

Otherwise, kata can't boot from vmlinux.container

Besides, given that firecracker only supports booting from Image,
don't set vmlinux for firecracker target

Fixes #930
Signed-off-by: Jia He <justin.he@arm.com>
2020-03-09 12:05:27 +08:00
Bo Chen
c3949fdd60 ACPI: Always build evged in for experimental kernel
This is required to support hotplug CPU/memory with cloud-hypervisor.

Fixes: #967

Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-03-05 06:12:30 -08:00
Julio Montes
ac0d569694 kernel: enable BPF to support libcontainer's cgroups V2 implementation
libcontainer's cgroups V2 implementation requires BPF to run a BPF
program in the container

fixes #955

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-02-26 22:09:09 +00:00
Sebastien Boeuf
a8ba86c965 vsock: Fix race condition happening in the virtio-vsock driver
There was a race condition between bind() and listen() that was hit very
rarely when using Kata Containers and Cloud-Hypervisor. It's been
identified the problem is really coming from the virtio-vsock driver,
which is fixed by those new kernel patches uploaded for each version of
the kernels used by Kata Containers.

Fixes #932

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2020-02-14 22:34:02 +00:00
Nitesh Konkar
04386a66c8 kernel: Enable new LTS 5.4.x on ppc64le arch
Linux has embraced another LTS kernel version v5.4.x.
Update the kernel config for Power as well.

Fixes: #936

Signed-off-by: Nitesh Konkar <niteshkonkar@in.ibm.com>
2020-02-14 13:24:07 +05:30
Julio Montes
ba68012480 kernel: use the maximum number of CPUs supported by KVM
Since we don't know how many CPUs can have the host, we should
use the maximum number of CPUs supported by KVM (240).

255 is the maximum number of CPUs supported in the kernel, but the
maximmum number of CPUs recommended by KVM is 240, if more than 240
CPUs are used, next error will be returned by QEMU

```
Number of hotpluggable cpus requested (255) exceeds the
recommended cpus supported by KVM (240)
```

fixes #922
fixes kata-containers/runtime#2413

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-27 20:31:30 +00:00
Archana Shinde
e0a57b6a08 network: Enable ipv6 config CONFIG_IPV6_MULTIPLE_TABLES
Although CONFIG_IPV6 is enabled, this additional config is
needed so that multiple route tables are used for ipv6.
Without this, the kernel adds routes for "fe80::/64"
with proto kernel in the main table instead of the
local routing table.
This makes the behaviour similar to regular containers.

Fixes #920

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2020-01-24 16:14:22 -08:00
Julio Montes
a95b359861 kernel/configs: enable CONFIG_X86_MPPARSE
Firecracker needs CONFIG_X86_MPPARSE to support `vcpu_count`, otherwise the
amount of cpus wil always be 1.

fixes #901

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-01-14 16:55:36 +00:00
Penny Zheng
2ef9bbc16a FC: ELF format kernel image unsupported with firecracker on AArch64
The bootloader in firecracker on ARM platform only supports kernel
in Portable Executable(PE) format.
So we need `build-kernel.sh` to provide correct kernel image format
when parameter `hypervisor_target`, `-t`, defined with firecracker.

Fixes: #886

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-12-18 09:44:56 +08:00
Julio Montes
bfe65e0dc5 kernel: make get_config_version quiet
`get_config_version` should not log anything because it's used
by functions that print a string as return value, hence its return value
can be tainted, i.e `get_config_version`.

fixes #867

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-12-10 21:28:19 +00:00
Archana Shinde
0dbd00b19e kernel: checkout patched based on kata_version
NEW_VERSION may be unbound whereas kata_version should be defined
following manual release process docs and while using github actions.
Use kata_version instead to checkout correct version of patches.
Check if kata_version is not empty before doing so,
as the release may be triggered for master as well.

Fixes #857

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-12-09 13:02:12 -08:00
Archana Shinde
9377c5d5ca release: Fix bug in how version is determined for actions
Althought, we changed the script "gen_versions_txt.sh" to accept a tag
rather than a branch, this change is not sufficient.
This script generates the right version file based on a tag, but
function `get_from_kata_deps` does not use this, and ends up using the
master branch instead. This is because this function looks at an env
variable called $BRANCH and ends up using master branch if the variable
is not defined.

Pass the tag/new version to the build scripts, so that this tag is
passed along to `get_from_kata_dep`.
With this change, the correct version information is consumed by the
build scripts for the various hypervisors and kernel.

Fixes #831

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-12-03 17:56:03 -08:00
Penny Zheng
168709ca62 v4.19.86: patch update for v4.19.86 on AArch64
we need to do patch update for kernel bump to v4.19.86.

Fixes: #806
Depends-on: github.com/kata-containers/runtime#2185

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-12-03 13:29:05 -08:00
Gabriela Cervantes
0d840850ae kernel: Fix that the help is not printed twice
While running the build-kernel.sh script with no arguments, the help is
printed twice. This PR will fix that.

Fixes #433

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2019-12-03 10:12:38 -06:00
Archana Shinde
ec95961620 kernel: Enable configuration for fips mode.
This will allow us to run a VM in fips mode.
The intention is to check if the host is running in fips mode
and then start a container in fips mode as well.

Fixes #787

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-11-01 15:19:36 -07:00
Jianyong Wu
5c43c968d2 kernel: enable ptp_kvm for arm64
This is a experimental feature for arm64 as linux kernel has
not enable kvm ptp for arm64.
ptp_kvm need co-work from host and guest, so you need add this
patch both to your guest and host. Host kernel version is better
lower than 5.0 and higher than 4.19.
another version of this patch base on kernel v5.3 is under review in kernel upstream, refer to [1]
to see the full info.

[1] https://lkml.org/lkml/2019/8/29/80

Fixes: #692
Signed-off-by: Jianyong Wu jianyong.wu@arm.com
2019-10-08 15:41:00 +08:00
zhanghj.lc
86e75b7ef2 kernel: avoid to download sha256sums.asc file repeatedly
If sha256sums.asc already downloaded, avoid to download again.

Fixes: #729

Signed-off-by: zhanghj.lc <zhanghj.lc@inspur.com>
2019-09-25 07:15:12 -04:00
Gabriela Cervantes
feb28593f7 kernel: Fix to test locally changes and rename vmlinuz or vmlinux for virtiofs
This will allow to test local changes to the kernel as well it will allow
us to have vmlinuz or vmlinux with virtiofs.

Depends-on: github.com/kata-containers/runtime#2078

Fixes #717

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2019-09-19 11:33:46 -05:00
Eric Ernst
8ab7c3dc77 config: blk-dev-throttling
- blk-dev-throttling is recommended for Docker (in docker use case).
Enabling.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-09-13 11:08:10 -07:00
Mikko Ylinen
0bf4caf482 kernel: enable STACKPROTECTOR configs in security.conf
As per the comments in security.conf, the intention was to
enable STACKPROTECTOR and STACKPROTECTOR_STRONG.

The current config leaves them unset in the final .config
and also prevents other fragments from overriding the setting.

Set both to =y as indicated in the comments.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-09-13 15:34:33 +03:00
Eric Ernst
8e43d9cac1 config: remove unneeded options, annotate what changes in future
common/DAX:
 - ARCH_ENABLE_MEMORY_HOTPLUG: not needed (auto-selected)
 - ARCH_HAS_ZONE_DEVICE: already automatically selected. This is
also removed in future kernels, so let's go ahead and drop.
 - RADIX_TREE_MULTIORDER: already autoselected, and dropped in future
kernels

common/net:
 - NF_NAT_NEEDED, NF_NAT_PROTO_*: these don't exist in newer kernels, as
they are refactored and unecessary in the upstream kernel. Keep them for
now, but consider dropping if we move to newer LTS. These are part of
whitelist of options we expect to be dropped with newer kernels in our
fragment building.
 - NF_NAT_MASQUERADE_IPV4: this is a select, not a tristate. Also, in
the future much of the ipv4/ipv6 nat code is combined, so this config
will not exist in newer kernels. Dropped.
 - INET6_XFRM_MODE_* are not needed on newer kernels. While I'm not
confident they are needed today for Kata, we will just note them and add
to whitelist for options we expect to be dropped with newer kernels in
our fragment building.
 - MAY_USE_DEVLINK: removed in future kernels, and should not be needed
anyway. Dropped.

x86_64/DAX:
 - ARCH_HAS_HMM: should not be needed, and is dropped in future kernels.
Dropped

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
620a0ac117 kernel: bump kernel config version
bump kernel config version

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-26 21:17:23 +00:00
Julio Montes
229411a5ae kernel: bump kernel version
bump kernel version to 46

Signed-off-by: Julio Montes <julio.montes@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
Jose Carlos Venegas Munoz
6ce2f0adc4 kernel: bump config
Directory modified ...

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-06-28 23:47:32 -05: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
James O. D. Hunt
4004d3e5cf docs: Fix spelling and formatting
Correct typos and resolve formatting issues including incorrect heading
levels and missing TOC entries.

Fixes: #541.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-05-28 09:08:29 +01:00
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
Graham Whaley
3ca8aeb22f kernel: version bump
We modified the kernel subdir, even thought it was only a doc
change, so we need to bump the config ver to reflect that.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-05-10 10:25:16 +01: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
Jose Carlos Venegas Munoz
7ea630ea85 kernel: config: bump
bump config version

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-04-24 16:25:13 -05:00
Rasmus Moorats
3f6b64d805 packaging: replace arch with uname -m
All instances of the deprecated `arch` command are now replaced with `uname -m`.

Bumps kernel/kata_config_version to 34.

Fixes: #423

Signed-off-by: Rasmus Moorats <me@neonsea.uk>
2019-04-21 06:34:44 +01: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
Salvador Fuentes
1fbeaec69e kernel: remove build-kernel_test.sh
`build-kernel_test.sh` builds the kernel when there are changes
of it in a PR and then runs the whole CI tests. Now we are running
all CI tests on all changes[1] (not only when there is a kernel change).
This is making the CI to run all tests twice when there is a change
in the kernel, so we need to remove the script.

[1] https://github.com/kata-containers/packaging/pull/348

Fixes: #380.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2019-03-06 08:51:17 -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
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
d2a42cb6d5 kernel: config: bump config
Fixes: #309

Signed-off-by: Jianyong Wu  <jianyong.wu@arm.com>
2019-01-18 02:55:44 -05:00
Jose Carlos Venegas Munoz
789970bc43 kernel: config: bump config
Kernel dir changed.

Depends-on:github.com/kata-containers/tests#1033

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-01-08 17:23:50 -06: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