Skip to content

update kernel configs, make kernel in integ test #659

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ $(error "Kernel version $(KERNEL_VERSION) is not supported. Supported versions a
endif

KERNEL_CONFIG=tools/kernel-configs/microvm-kernel-$(host_arch)-$(KERNEL_VERSION).config
# Copied from https://github.com/firecracker-microvm/firecracker/blob/v1.0.0/tools/devtool#L2015
# Copied from https://github.com/firecracker-microvm/firecracker/blob/v1.1.0/tools/devtool#L2082
# This allows us to specify a kernel without the patch version, but still get the correct build path to reference the kernel binary
KERNEL_FULL_VERSION=$(shell cat "$(KERNEL_CONFIG)" | grep -Po "^\# Linux\/$(kernel_config_pattern) (([0-9]+.){2}[0-9]+)" | cut -d ' ' -f 3)
KERNEL_FULL_VERSION=$(shell cat "$(KERNEL_CONFIG)" | grep -Po "^\# Linux\/$(kernel_config_pattern) (([0-9]+.)[0-9]+)" | cut -d ' ' -f 3)
KERNEL_BIN=$(FIRECRACKER_DIR)/build/kernel/linux-$(KERNEL_FULL_VERSION)/vmlinux-$(KERNEL_FULL_VERSION)-$(host_arch).bin

RUNC_DIR=$(SUBMODULES)/runc
Expand Down Expand Up @@ -190,7 +190,7 @@ test-images: test-images-stamp
test-images-stamp: | image firecracker-containerd-test-image
touch $@

firecracker-containerd-test-image: all-in-docker firecracker runc test-cni-bins cni-bins default-vmlinux
firecracker-containerd-test-image: all-in-docker firecracker runc test-cni-bins cni-bins default-vmlinux kernel
DOCKER_BUILDKIT=1 docker build \
--progress=plain \
--file tools/docker/Dockerfile.integ-test \
Expand Down
2 changes: 1 addition & 1 deletion tools/docker/Dockerfile.integ-test
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ RUN --mount=type=bind,target=/src make -C /src \
install \
install-firecracker \
install-runc \
install-default-vmlinux \
install-kernel \
install-default-rootfs \
install-default-runc-jailer-config \
install-test-cni-bins \
Expand Down
1 change: 1 addition & 0 deletions tools/kernel-configs/microvm-kernel-aarch64-4.14.config
Original file line number Diff line number Diff line change
Expand Up @@ -1123,6 +1123,7 @@ CONFIG_VIRTIO_BLK=y
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_SRAM is not set
# CONFIG_C2PORT is not set
# CONFIG_R3964 is not set

#
# EEPROM support
Expand Down
7 changes: 5 additions & 2 deletions tools/kernel-configs/microvm-kernel-x86_64-4.14.config
Original file line number Diff line number Diff line change
Expand Up @@ -1208,6 +1208,7 @@ CONFIG_VIRTIO_BLK=y
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_SRAM is not set
# CONFIG_C2PORT is not set
# CONFIG_R3964 is not set
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these x86 specific or do we also need these options in the ARM config?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

KMEMCHECK, CRYPTO_SALSA20_X86_64, ORC_UNWINDER, and FRAME_POINTER_UNWINDER are all x86 specific. the Siemens device driver R3964 is available on both - I've updated to include that in ARM as well.


#
# EEPROM support
Expand Down Expand Up @@ -2077,6 +2078,7 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_KMEMCHECK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
Expand Down Expand Up @@ -2225,8 +2227,8 @@ CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_UNWINDER_ORC is not set
CONFIG_UNWINDER_FRAME_POINTER=y
# CONFIG_ORC_UNWINDER is not set
CONFIG_FRAME_POINTER_UNWINDER=y

#
# Security options
Expand Down Expand Up @@ -2394,6 +2396,7 @@ CONFIG_CRYPTO_AES_TI=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_CHACHA20 is not set
# CONFIG_CRYPTO_CHACHA20_X86_64 is not set
# CONFIG_CRYPTO_SEED is not set
Expand Down