Skip to content

Commit 2c25580

Browse files
committed
iso: Fix console for vfkit/krunkit
The serial console name depends on the driver. We had setting for qemu that does not work for vfkit and krunkit, breaking boot from minikube iso. Fixed by using 2 console= options, one is known to work for qemu, and one for vfkit and krunkit. With this we can use the same iso image with qemu, vfkit, and krunkit. This will allow simplifying vfkit driver. Previously we had to extract the kernel and initrd and start it using the legacy --kernel, --kernel-cmdline and --initrd options. I tested this by building the iso with this fix and running with --iso-url. Example run with qemu: % minikube start -p qemu --driver qemu --container-runtime containerd \ --iso-url file://$PWD/minikube-arm64.iso πŸ˜„ [qemu] minikube v1.36.0 on Darwin 15.5 (arm64) ✨ Using the qemu2 driver based on user configuration 🌐 Automatically selected the socket_vmnet network πŸ‘ Starting "qemu" primary control-plane node in "qemu" cluster πŸ”₯ Creating qemu2 VM (CPUs=2, Memory=6000MB, Disk=20000MB) ... πŸ“¦ Preparing Kubernetes v1.33.1 on containerd 1.7.23 ... β–ͺ Generating certificates and keys ... β–ͺ Booting up control plane ... β–ͺ Configuring RBAC rules ... πŸ”— Configuring bridge CNI (Container Networking Interface) ... πŸ”Ž Verifying Kubernetes components... β–ͺ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: default-storageclass, storage-provisioner πŸ„ Done! kubectl is now configured to use "qemu" cluster and "default" namespace by default Example run with krunkit: % minikube start -p krunkit --driver krunkit --container-runtime containerd \ --iso-url file://$PWD/minikube-arm64.iso πŸ˜„ [krunkit] minikube v1.36.0 on Darwin 15.5 (arm64) ✨ Using the krunkit (experimental) driver based on user configuration πŸ‘ Starting "krunkit" primary control-plane node in "krunkit" cluster πŸ”₯ Creating krunkit VM (CPUs=2, Memory=6000MB, Disk=20000MB) ... πŸ“¦ Preparing Kubernetes v1.33.1 on containerd 1.7.23 ... β–ͺ Generating certificates and keys ... β–ͺ Booting up control plane ... β–ͺ Configuring RBAC rules ... πŸ”— Configuring bridge CNI (Container Networking Interface) ... πŸ”Ž Verifying Kubernetes components... β–ͺ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: default-storageclass, storage-provisioner πŸ„ Done! kubectl is now configured to use "krunkit" cluster and "default" namespace by default
1 parent 3cf1e63 commit 2c25580

File tree

1 file changed

+4
-1
lines changed
  • deploy/iso/minikube-iso/board/minikube/aarch64

1 file changed

+4
-1
lines changed

β€Ždeploy/iso/minikube-iso/board/minikube/aarch64/grub.cfg

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ set default="0"
22
set timeout="5"
33

44
menuentry "Buildroot" {
5-
linux /boot/bzimage console=ttyAMA0 # kernel
5+
# The console depends on the driver:
6+
# qemu: console=ttyAMA0
7+
# vfkit,krunkit: console=hvc0
8+
linux /boot/bzimage console=ttyAMA0 console=hvc0
69
initrd /boot/initrd # rootfs
710
}

0 commit comments

Comments
Β (0)