From 906b57ec4227a7516173cd35e6e0238cdf934e7d Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 11 Nov 2021 14:34:36 -0800 Subject: [PATCH 01/23] update messaging per runtime --- cmd/minikube/cmd/start.go | 15 +++++++++++++-- pkg/minikube/constants/constants.go | 2 ++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 4e6783a151..cbbac8337e 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -432,13 +432,24 @@ func displayEnviron(env []string) { } } -func showKubectlInfo(kcs *kubeconfig.Settings, k8sVersion string, machineName string) error { +func showKubectlInfo(kcs *kubeconfig.Settings, k8sVersion, machineName string) error { if k8sVersion == constants.NoKubernetesVersion { register.Reg.SetStep(register.Done) out.Step(style.Ready, "Done! minikube is ready without Kubernetes!") - out.BoxedWithConfig(box.Config{Py: 1, Px: 4, Type: "Round", Color: "Green"}, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node. + + // Runtime message. + boxConfig := box.Config{Py: 1, Px: 4, Type: "Round", Color: "Green"} + switch viper.GetString(containerRuntime) { + case constants.DefaultContainerRuntime: + out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node. - "minikube docker-env" to point your docker-cli to the docker inside minikube. - "minikube image" to build images without docker.`) + case constants.Containerd: + out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.`) + case constants.CRIO: + out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node. +- "minikube podman-env" to point your podman-cli to the podman inside minikube`) + } return nil } diff --git a/pkg/minikube/constants/constants.go b/pkg/minikube/constants/constants.go index 583ad3cda1..4fd5245888 100644 --- a/pkg/minikube/constants/constants.go +++ b/pkg/minikube/constants/constants.go @@ -56,6 +56,8 @@ const ( SSHPort = 22 // RegistryAddonPort os the default registry addon port RegistryAddonPort = 5000 + // Containerd is the default name and spelling for the containerd container runtime + Containerd = "containerd" // CRIO is the default name and spelling for the cri-o container runtime CRIO = "crio" // DefaultContainerRuntime is our default container runtime From 694c9cc0ef03a52faf1a27f3f99b6bfc883f8c90 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Tue, 7 Dec 2021 15:56:07 -0800 Subject: [PATCH 02/23] Bootloader ISO EFI Support --- .../board/coreos/minikube/grub.cfg | 7 + .../iso/minikube-iso/board/pc/post-build.sh | 15 +++ .../minikube-iso/board/pc/post-image-efi.sh | 8 ++ .../minikube-iso/configs/iso_x86_64_defconfig | 42 ++++++ .../minikube-iso/configs/minikube_defconfig | 125 +++++++++++++----- .../configs/minikube_defconfig_backup | 73 ++++++++++ pkg/drivers/hyperkit/driver.go | 2 +- 7 files changed, 237 insertions(+), 35 deletions(-) create mode 100644 deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg create mode 100644 deploy/iso/minikube-iso/board/pc/post-build.sh create mode 100644 deploy/iso/minikube-iso/board/pc/post-image-efi.sh create mode 100644 deploy/iso/minikube-iso/configs/iso_x86_64_defconfig create mode 100644 deploy/iso/minikube-iso/configs/minikube_defconfig_backup diff --git a/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg b/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg new file mode 100644 index 0000000000..0718533715 --- /dev/null +++ b/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg @@ -0,0 +1,7 @@ +set default="0" +set timeout="1" + +menuentry "Buildroot" { + linux __KERNEL_PATH__ root=/dev/sr0 console=ttyS0,115200 + initrd __INITRD_PATH__ +} \ No newline at end of file diff --git a/deploy/iso/minikube-iso/board/pc/post-build.sh b/deploy/iso/minikube-iso/board/pc/post-build.sh new file mode 100644 index 0000000000..d0d64dcc3c --- /dev/null +++ b/deploy/iso/minikube-iso/board/pc/post-build.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +BOARD_DIR=$(dirname "$0") + +# Detect boot strategy, EFI or BIOS +if [ -d "$BINARIES_DIR/efi-part/" ]; then + cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" +else + cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg" + + # Copy grub 1st stage to binaries, required for genimage + cp -f "$TARGET_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR" +fi \ No newline at end of file diff --git a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh new file mode 100644 index 0000000000..3cfb3567c4 --- /dev/null +++ b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p') +sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" +sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg" +support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg" \ No newline at end of file diff --git a/deploy/iso/minikube-iso/configs/iso_x86_64_defconfig b/deploy/iso/minikube-iso/configs/iso_x86_64_defconfig new file mode 100644 index 0000000000..e5c68b54a4 --- /dev/null +++ b/deploy/iso/minikube-iso/configs/iso_x86_64_defconfig @@ -0,0 +1,42 @@ +# Architecture +BR2_x86_64=y + +# Toolchain +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y + +# System +BR2_SYSTEM_DHCP="eth0" + +# Required tools to create bootable media +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# Bootloader +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/grub-stub.cfg" +BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label" + +# Filesystem / image +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/genimage.cfg" + +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.182" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +BR2_CCACHE=y + +# Packages +BR2_PACKAGE_ACPID=y diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 9cd682c723..5ce5f29e6a 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -1,21 +1,37 @@ +# Configure building the minikube ISO. + +# Architecture BR2_x86_64=y + BR2_CCACHE=y BR2_OPTIMIZE_2=y BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" -BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Tool chain BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" + +# System +BR2_SYSTEM_BIN_SH_BASH=y + BR2_GCC_ENABLE_LTO=y +BR2_INIT_SYSTEMD=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + BR2_TARGET_GENERIC_HOSTNAME="minikube" BR2_TARGET_GENERIC_ISSUE="Welcome to minikube" BR2_TARGET_GENERIC_PASSWD_SHA512=y -BR2_INIT_SYSTEMD=y -BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" -BR2_SYSTEM_BIN_SH_BASH=y + +# Filesystem / image # BR2_TARGET_GENERIC_GETTY is not set +BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_ISO9660=y + +# Linux Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" @@ -23,40 +39,40 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y -BR2_PACKAGE_GZIP=y -BR2_PACKAGE_XZ=y -BR2_PACKAGE_STRACE=y -BR2_PACKAGE_SYSDIG=y -BR2_PACKAGE_FINDUTILS=y -BR2_PACKAGE_GIT=y -BR2_PACKAGE_CIFS_UTILS=y -BR2_PACKAGE_E2TOOLS=y -BR2_PACKAGE_NFS_UTILS=y -BR2_PACKAGE_SSHFS=y -BR2_PACKAGE_XFSPROGS=y -BR2_PACKAGE_PARTED=y -BR2_PACKAGE_SYSSTAT=y -BR2_PACKAGE_LUAJIT=y -BR2_PACKAGE_LZ4=y -BR2_PACKAGE_LZ4_PROGS=y -BR2_PACKAGE_CA_CERTIFICATES=y -BR2_PACKAGE_LIBOPENSSL_BIN=y -BR2_PACKAGE_LIBCURL_CURL=y + +# Packages +BR2_PACKAGE_ACL=y BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_CIFS_UTILS=y BR2_PACKAGE_CONNTRACK_TOOLS=y +BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_E2TOOLS=y BR2_PACKAGE_EBTABLES=y BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_FINDUTILS=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_HTOP=y BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IPTABLES=y -BR2_PACKAGE_RSYNC=y -BR2_PACKAGE_SOCAT=y -BR2_PACKAGE_SUDO=y -BR2_PACKAGE_ACL=y -BR2_PACKAGE_COREUTILS=y -BR2_PACKAGE_HTOP=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LUAJIT=y +BR2_PACKAGE_LZ4_PROGS=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_NFS_UTILS=y BR2_PACKAGE_OPENVMTOOLS=y +BR2_PACKAGE_PARTED=y BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_PSMISC=y +BR2_PACKAGE_RSYNC=y +BR2_PACKAGE_SOCAT=y +BR2_PACKAGE_SSHFS=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_SUDO=y +BR2_PACKAGE_SYSDIG=y +BR2_PACKAGE_SYSSTAT=y BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_MACHINED=y BR2_PACKAGE_TAR=y @@ -65,9 +81,50 @@ BR2_PACKAGE_UTIL_LINUX_LOSETUP=y BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y BR2_PACKAGE_UTIL_LINUX_NSENTER=y BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y -BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_ISO9660=y -BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" +BR2_PACKAGE_XFSPROGS=y +BR2_PACKAGE_XZ=y + + +# Tricky part is to figure out isolinux. +# Replace with grub.cfg. +# BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" + BR2_TARGET_SYSLINUX=y BR2_PACKAGE_HOST_E2TOOLS=y BR2_PACKAGE_HOST_PYTHON=y + +# === + +# Anders' diff from bios to efi boot. +# --- pc_x86_64_bios_defconfig 2021-12-04 14:32:29.058592857 +0100 +# +++ pc_x86_64_efi_defconfig 2021-12-04 14:32:29.058592857 +0100 + +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + +# Required tools to create bootable media +# (The actual boot partition is a DOS disk, that's why the extra tools) +BR2_PACKAGE_HOST_DOSFSTOOLS=y # +efi +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y # +efi + +# Bootloader +# (For minikube, we also need to replace "isolinux" with "grub2") +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y # +efi + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + +# BR2_TARGET_ROOTFS_TAR is not set +# -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +# -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" + +# Maybe we do not need this post-build script? +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" + +# What does this do and do we need it? +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi + +# Linux headers same as kernel, a 4.19 series +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # already in mk. \ No newline at end of file diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig_backup b/deploy/iso/minikube-iso/configs/minikube_defconfig_backup new file mode 100644 index 0000000000..9cd682c723 --- /dev/null +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig_backup @@ -0,0 +1,73 @@ +BR2_x86_64=y +BR2_CCACHE=y +BR2_OPTIMIZE_2=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" +BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GCC_ENABLE_LTO=y +BR2_TARGET_GENERIC_HOSTNAME="minikube" +BR2_TARGET_GENERIC_ISSUE="Welcome to minikube" +BR2_TARGET_GENERIC_PASSWD_SHA512=y +BR2_INIT_SYSTEMD=y +BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" +BR2_SYSTEM_BIN_SH_BASH=y +# BR2_TARGET_GENERIC_GETTY is not set +BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_SYSDIG=y +BR2_PACKAGE_FINDUTILS=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_CIFS_UTILS=y +BR2_PACKAGE_E2TOOLS=y +BR2_PACKAGE_NFS_UTILS=y +BR2_PACKAGE_SSHFS=y +BR2_PACKAGE_XFSPROGS=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_LUAJIT=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_LZ4_PROGS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CONNTRACK_TOOLS=y +BR2_PACKAGE_EBTABLES=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_RSYNC=y +BR2_PACKAGE_SOCAT=y +BR2_PACKAGE_SUDO=y +BR2_PACKAGE_ACL=y +BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_OPENVMTOOLS=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_PSMISC=y +BR2_PACKAGE_SYSTEMD_LOGIND=y +BR2_PACKAGE_SYSTEMD_MACHINED=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_LOSETUP=y +BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y +BR2_PACKAGE_UTIL_LINUX_NSENTER=y +BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_ISO9660=y +BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" +BR2_TARGET_SYSLINUX=y +BR2_PACKAGE_HOST_E2TOOLS=y +BR2_PACKAGE_HOST_PYTHON=y diff --git a/pkg/drivers/hyperkit/driver.go b/pkg/drivers/hyperkit/driver.go index e9e6566c29..d00ba65888 100644 --- a/pkg/drivers/hyperkit/driver.go +++ b/pkg/drivers/hyperkit/driver.go @@ -426,7 +426,7 @@ func (d *Driver) extractKernel(isoPath string) error { }{ {"/boot/bzimage", "bzimage"}, {"/boot/initrd", "initrd"}, - {"/isolinux/isolinux.cfg", "isolinux.cfg"}, + {"/grub/grub.cfg", "grub.cfg"}, } { fullDestPath := d.ResolveStorePath(f.destPath) if err := ExtractFile(isoPath, f.pathInIso, fullDestPath); err != nil { From 339afcfbf562dbea0dd180c8721546f6e9e85178 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:07:33 -0800 Subject: [PATCH 03/23] Add "post-image-efi.sh" script. --- deploy/iso/minikube-iso/board/pc/post-image-efi.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh index 3cfb3567c4..ae1320e339 100644 --- a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh +++ b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh @@ -3,6 +3,9 @@ set -e UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p') + sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" + sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg" + support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg" \ No newline at end of file From 70e8b1f80f0d0b3be40e532a686dfe5d1c11f401 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:14:26 -0800 Subject: [PATCH 04/23] Remove comments for needed files. --- deploy/iso/minikube-iso/configs/minikube_defconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 5ce5f29e6a..23fb088043 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -120,7 +120,6 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" # -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" -# Maybe we do not need this post-build script? BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" # What does this do and do we need it? From 4e7e63662b74bfd68e8860f04266245849c423cf Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:17:56 -0800 Subject: [PATCH 05/23] Remove resolved question. --- deploy/iso/minikube-iso/configs/minikube_defconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 23fb088043..b8f2da65e2 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -122,7 +122,6 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" -# What does this do and do we need it? BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi # Linux headers same as kernel, a 4.19 series From 786815ed80030db046b5f46b0372be168212299e Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:18:44 -0800 Subject: [PATCH 06/23] Add grub-efi.cfg --- deploy/iso/minikube-iso/board/pc/grub-efi.cfg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 deploy/iso/minikube-iso/board/pc/grub-efi.cfg diff --git a/deploy/iso/minikube-iso/board/pc/grub-efi.cfg b/deploy/iso/minikube-iso/board/pc/grub-efi.cfg new file mode 100644 index 0000000000..facd1d1f97 --- /dev/null +++ b/deploy/iso/minikube-iso/board/pc/grub-efi.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /bzImage root=PARTUUID=UUID_TMP rootwait console=tty1 +} \ No newline at end of file From 36957e90d357e4bf17c786ee55384b7cf71071c0 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:19:29 -0800 Subject: [PATCH 07/23] Add genimage-efi.cfg --- .../minikube-iso/board/pc/genimage-efi.cfg | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 deploy/iso/minikube-iso/board/pc/genimage-efi.cfg diff --git a/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg b/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg new file mode 100644 index 0000000000..f78b305863 --- /dev/null +++ b/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg @@ -0,0 +1,31 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + file bzImage { + image = "bzImage" + } + } + # 16MB - 32KB + size = 16744448 +} + +image disk.img { + hdimage { + gpt = true + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b + offset = 32768 + bootable = true + } + + partition root { + partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a + partition-uuid = UUID_TMP + image = "rootfs.ext2" + } +} \ No newline at end of file From b67bd7993ddcac769c285c2c4ba9110f16645b04 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:19:51 -0800 Subject: [PATCH 08/23] Add grub-bios.cfg --- deploy/iso/minikube-iso/board/pc/grub-bios.cfg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 deploy/iso/minikube-iso/board/pc/grub-bios.cfg diff --git a/deploy/iso/minikube-iso/board/pc/grub-bios.cfg b/deploy/iso/minikube-iso/board/pc/grub-bios.cfg new file mode 100644 index 0000000000..7b00a0f479 --- /dev/null +++ b/deploy/iso/minikube-iso/board/pc/grub-bios.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /boot/bzImage root=/dev/sda1 rootwait console=tty1 +} \ No newline at end of file From 09ba078edcf7f58e9844e3a16c529b48e9608ec3 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:23:48 -0800 Subject: [PATCH 09/23] Revert unintended change. --- cmd/minikube/cmd/start.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 1d8f51274d..f3dcc21ac1 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -452,19 +452,12 @@ func showKubectlInfo(kcs *kubeconfig.Settings, k8sVersion, machineName string) e - "minikube docker-env" to point your docker-cli to the docker inside minikube. - "minikube image" to build images without docker.`) case constants.Containerd: -<<<<<<< HEAD out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node. - "minikube image" to build images without docker.`) case constants.CRIO: out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node. - "minikube podman-env" to point your podman-cli to the podman inside minikube. - "minikube image" to build images without docker.`) -======= - out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.`) - case constants.CRIO: - out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node. -- "minikube podman-env" to point your podman-cli to the podman inside minikube`) ->>>>>>> 906b57ec4227a7516173cd35e6e0238cdf934e7d } return nil } From 27895574ef3f61f4c1388dfe32a42cd8e3ba51a2 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 15:31:25 -0800 Subject: [PATCH 10/23] Remove duplicate entry. --- deploy/iso/minikube-iso/configs/minikube_defconfig | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index b8f2da65e2..2d0e9d2ec1 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -122,7 +122,4 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi - -# Linux headers same as kernel, a 4.19 series -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # already in mk. \ No newline at end of file +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi \ No newline at end of file From ff2418810085d7648f10e1a309cfc8c77a24d8df Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 9 Dec 2021 16:02:33 -0800 Subject: [PATCH 11/23] Add boilerplate for new sh files (solves for lint). --- deploy/iso/minikube-iso/board/pc/post-build.sh | 14 ++++++++++++++ deploy/iso/minikube-iso/board/pc/post-image-efi.sh | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/deploy/iso/minikube-iso/board/pc/post-build.sh b/deploy/iso/minikube-iso/board/pc/post-build.sh index d0d64dcc3c..4f8e228b70 100644 --- a/deploy/iso/minikube-iso/board/pc/post-build.sh +++ b/deploy/iso/minikube-iso/board/pc/post-build.sh @@ -1,5 +1,19 @@ #!/bin/sh +# Copyright 2021 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -e BOARD_DIR=$(dirname "$0") diff --git a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh index ae1320e339..f7d52e5f51 100644 --- a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh +++ b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh @@ -1,5 +1,19 @@ #!/bin/sh +# Copyright 2021 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -e UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p') From e4f76a786eccd679cfc65e3aa3a1ff2450b93ba2 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Fri, 10 Dec 2021 12:03:36 -0800 Subject: [PATCH 12/23] Add defconfig for testing. --- .../configs/pc_x86_64_efi_defconfig | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig diff --git a/deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig b/deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig new file mode 100644 index 0000000000..4fdc93b16b --- /dev/null +++ b/deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig @@ -0,0 +1,67 @@ +# Architecture +BR2_x86_64=y + +# Toolchain, required for eudev (to autoload drivers) +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y + +# System +BR2_TARGET_GENERIC_GETTY_PORT="tty1" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + +# Required tools to create bootable media +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# Bootloader +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" + +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Firmware +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y + +# Packages +# +# Use connman so that networking setup is simpler, via connmanctl tool +# acpid is for seamless power button support +BR2_PACKAGE_ACPID=y +BR2_PACKAGE_CONNMAN=y +BR2_PACKAGE_CONNMAN_CLIENT=y +BR2_PACKAGE_CONNMAN_WIFI=y \ No newline at end of file From 52b8418441236c9d124a87f6d603c93b508db833 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Mon, 13 Dec 2021 11:56:24 -0800 Subject: [PATCH 13/23] Add missing line breaks. --- deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg | 2 +- deploy/iso/minikube-iso/board/pc/genimage-efi.cfg | 2 +- deploy/iso/minikube-iso/board/pc/grub-bios.cfg | 2 +- deploy/iso/minikube-iso/board/pc/grub-efi.cfg | 2 +- deploy/iso/minikube-iso/board/pc/post-build.sh | 2 +- deploy/iso/minikube-iso/board/pc/post-image-efi.sh | 2 +- deploy/iso/minikube-iso/configs/minikube_defconfig | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg b/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg index 0718533715..a982d0b7e5 100644 --- a/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg +++ b/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg @@ -4,4 +4,4 @@ set timeout="1" menuentry "Buildroot" { linux __KERNEL_PATH__ root=/dev/sr0 console=ttyS0,115200 initrd __INITRD_PATH__ -} \ No newline at end of file +} diff --git a/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg b/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg index f78b305863..34befb7d69 100644 --- a/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg +++ b/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg @@ -28,4 +28,4 @@ image disk.img { partition-uuid = UUID_TMP image = "rootfs.ext2" } -} \ No newline at end of file +} diff --git a/deploy/iso/minikube-iso/board/pc/grub-bios.cfg b/deploy/iso/minikube-iso/board/pc/grub-bios.cfg index 7b00a0f479..bd3e3f0006 100644 --- a/deploy/iso/minikube-iso/board/pc/grub-bios.cfg +++ b/deploy/iso/minikube-iso/board/pc/grub-bios.cfg @@ -3,4 +3,4 @@ set timeout="5" menuentry "Buildroot" { linux /boot/bzImage root=/dev/sda1 rootwait console=tty1 -} \ No newline at end of file +} diff --git a/deploy/iso/minikube-iso/board/pc/grub-efi.cfg b/deploy/iso/minikube-iso/board/pc/grub-efi.cfg index facd1d1f97..b286d7c8e8 100644 --- a/deploy/iso/minikube-iso/board/pc/grub-efi.cfg +++ b/deploy/iso/minikube-iso/board/pc/grub-efi.cfg @@ -3,4 +3,4 @@ set timeout="5" menuentry "Buildroot" { linux /bzImage root=PARTUUID=UUID_TMP rootwait console=tty1 -} \ No newline at end of file +} diff --git a/deploy/iso/minikube-iso/board/pc/post-build.sh b/deploy/iso/minikube-iso/board/pc/post-build.sh index 4f8e228b70..f8d723aed6 100644 --- a/deploy/iso/minikube-iso/board/pc/post-build.sh +++ b/deploy/iso/minikube-iso/board/pc/post-build.sh @@ -26,4 +26,4 @@ else # Copy grub 1st stage to binaries, required for genimage cp -f "$TARGET_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR" -fi \ No newline at end of file +fi diff --git a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh index f7d52e5f51..6781c2822d 100644 --- a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh +++ b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh @@ -22,4 +22,4 @@ sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg" -support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg" \ No newline at end of file +support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg" diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 2d0e9d2ec1..55af533521 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -122,4 +122,4 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi \ No newline at end of file +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi From a75d70c87dc397bdf1b4bcc69e98187f70d88ee9 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Mon, 13 Dec 2021 14:09:42 -0800 Subject: [PATCH 14/23] Try minikube_defconfig with default plus mk packages. --- .../minikube-iso/configs/minikube_defconfig | 155 +++++++----------- .../configs/minikube_exp1_defconfig | 125 ++++++++++++++ 2 files changed, 184 insertions(+), 96 deletions(-) create mode 100644 deploy/iso/minikube-iso/configs/minikube_exp1_defconfig diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 55af533521..82d99c7e51 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -1,78 +1,83 @@ -# Configure building the minikube ISO. - # Architecture BR2_x86_64=y -BR2_CCACHE=y -BR2_OPTIMIZE_2=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" - -# Tool chain -BR2_TOOLCHAIN_BUILDROOT_CXX=y -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" +# Toolchain +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # System -BR2_SYSTEM_BIN_SH_BASH=y +BR2_SYSTEM_DHCP="eth0" -BR2_GCC_ENABLE_LTO=y -BR2_INIT_SYSTEMD=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +# Required tools to create bootable media +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y -BR2_TARGET_GENERIC_HOSTNAME="minikube" -BR2_TARGET_GENERIC_ISSUE="Welcome to minikube" -BR2_TARGET_GENERIC_PASSWD_SHA512=y +# Bootloader +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/grub-stub.cfg" +BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label" # Filesystem / image -# BR2_TARGET_GENERIC_GETTY is not set -BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" -BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" -BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" +BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_ISO9660=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/genimage.cfg" -# Linux Kernel +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" -BR2_LINUX_KERNEL_LZ4=y -BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.182" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +BR2_CCACHE=y # Packages -BR2_PACKAGE_ACL=y -BR2_PACKAGE_BRIDGE_UTILS=y -BR2_PACKAGE_CA_CERTIFICATES=y -BR2_PACKAGE_CIFS_UTILS=y -BR2_PACKAGE_CONNTRACK_TOOLS=y -BR2_PACKAGE_COREUTILS=y -BR2_PACKAGE_E2TOOLS=y -BR2_PACKAGE_EBTABLES=y -BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_ACPID=y + +# Minikube + +# Packages +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_SYSDIG=y BR2_PACKAGE_FINDUTILS=y BR2_PACKAGE_GIT=y -BR2_PACKAGE_GZIP=y -BR2_PACKAGE_HTOP=y +BR2_PACKAGE_CIFS_UTILS=y +BR2_PACKAGE_E2TOOLS=y +BR2_PACKAGE_NFS_UTILS=y +BR2_PACKAGE_SSHFS=y +BR2_PACKAGE_XFSPROGS=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_LUAJIT=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_LZ4_PROGS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CONNTRACK_TOOLS=y +BR2_PACKAGE_EBTABLES=y +BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IPTABLES=y -BR2_PACKAGE_LIBCURL_CURL=y -BR2_PACKAGE_LIBOPENSSL_BIN=y -BR2_PACKAGE_LUAJIT=y -BR2_PACKAGE_LZ4_PROGS=y -BR2_PACKAGE_LZ4=y -BR2_PACKAGE_NFS_UTILS=y -BR2_PACKAGE_OPENVMTOOLS=y -BR2_PACKAGE_PARTED=y -BR2_PACKAGE_PROCPS_NG=y -BR2_PACKAGE_PSMISC=y BR2_PACKAGE_RSYNC=y BR2_PACKAGE_SOCAT=y -BR2_PACKAGE_SSHFS=y -BR2_PACKAGE_STRACE=y BR2_PACKAGE_SUDO=y -BR2_PACKAGE_SYSDIG=y -BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_ACL=y +BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_OPENVMTOOLS=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_PSMISC=y BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_MACHINED=y BR2_PACKAGE_TAR=y @@ -80,46 +85,4 @@ BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_LOSETUP=y BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y BR2_PACKAGE_UTIL_LINUX_NSENTER=y -BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y -BR2_PACKAGE_XFSPROGS=y -BR2_PACKAGE_XZ=y - - -# Tricky part is to figure out isolinux. -# Replace with grub.cfg. -# BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" - -BR2_TARGET_SYSLINUX=y -BR2_PACKAGE_HOST_E2TOOLS=y -BR2_PACKAGE_HOST_PYTHON=y - -# === - -# Anders' diff from bios to efi boot. -# --- pc_x86_64_bios_defconfig 2021-12-04 14:32:29.058592857 +0100 -# +++ pc_x86_64_efi_defconfig 2021-12-04 14:32:29.058592857 +0100 - -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Required tools to create bootable media -# (The actual boot partition is a DOS disk, that's why the extra tools) -BR2_PACKAGE_HOST_DOSFSTOOLS=y # +efi -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y # +efi - -# Bootloader -# (For minikube, we also need to replace "isolinux" with "grub2") -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_X86_64_EFI=y # +efi - -# Filesystem / image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" - -# BR2_TARGET_ROOTFS_TAR is not set -# -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -# -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" - -BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" - -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi +BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y \ No newline at end of file diff --git a/deploy/iso/minikube-iso/configs/minikube_exp1_defconfig b/deploy/iso/minikube-iso/configs/minikube_exp1_defconfig new file mode 100644 index 0000000000..55af533521 --- /dev/null +++ b/deploy/iso/minikube-iso/configs/minikube_exp1_defconfig @@ -0,0 +1,125 @@ +# Configure building the minikube ISO. + +# Architecture +BR2_x86_64=y + +BR2_CCACHE=y +BR2_OPTIMIZE_2=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" + +# Tool chain +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" + +# System +BR2_SYSTEM_BIN_SH_BASH=y + +BR2_GCC_ENABLE_LTO=y +BR2_INIT_SYSTEMD=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +BR2_TARGET_GENERIC_HOSTNAME="minikube" +BR2_TARGET_GENERIC_ISSUE="Welcome to minikube" +BR2_TARGET_GENERIC_PASSWD_SHA512=y + +# Filesystem / image +# BR2_TARGET_GENERIC_GETTY is not set +BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" +BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_ISO9660=y + +# Linux Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y + +# Packages +BR2_PACKAGE_ACL=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_CIFS_UTILS=y +BR2_PACKAGE_CONNTRACK_TOOLS=y +BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_E2TOOLS=y +BR2_PACKAGE_EBTABLES=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_FINDUTILS=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LUAJIT=y +BR2_PACKAGE_LZ4_PROGS=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_NFS_UTILS=y +BR2_PACKAGE_OPENVMTOOLS=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_PSMISC=y +BR2_PACKAGE_RSYNC=y +BR2_PACKAGE_SOCAT=y +BR2_PACKAGE_SSHFS=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_SUDO=y +BR2_PACKAGE_SYSDIG=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_SYSTEMD_LOGIND=y +BR2_PACKAGE_SYSTEMD_MACHINED=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_LOSETUP=y +BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y +BR2_PACKAGE_UTIL_LINUX_NSENTER=y +BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y +BR2_PACKAGE_XFSPROGS=y +BR2_PACKAGE_XZ=y + + +# Tricky part is to figure out isolinux. +# Replace with grub.cfg. +# BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" + +BR2_TARGET_SYSLINUX=y +BR2_PACKAGE_HOST_E2TOOLS=y +BR2_PACKAGE_HOST_PYTHON=y + +# === + +# Anders' diff from bios to efi boot. +# --- pc_x86_64_bios_defconfig 2021-12-04 14:32:29.058592857 +0100 +# +++ pc_x86_64_efi_defconfig 2021-12-04 14:32:29.058592857 +0100 + +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + +# Required tools to create bootable media +# (The actual boot partition is a DOS disk, that's why the extra tools) +BR2_PACKAGE_HOST_DOSFSTOOLS=y # +efi +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y # +efi + +# Bootloader +# (For minikube, we also need to replace "isolinux" with "grub2") +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y # +efi + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + +# BR2_TARGET_ROOTFS_TAR is not set +# -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +# -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" + +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" + +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi From a9051b8e05b79732fbf47ce9334beab53cd783bd Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Tue, 14 Dec 2021 22:29:25 +0000 Subject: [PATCH 15/23] Working prototype of minikube ISO with UEFI --- deploy/iso/minikube-iso/Dockerfile | 1 + .../board/iso/x86_64/genimage.cfg | 12 ++ .../board/iso/x86_64/grub-stub.cfg | 4 + .../minikube-iso/board/iso/x86_64/grub.cfg | 7 + .../board/iso/x86_64/post-build.sh | 7 + .../board/iso/x86_64/post-image.sh | 27 ++++ .../minikube-iso/configs/iso_x86_64_defconfig | 42 ------ .../minikube-iso/configs/minikube_defconfig | 42 +++++- .../configs/minikube_defconfig_backup | 73 ---------- .../configs/minikube_exp1_defconfig | 125 ------------------ .../configs/pc_x86_64_efi_defconfig | 67 ---------- 11 files changed, 94 insertions(+), 313 deletions(-) create mode 100644 deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg create mode 100644 deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg create mode 100644 deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg create mode 100755 deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh create mode 100755 deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh delete mode 100644 deploy/iso/minikube-iso/configs/iso_x86_64_defconfig delete mode 100644 deploy/iso/minikube-iso/configs/minikube_defconfig_backup delete mode 100644 deploy/iso/minikube-iso/configs/minikube_exp1_defconfig delete mode 100644 deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig diff --git a/deploy/iso/minikube-iso/Dockerfile b/deploy/iso/minikube-iso/Dockerfile index 21906ca2b4..1068e0f6fb 100644 --- a/deploy/iso/minikube-iso/Dockerfile +++ b/deploy/iso/minikube-iso/Dockerfile @@ -36,6 +36,7 @@ RUN apt-get update \ dumb-init \ golang-go \ libpcre3-dev \ + mkisofs \ && rm -rf /var/lib/apt/lists/* RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg new file mode 100644 index 0000000000..c99625e5a6 --- /dev/null +++ b/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg @@ -0,0 +1,12 @@ +image efiboot.img { + vfat { + label = "EFIBOOTISO" + file startup.nsh { + image = "efi-part/startup.nsh" + } + file EFI { + image = "efi-part/EFI" + } + } + size = 1474560 +} \ No newline at end of file diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg new file mode 100644 index 0000000000..d74ecfb80b --- /dev/null +++ b/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg @@ -0,0 +1,4 @@ +insmod iso9660 +insmod udf + +search --no-floppy --label EFIBOOTISO --set root \ No newline at end of file diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg new file mode 100644 index 0000000000..22a9037fd8 --- /dev/null +++ b/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg @@ -0,0 +1,7 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /boot/vmlinuz console=tty0 rw + initrd /boot/initrd.img +} \ No newline at end of file diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh b/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh new file mode 100755 index 0000000000..3ca5ad62b6 --- /dev/null +++ b/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +BOARD_DIR=$(dirname "$0") + +cp -f "$BOARD_DIR/grub.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" \ No newline at end of file diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh b/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh new file mode 100755 index 0000000000..5e22ef2ccc --- /dev/null +++ b/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +GENIMAGE_CFG="$2" + +support/scripts/genimage.sh -c "$GENIMAGE_CFG" + +cd "$BINARIES_DIR" +mkdir -p root/boot +cp bzImage root/boot/vmlinuz +cp rootfs.cpio.gz root/boot/initrd.img +mkdir -p root/EFI/BOOT +cp efi-part/EFI/BOOT/* root/EFI/BOOT/ +cp efiboot.img root/EFI/BOOT/ + +mkisofs \ + -o boot.iso \ + -R -J -v -d -N \ + -hide-rr-moved \ + -no-emul-boot \ + -eltorito-platform=efi \ + -eltorito-boot EFI/BOOT/efiboot.img \ + -V "EFIBOOTISO" \ + -A "EFI Boot ISO" \ + root +cd - \ No newline at end of file diff --git a/deploy/iso/minikube-iso/configs/iso_x86_64_defconfig b/deploy/iso/minikube-iso/configs/iso_x86_64_defconfig deleted file mode 100644 index e5c68b54a4..0000000000 --- a/deploy/iso/minikube-iso/configs/iso_x86_64_defconfig +++ /dev/null @@ -1,42 +0,0 @@ -# Architecture -BR2_x86_64=y - -# Toolchain -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y - -# System -BR2_SYSTEM_DHCP="eth0" - -# Required tools to create bootable media -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Bootloader -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_X86_64_EFI=y -BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/grub-stub.cfg" -BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label" - -# Filesystem / image -BR2_TARGET_ROOTFS_CPIO=y -BR2_TARGET_ROOTFS_CPIO_GZIP=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/genimage.cfg" - -# Linux headers same as kernel, a 4.19 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.182" -BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y - -BR2_CCACHE=y - -# Packages -BR2_PACKAGE_ACPID=y diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 82d99c7e51..6360387ba4 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -15,16 +15,16 @@ BR2_PACKAGE_HOST_MTOOLS=y # Bootloader BR2_TARGET_GRUB2=y BR2_TARGET_GRUB2_X86_64_EFI=y -BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/grub-stub.cfg" +BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/grub-stub.cfg" BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label" # Filesystem / image BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_GZIP=y # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_minimal_PATH)/board/iso/x86_64/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/genimage.cfg" # Linux headers same as kernel, a 4.19 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y @@ -43,7 +43,31 @@ BR2_PACKAGE_ACPID=y # Minikube -# Packages +# BR2_x86_64=y +# BR2_CCACHE=y # override +BR2_OPTIMIZE_2=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" +BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # override +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GCC_ENABLE_LTO=y +BR2_TARGET_GENERIC_HOSTNAME="minikube" +BR2_TARGET_GENERIC_ISSUE="Welcome to minikube" +BR2_TARGET_GENERIC_PASSWD_SHA512=y +BR2_INIT_SYSTEMD=y +BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" +BR2_SYSTEM_BIN_SH_BASH=y +# BR2_TARGET_GENERIC_GETTY is not set +BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" +# BR2_LINUX_KERNEL=y # override +# BR2_LINUX_KERNEL_CUSTOM_VERSION=y # override +# BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" # override update +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y # maybe skip these. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_XZ=y BR2_PACKAGE_STRACE=y @@ -85,4 +109,10 @@ BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_LOSETUP=y BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y BR2_PACKAGE_UTIL_LINUX_NSENTER=y -BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y \ No newline at end of file +BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y +# BR2_TARGET_ROOTFS_CPIO_GZIP=y # override +BR2_TARGET_ROOTFS_ISO9660=y +BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" +BR2_TARGET_SYSLINUX=y +BR2_PACKAGE_HOST_E2TOOLS=y +BR2_PACKAGE_HOST_PYTHON=y \ No newline at end of file diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig_backup b/deploy/iso/minikube-iso/configs/minikube_defconfig_backup deleted file mode 100644 index 9cd682c723..0000000000 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig_backup +++ /dev/null @@ -1,73 +0,0 @@ -BR2_x86_64=y -BR2_CCACHE=y -BR2_OPTIMIZE_2=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" -BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y -BR2_GCC_ENABLE_LTO=y -BR2_TARGET_GENERIC_HOSTNAME="minikube" -BR2_TARGET_GENERIC_ISSUE="Welcome to minikube" -BR2_TARGET_GENERIC_PASSWD_SHA512=y -BR2_INIT_SYSTEMD=y -BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" -BR2_SYSTEM_BIN_SH_BASH=y -# BR2_TARGET_GENERIC_GETTY is not set -BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" -BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" -BR2_LINUX_KERNEL_LZ4=y -BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y -BR2_PACKAGE_GZIP=y -BR2_PACKAGE_XZ=y -BR2_PACKAGE_STRACE=y -BR2_PACKAGE_SYSDIG=y -BR2_PACKAGE_FINDUTILS=y -BR2_PACKAGE_GIT=y -BR2_PACKAGE_CIFS_UTILS=y -BR2_PACKAGE_E2TOOLS=y -BR2_PACKAGE_NFS_UTILS=y -BR2_PACKAGE_SSHFS=y -BR2_PACKAGE_XFSPROGS=y -BR2_PACKAGE_PARTED=y -BR2_PACKAGE_SYSSTAT=y -BR2_PACKAGE_LUAJIT=y -BR2_PACKAGE_LZ4=y -BR2_PACKAGE_LZ4_PROGS=y -BR2_PACKAGE_CA_CERTIFICATES=y -BR2_PACKAGE_LIBOPENSSL_BIN=y -BR2_PACKAGE_LIBCURL_CURL=y -BR2_PACKAGE_BRIDGE_UTILS=y -BR2_PACKAGE_CONNTRACK_TOOLS=y -BR2_PACKAGE_EBTABLES=y -BR2_PACKAGE_ETHTOOL=y -BR2_PACKAGE_IPROUTE2=y -BR2_PACKAGE_IPTABLES=y -BR2_PACKAGE_RSYNC=y -BR2_PACKAGE_SOCAT=y -BR2_PACKAGE_SUDO=y -BR2_PACKAGE_ACL=y -BR2_PACKAGE_COREUTILS=y -BR2_PACKAGE_HTOP=y -BR2_PACKAGE_OPENVMTOOLS=y -BR2_PACKAGE_PROCPS_NG=y -BR2_PACKAGE_PSMISC=y -BR2_PACKAGE_SYSTEMD_LOGIND=y -BR2_PACKAGE_SYSTEMD_MACHINED=y -BR2_PACKAGE_TAR=y -BR2_PACKAGE_UTIL_LINUX_BINARIES=y -BR2_PACKAGE_UTIL_LINUX_LOSETUP=y -BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y -BR2_PACKAGE_UTIL_LINUX_NSENTER=y -BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y -BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_ISO9660=y -BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" -BR2_TARGET_SYSLINUX=y -BR2_PACKAGE_HOST_E2TOOLS=y -BR2_PACKAGE_HOST_PYTHON=y diff --git a/deploy/iso/minikube-iso/configs/minikube_exp1_defconfig b/deploy/iso/minikube-iso/configs/minikube_exp1_defconfig deleted file mode 100644 index 55af533521..0000000000 --- a/deploy/iso/minikube-iso/configs/minikube_exp1_defconfig +++ /dev/null @@ -1,125 +0,0 @@ -# Configure building the minikube ISO. - -# Architecture -BR2_x86_64=y - -BR2_CCACHE=y -BR2_OPTIMIZE_2=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" - -# Tool chain -BR2_TOOLCHAIN_BUILDROOT_CXX=y -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" - -# System -BR2_SYSTEM_BIN_SH_BASH=y - -BR2_GCC_ENABLE_LTO=y -BR2_INIT_SYSTEMD=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y - -BR2_TARGET_GENERIC_HOSTNAME="minikube" -BR2_TARGET_GENERIC_ISSUE="Welcome to minikube" -BR2_TARGET_GENERIC_PASSWD_SHA512=y - -# Filesystem / image -# BR2_TARGET_GENERIC_GETTY is not set -BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" -BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" -BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" -BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_ISO9660=y - -# Linux Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" -BR2_LINUX_KERNEL_LZ4=y -BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y - -# Packages -BR2_PACKAGE_ACL=y -BR2_PACKAGE_BRIDGE_UTILS=y -BR2_PACKAGE_CA_CERTIFICATES=y -BR2_PACKAGE_CIFS_UTILS=y -BR2_PACKAGE_CONNTRACK_TOOLS=y -BR2_PACKAGE_COREUTILS=y -BR2_PACKAGE_E2TOOLS=y -BR2_PACKAGE_EBTABLES=y -BR2_PACKAGE_ETHTOOL=y -BR2_PACKAGE_FINDUTILS=y -BR2_PACKAGE_GIT=y -BR2_PACKAGE_GZIP=y -BR2_PACKAGE_HTOP=y -BR2_PACKAGE_IPROUTE2=y -BR2_PACKAGE_IPTABLES=y -BR2_PACKAGE_LIBCURL_CURL=y -BR2_PACKAGE_LIBOPENSSL_BIN=y -BR2_PACKAGE_LUAJIT=y -BR2_PACKAGE_LZ4_PROGS=y -BR2_PACKAGE_LZ4=y -BR2_PACKAGE_NFS_UTILS=y -BR2_PACKAGE_OPENVMTOOLS=y -BR2_PACKAGE_PARTED=y -BR2_PACKAGE_PROCPS_NG=y -BR2_PACKAGE_PSMISC=y -BR2_PACKAGE_RSYNC=y -BR2_PACKAGE_SOCAT=y -BR2_PACKAGE_SSHFS=y -BR2_PACKAGE_STRACE=y -BR2_PACKAGE_SUDO=y -BR2_PACKAGE_SYSDIG=y -BR2_PACKAGE_SYSSTAT=y -BR2_PACKAGE_SYSTEMD_LOGIND=y -BR2_PACKAGE_SYSTEMD_MACHINED=y -BR2_PACKAGE_TAR=y -BR2_PACKAGE_UTIL_LINUX_BINARIES=y -BR2_PACKAGE_UTIL_LINUX_LOSETUP=y -BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y -BR2_PACKAGE_UTIL_LINUX_NSENTER=y -BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y -BR2_PACKAGE_XFSPROGS=y -BR2_PACKAGE_XZ=y - - -# Tricky part is to figure out isolinux. -# Replace with grub.cfg. -# BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" - -BR2_TARGET_SYSLINUX=y -BR2_PACKAGE_HOST_E2TOOLS=y -BR2_PACKAGE_HOST_PYTHON=y - -# === - -# Anders' diff from bios to efi boot. -# --- pc_x86_64_bios_defconfig 2021-12-04 14:32:29.058592857 +0100 -# +++ pc_x86_64_efi_defconfig 2021-12-04 14:32:29.058592857 +0100 - -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Required tools to create bootable media -# (The actual boot partition is a DOS disk, that's why the extra tools) -BR2_PACKAGE_HOST_DOSFSTOOLS=y # +efi -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y # +efi - -# Bootloader -# (For minikube, we also need to replace "isolinux" with "grub2") -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_X86_64_EFI=y # +efi - -# Filesystem / image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" - -# BR2_TARGET_ROOTFS_TAR is not set -# -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -# -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" - -BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" - -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" # +efi diff --git a/deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig b/deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig deleted file mode 100644 index 4fdc93b16b..0000000000 --- a/deploy/iso/minikube-iso/configs/pc_x86_64_efi_defconfig +++ /dev/null @@ -1,67 +0,0 @@ -# Architecture -BR2_x86_64=y - -# Toolchain, required for eudev (to autoload drivers) -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="tty1" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Required tools to create bootable media -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Bootloader -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_X86_64_EFI=y - -# Filesystem / image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" - -# Linux headers same as kernel, a 4.19 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y - -# Firmware -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y -BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y -BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y -BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y -BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y - -# Packages -# -# Use connman so that networking setup is simpler, via connmanctl tool -# acpid is for seamless power button support -BR2_PACKAGE_ACPID=y -BR2_PACKAGE_CONNMAN=y -BR2_PACKAGE_CONNMAN_CLIENT=y -BR2_PACKAGE_CONNMAN_WIFI=y \ No newline at end of file From 3504584f0698498e8be064953e34294a6a97995d Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Tue, 14 Dec 2021 22:38:14 +0000 Subject: [PATCH 16/23] Add copyright boilerplate and EOF line breaks. --- .../minikube-iso/board/iso/x86_64/genimage.cfg | 2 +- .../minikube-iso/board/iso/x86_64/grub-stub.cfg | 2 +- .../iso/minikube-iso/board/iso/x86_64/grub.cfg | 2 +- .../minikube-iso/board/iso/x86_64/post-build.sh | 16 +++++++++++++++- .../minikube-iso/board/iso/x86_64/post-image.sh | 16 +++++++++++++++- 5 files changed, 33 insertions(+), 5 deletions(-) diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg index c99625e5a6..0411d3cf49 100644 --- a/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg +++ b/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg @@ -9,4 +9,4 @@ image efiboot.img { } } size = 1474560 -} \ No newline at end of file +} diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg index d74ecfb80b..92730a9730 100644 --- a/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg +++ b/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg @@ -1,4 +1,4 @@ insmod iso9660 insmod udf -search --no-floppy --label EFIBOOTISO --set root \ No newline at end of file +search --no-floppy --label EFIBOOTISO --set root diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg index 22a9037fd8..ba43e7ca23 100644 --- a/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg +++ b/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg @@ -4,4 +4,4 @@ set timeout="5" menuentry "Buildroot" { linux /boot/vmlinuz console=tty0 rw initrd /boot/initrd.img -} \ No newline at end of file +} diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh b/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh index 3ca5ad62b6..38ce764f90 100755 --- a/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh +++ b/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh @@ -1,7 +1,21 @@ #!/bin/sh +# Copyright 2021 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -e BOARD_DIR=$(dirname "$0") -cp -f "$BOARD_DIR/grub.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" \ No newline at end of file +cp -f "$BOARD_DIR/grub.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh b/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh index 5e22ef2ccc..b3b21c3304 100755 --- a/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh +++ b/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh @@ -1,5 +1,19 @@ #!/bin/sh +# Copyright 2021 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -e GENIMAGE_CFG="$2" @@ -24,4 +38,4 @@ mkisofs \ -V "EFIBOOTISO" \ -A "EFI Boot ISO" \ root -cd - \ No newline at end of file +cd - From 0a01c4e3e7325698d66f986ac42b09e71d3c6222 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Tue, 14 Dec 2021 23:30:45 +0000 Subject: [PATCH 17/23] Remove unneeded files. --- .../board/coreos/minikube/grub.cfg | 7 ----- deploy/iso/minikube-iso/board/pc/grub-efi.cfg | 6 ---- .../iso/minikube-iso/board/pc/post-build.sh | 29 ------------------- .../minikube-iso/board/pc/post-image-efi.sh | 25 ---------------- 4 files changed, 67 deletions(-) delete mode 100644 deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg delete mode 100644 deploy/iso/minikube-iso/board/pc/grub-efi.cfg delete mode 100644 deploy/iso/minikube-iso/board/pc/post-build.sh delete mode 100644 deploy/iso/minikube-iso/board/pc/post-image-efi.sh diff --git a/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg b/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg deleted file mode 100644 index a982d0b7e5..0000000000 --- a/deploy/iso/minikube-iso/board/coreos/minikube/grub.cfg +++ /dev/null @@ -1,7 +0,0 @@ -set default="0" -set timeout="1" - -menuentry "Buildroot" { - linux __KERNEL_PATH__ root=/dev/sr0 console=ttyS0,115200 - initrd __INITRD_PATH__ -} diff --git a/deploy/iso/minikube-iso/board/pc/grub-efi.cfg b/deploy/iso/minikube-iso/board/pc/grub-efi.cfg deleted file mode 100644 index b286d7c8e8..0000000000 --- a/deploy/iso/minikube-iso/board/pc/grub-efi.cfg +++ /dev/null @@ -1,6 +0,0 @@ -set default="0" -set timeout="5" - -menuentry "Buildroot" { - linux /bzImage root=PARTUUID=UUID_TMP rootwait console=tty1 -} diff --git a/deploy/iso/minikube-iso/board/pc/post-build.sh b/deploy/iso/minikube-iso/board/pc/post-build.sh deleted file mode 100644 index f8d723aed6..0000000000 --- a/deploy/iso/minikube-iso/board/pc/post-build.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# Copyright 2021 The Kubernetes Authors All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e - -BOARD_DIR=$(dirname "$0") - -# Detect boot strategy, EFI or BIOS -if [ -d "$BINARIES_DIR/efi-part/" ]; then - cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" -else - cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg" - - # Copy grub 1st stage to binaries, required for genimage - cp -f "$TARGET_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR" -fi diff --git a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh b/deploy/iso/minikube-iso/board/pc/post-image-efi.sh deleted file mode 100644 index 6781c2822d..0000000000 --- a/deploy/iso/minikube-iso/board/pc/post-image-efi.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# Copyright 2021 The Kubernetes Authors All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e - -UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p') - -sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" - -sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg" - -support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg" From 5490a0ce5bb2bf422291074af71ae4778fd6c0f5 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Tue, 14 Dec 2021 23:34:05 +0000 Subject: [PATCH 18/23] Remove extra files. --- .../minikube-iso/board/pc/genimage-efi.cfg | 31 ------------------- .../iso/minikube-iso/board/pc/grub-bios.cfg | 6 ---- 2 files changed, 37 deletions(-) delete mode 100644 deploy/iso/minikube-iso/board/pc/genimage-efi.cfg delete mode 100644 deploy/iso/minikube-iso/board/pc/grub-bios.cfg diff --git a/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg b/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg deleted file mode 100644 index 34befb7d69..0000000000 --- a/deploy/iso/minikube-iso/board/pc/genimage-efi.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image efi-part.vfat { - vfat { - file EFI { - image = "efi-part/EFI" - } - file bzImage { - image = "bzImage" - } - } - # 16MB - 32KB - size = 16744448 -} - -image disk.img { - hdimage { - gpt = true - } - - partition boot { - image = "efi-part.vfat" - partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b - offset = 32768 - bootable = true - } - - partition root { - partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a - partition-uuid = UUID_TMP - image = "rootfs.ext2" - } -} diff --git a/deploy/iso/minikube-iso/board/pc/grub-bios.cfg b/deploy/iso/minikube-iso/board/pc/grub-bios.cfg deleted file mode 100644 index bd3e3f0006..0000000000 --- a/deploy/iso/minikube-iso/board/pc/grub-bios.cfg +++ /dev/null @@ -1,6 +0,0 @@ -set default="0" -set timeout="5" - -menuentry "Buildroot" { - linux /boot/bzImage root=/dev/sda1 rootwait console=tty1 -} From f182f6905fd1a7b209fecafafb7f023ef58b3ad7 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Wed, 15 Dec 2021 00:00:34 +0000 Subject: [PATCH 19/23] Clean up new defconfig --- deploy/iso/minikube-iso/configs/minikube_defconfig | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index 6360387ba4..d19c0fd8d9 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -32,7 +32,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.182" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -44,12 +44,10 @@ BR2_PACKAGE_ACPID=y # Minikube # BR2_x86_64=y -# BR2_CCACHE=y # override BR2_OPTIMIZE_2=y BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # override BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_GCC_ENABLE_LTO=y BR2_TARGET_GENERIC_HOSTNAME="minikube" @@ -61,10 +59,7 @@ BR2_SYSTEM_BIN_SH_BASH=y # BR2_TARGET_GENERIC_GETTY is not set BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" -# BR2_LINUX_KERNEL=y # override -# BR2_LINUX_KERNEL_CUSTOM_VERSION=y # override -# BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202" # override update -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y # maybe skip these. +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig" BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y @@ -110,9 +105,8 @@ BR2_PACKAGE_UTIL_LINUX_LOSETUP=y BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y BR2_PACKAGE_UTIL_LINUX_NSENTER=y BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y -# BR2_TARGET_ROOTFS_CPIO_GZIP=y # override BR2_TARGET_ROOTFS_ISO9660=y BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg" BR2_TARGET_SYSLINUX=y BR2_PACKAGE_HOST_E2TOOLS=y -BR2_PACKAGE_HOST_PYTHON=y \ No newline at end of file +BR2_PACKAGE_HOST_PYTHON=y From b6e5f1fb0d98d82e2d0ea90401d4bdaa9b8da96f Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Wed, 15 Dec 2021 23:36:36 +0000 Subject: [PATCH 20/23] Removed commented out configurations. --- deploy/iso/minikube-iso/configs/minikube_defconfig | 3 --- 1 file changed, 3 deletions(-) diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig index d19c0fd8d9..a0ba93c8ad 100644 --- a/deploy/iso/minikube-iso/configs/minikube_defconfig +++ b/deploy/iso/minikube-iso/configs/minikube_defconfig @@ -21,7 +21,6 @@ BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gp # Filesystem / image BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_GZIP=y -# BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/genimage.cfg" @@ -43,7 +42,6 @@ BR2_PACKAGE_ACPID=y # Minikube -# BR2_x86_64=y BR2_OPTIMIZE_2=y BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches" BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube" @@ -56,7 +54,6 @@ BR2_TARGET_GENERIC_PASSWD_SHA512=y BR2_INIT_SYSTEMD=y BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions" BR2_SYSTEM_BIN_SH_BASH=y -# BR2_TARGET_GENERIC_GETTY is not set BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users" BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y From da7f85a1004fdf9b7ed0dc1d8af00c4a08036047 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Thu, 16 Dec 2021 14:53:54 -0800 Subject: [PATCH 21/23] Update containerd hash. --- .../iso/minikube-iso/package/containerd-bin/containerd-bin.hash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash index 31d183a79a..afd06990ec 100644 --- a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash +++ b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash @@ -11,4 +11,4 @@ sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 v1.4.3.t sha256 ac62c64664bf62fd44df0891c896eecdb6d93def3438271d7892dca75bc069d1 v1.4.4.tar.gz sha256 285a3f4c00a87538bd7d0a82a0a8a758458c02b925349f44f3189f480c326038 v1.4.6.tar.gz sha256 3bb9f54be022067847f5930d21ebbfe4e7a67f589d78930aa0ac713492c28bcc v1.4.9.tar.gz -sha256 a41ab8d39393c9456941b477c33bb1b221a29b635f1c9a99523aab2f5e74f790 v1.5.8.tar.gz +sha256 0890f7b0ee8e20a279a617c60686874b3c7a99e064adb2b38d884499b5284c43 v1.5.8.tar.gz From 6c3ec84ccc0a5ccb0a054744aa6f44a5083686e2 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Mon, 20 Dec 2021 22:32:31 +0000 Subject: [PATCH 22/23] Downgrade containerd version for debugging. --- .../minikube-iso/package/containerd-bin/containerd-bin.hash | 1 - .../iso/minikube-iso/package/containerd-bin/containerd-bin.mk | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash index afd06990ec..23ec573fc8 100644 --- a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash +++ b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash @@ -11,4 +11,3 @@ sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 v1.4.3.t sha256 ac62c64664bf62fd44df0891c896eecdb6d93def3438271d7892dca75bc069d1 v1.4.4.tar.gz sha256 285a3f4c00a87538bd7d0a82a0a8a758458c02b925349f44f3189f480c326038 v1.4.6.tar.gz sha256 3bb9f54be022067847f5930d21ebbfe4e7a67f589d78930aa0ac713492c28bcc v1.4.9.tar.gz -sha256 0890f7b0ee8e20a279a617c60686874b3c7a99e064adb2b38d884499b5284c43 v1.5.8.tar.gz diff --git a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk index 500953ae7f..31f483c2ed 100644 --- a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk +++ b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk @@ -3,8 +3,8 @@ # containerd # ################################################################################ -CONTAINERD_BIN_VERSION = v1.5.8 -CONTAINERD_BIN_COMMIT = 1e5ef943eb76627a6d3b6de8cd1ef6537f393a71 +CONTAINERD_BIN_VERSION = v1.4.9 +CONTAINERD_BIN_COMMIT = e25210fe30a0a703442421b0f60afac609f950a3 CONTAINERD_BIN_SITE = https://github.com/containerd/containerd/archive CONTAINERD_BIN_SOURCE = $(CONTAINERD_BIN_VERSION).tar.gz CONTAINERD_BIN_DEPENDENCIES = host-go libgpgme From 036b5379ffbf261cb11a896b3eca0b74326b8950 Mon Sep 17 00:00:00 2001 From: klaases <bayintel@gmail.com> Date: Wed, 22 Dec 2021 14:46:48 -0800 Subject: [PATCH 23/23] Fix Makefile ISO_VERSION and isoBucket references. --- Makefile | 2 +- pkg/minikube/download/iso.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 1ac2434663..e9f3355e3f 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ KUBERNETES_VERSION ?= $(shell egrep "DefaultKubernetesVersion =" pkg/minikube/co KIC_VERSION ?= $(shell egrep "Version =" pkg/drivers/kic/types.go | cut -d \" -f2) # Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions -ISO_VERSION ?= v1.24.0-1639505700-12892 +ISO_VERSION ?= v1.24.0-1640194376-13123 # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta DEB_VERSION ?= $(subst -,~,$(RAW_VERSION)) DEB_REVISION ?= 0 diff --git a/pkg/minikube/download/iso.go b/pkg/minikube/download/iso.go index 26557061df..7f3d93413f 100644 --- a/pkg/minikube/download/iso.go +++ b/pkg/minikube/download/iso.go @@ -40,7 +40,7 @@ const fileScheme = "file" // DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order func DefaultISOURLs() []string { v := version.GetISOVersion() - isoBucket := "minikube-builds/iso/12892" + isoBucket := "minikube-builds/iso/13123" return []string{ fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s.iso", isoBucket, v), fmt.Sprintf("https://github.com/kubernetes/minikube/releases/download/%s/minikube-%s.iso", v, v),