Skip to content
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

Add support for building aarch64 ISO #13762

Merged
merged 136 commits into from
May 9, 2022
Merged
Show file tree
Hide file tree
Changes from 130 commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
ef92c0f
build iso with buildroot defaults
klaases Feb 14, 2022
8b42dc2
Increase BR2_TARGET_ROOTFS_EXT2_SIZE
klaases Feb 15, 2022
9370f01
Add some logging
klaases Feb 16, 2022
0135dbf
Disable BR2_TARGET_ROOTFS_EXT2
klaases Feb 16, 2022
296920b
Working UEFI config
klaases Feb 16, 2022
1be7018
Update KVM2 configuration for UEFI
klaases Feb 16, 2022
02461d3
Dev arm defconfig
klaases Feb 16, 2022
276d728
Updating ISO to v1.25.0-1645046644-13612
minikube-bot Feb 16, 2022
e2aa1dd
Remove commented defconfig settings
klaases Feb 16, 2022
03b064d
Fix bzImage path
klaases Feb 17, 2022
d891262
Match capitalization to driver.go entry
klaases Feb 17, 2022
9786d0a
Remove .img from initrd
klaases Feb 17, 2022
5f29ddf
Merge branch 'uefi2' of github.com:klaases/minikube into iso-arm64
sharifelgamal Mar 2, 2022
2e3946f
Merge branch 'narm1' of github.com:klaases/minikube into iso-arm64
sharifelgamal Mar 3, 2022
0f63390
name stuff arm64
sharifelgamal Mar 4, 2022
1b83267
fix config name reference
sharifelgamal Mar 4, 2022
325ab07
shuffling many things around
sharifelgamal Mar 9, 2022
bca48ce
remove generated files
sharifelgamal Mar 9, 2022
782708e
delete old iso board location
sharifelgamal Mar 9, 2022
30472c9
gendocs
sharifelgamal Mar 9, 2022
4123c12
fix iso location
sharifelgamal Mar 9, 2022
1cd337d
fix make target
sharifelgamal Mar 9, 2022
b795468
more replacements
sharifelgamal Mar 10, 2022
a10d67c
let's try a 5.15 kernel
sharifelgamal Mar 10, 2022
6bb593b
nevermind that did not work
sharifelgamal Mar 10, 2022
417bebc
small makefile fixes
sharifelgamal Mar 16, 2022
fd1ab46
correct location for buildroot config
sharifelgamal Mar 17, 2022
0ebb6d4
simplify life by changing file names
sharifelgamal Mar 17, 2022
692c8a4
one last file name fix
sharifelgamal Mar 17, 2022
f865854
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Mar 18, 2022
36d6699
fix missing name changes
sharifelgamal Mar 18, 2022
bef8eb0
Merge branch 'master' of github.com:sharifelgamal/minikube into iso-a…
sharifelgamal Mar 21, 2022
0803f0e
fix generated files
sharifelgamal Mar 21, 2022
0f8485b
small fixes
sharifelgamal Mar 23, 2022
461894b
upgrade sysdig version
sharifelgamal Mar 25, 2022
c253eb5
fix up makefile for aarch64 iso
sharifelgamal Mar 28, 2022
eb14277
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Mar 28, 2022
f883f9e
point to correct defconfig file
sharifelgamal Mar 30, 2022
249f21b
fix buildroot output directory
sharifelgamal Mar 30, 2022
5d38529
remove sysdig kernel module
sharifelgamal Mar 30, 2022
7ebc2a5
fix directory location
sharifelgamal Mar 30, 2022
7466393
Fix kernel name for aarch64
sharifelgamal Mar 31, 2022
32cc10f
fixing makefile
sharifelgamal Apr 1, 2022
65b3005
small config fixes for aarch64
sharifelgamal Apr 1, 2022
3980995
name the ISOs correctly
sharifelgamal Apr 1, 2022
d92f42a
fix the minikube.iso make target
sharifelgamal Apr 4, 2022
f98f88b
fix checksum makefile target
sharifelgamal Apr 4, 2022
0390584
ioso
sharifelgamal Apr 4, 2022
dc0b193
fix kvm stuff
sharifelgamal Apr 5, 2022
684c2b4
fix undefining kvm domain
sharifelgamal Apr 7, 2022
2a28242
unnecessary GOOS
sharifelgamal Apr 11, 2022
f6c2f5b
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Apr 11, 2022
8130eda
Merge branch 'master' of github.com:sharifelgamal/minikube into iso-a…
sharifelgamal Apr 12, 2022
9cfc3d3
fix go installation for arm64 kvm image
sharifelgamal Apr 12, 2022
96e3298
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Apr 14, 2022
c82be99
fix nvram location for aarch64 kvm driver
sharifelgamal Apr 15, 2022
28083d9
keep nvram on minikube delete
sharifelgamal Apr 18, 2022
ed2aa03
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Apr 18, 2022
3ef2a60
allow hyperv to create gen 2 VMs
sharifelgamal Apr 19, 2022
1bc6e08
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Apr 19, 2022
7a7ae59
more hyper-v libmachine changes
sharifelgamal Apr 19, 2022
a14004f
more hyper-v libmachine changes 2
sharifelgamal Apr 19, 2022
781f691
go mod tidy
sharifelgamal Apr 19, 2022
9cfa172
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Apr 20, 2022
f1c7e8f
spelling
sharifelgamal Apr 20, 2022
1c31b6c
typo
sharifelgamal Apr 22, 2022
47edd09
Updating ISO to v1.25.2-1650594251-13762
minikube-bot Apr 22, 2022
df76337
fix packages for aarch64
sharifelgamal Apr 25, 2022
f751f93
Merge branch 'iso-arm64' of github.com:sharifelgamal/minikube into is…
sharifelgamal Apr 25, 2022
9f7fdf4
fix package config
sharifelgamal Apr 25, 2022
53bb42b
add aarch64 cni package
sharifelgamal Apr 26, 2022
2b9296f
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Apr 26, 2022
8acb90f
fix cni make env
sharifelgamal Apr 26, 2022
a163951
fix other cni make env
sharifelgamal Apr 26, 2022
f38dd8e
ok now fix containerd
sharifelgamal Apr 26, 2022
5b45c0e
actually add the new directory
sharifelgamal Apr 26, 2022
f25c56d
fix cni-plugins
sharifelgamal Apr 26, 2022
68a0d4e
add arm64 containerd bin package
sharifelgamal Apr 26, 2022
2514f93
testing
sharifelgamal Apr 26, 2022
22b3418
no need to build cni-plugins from source
sharifelgamal Apr 26, 2022
b070d4e
bring those back
sharifelgamal Apr 26, 2022
15c9e2a
config names
sharifelgamal Apr 26, 2022
052cec1
try using arch directory
sharifelgamal Apr 26, 2022
7d140f8
readd configs dir
sharifelgamal Apr 26, 2022
91a30ff
fix configs
sharifelgamal Apr 26, 2022
27d6542
one more config fix
sharifelgamal Apr 26, 2022
fcfd5ac
split podman by arch
sharifelgamal Apr 26, 2022
a2c811f
split crio-bin by arch
sharifelgamal Apr 26, 2022
844b9cb
split runc by arch
sharifelgamal Apr 26, 2022
b1e280e
fix runc
sharifelgamal Apr 26, 2022
a6a3952
fix runc again
sharifelgamal Apr 26, 2022
3163b18
fix cri-dockerd deps for aarch64
sharifelgamal Apr 26, 2022
f94644a
aarch docker-bin fix
sharifelgamal Apr 26, 2022
a6a4845
buildkit conmon and cri-dockerd fixes
sharifelgamal Apr 27, 2022
4791d8e
dynamically create Config.in
sharifelgamal Apr 27, 2022
09b485f
fix cross compilation for cri-dockerd
sharifelgamal Apr 27, 2022
2fd1db9
remove GOBIN from aarch package defs
sharifelgamal Apr 27, 2022
8c7ad97
change docker-bin directory
sharifelgamal Apr 27, 2022
a216215
fix aarch64 package names
sharifelgamal Apr 27, 2022
e55d209
fix pkgdir locations for aarch64
sharifelgamal Apr 28, 2022
86b08f3
fix package variable names
sharifelgamal Apr 28, 2022
2a2e761
fixes for cri-dockerd and docker-bin aarch64 packages
sharifelgamal Apr 28, 2022
cddc589
reinclude common packages
sharifelgamal Apr 28, 2022
15d5d01
shuffling stuff around for clarity
sharifelgamal Apr 28, 2022
418dbc6
general cleanup
sharifelgamal Apr 28, 2022
f1dc794
fix runc for x86_64
sharifelgamal Apr 28, 2022
0187961
fix runc for aarch64
sharifelgamal Apr 28, 2022
6199e1b
fix runc for aarch64
sharifelgamal Apr 29, 2022
6ee9c3f
add correct runc directory
sharifelgamal Apr 29, 2022
54b37e9
add missing kernel modules
sharifelgamal Apr 29, 2022
6631f57
small fix
sharifelgamal Apr 29, 2022
360c3aa
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal Apr 29, 2022
4ecb392
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal May 2, 2022
0e098e3
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal May 3, 2022
64a1c9d
update config to match buildroot version bump
sharifelgamal May 3, 2022
a2a0e33
generate-docs
sharifelgamal May 3, 2022
68eb4b0
install the libcurl package to make curl work
sharifelgamal May 3, 2022
3074276
add MODVERSIONS to aarch64 kernel config
sharifelgamal May 3, 2022
b9b8ba1
revert x86_64 iso to BIOS until hyperv driver is fixed
sharifelgamal May 4, 2022
8ef4bca
add old bios cfg back
sharifelgamal May 4, 2022
1bfbf78
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal May 4, 2022
f169f8b
revert back to original libmachine fork
sharifelgamal May 4, 2022
930427f
revert kvm domain def for bios iso
sharifelgamal May 4, 2022
8799ed8
revert unused code
sharifelgamal May 4, 2022
813915d
made downloading ISO backwards compat
sharifelgamal May 4, 2022
9d1bcee
swap order of iso builds?
sharifelgamal May 5, 2022
379ecd2
Updating ISO to v1.25.2-1651727166-13762
minikube-bot May 5, 2022
9f1bf48
move iso CHANGELOG logic around
sharifelgamal May 5, 2022
90d86e5
add CHANGELOG to gitignore
sharifelgamal May 6, 2022
5b2dfe6
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal May 6, 2022
d1829f2
small fixes
sharifelgamal May 6, 2022
d1d4105
revert unrelated changes
sharifelgamal May 6, 2022
b473190
more reverting
sharifelgamal May 6, 2022
4294534
Merge branch 'master' of github.com:kubernetes/minikube into iso-arm64
sharifelgamal May 6, 2022
66a8e87
adding just so so many kernel modules for aarch64
sharifelgamal May 7, 2022
9c75a9c
Updating ISO to v1.25.2-1651892774-13762
minikube-bot May 7, 2022
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
3 changes: 1 addition & 2 deletions .github/workflows/update-k8s-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ jobs:
- uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab
with:
go-version: ${{env.GO_VERSION}}
stable: true
- name: Bump Kuberenetes Versions
- name: Bump Kubernetes Versions
sharifelgamal marked this conversation as resolved.
Show resolved Hide resolved
id: bumpk8s
run: |
t=$(make update-kubernetes-version)
Expand Down
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,19 @@ _testmain.go
*.test
*.prof

/deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/usr/bin/auto-pause
/deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/usr/bin/auto-pause
/deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/usr/bin/auto-pause
/deploy/iso/minikube-iso/Config.in
/deploy/kicbase/auto-pause
/deploy/addons/auto-pause/auto-pause-hook
/out
/_gopath

#iso version file
deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/etc/VERSION
deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/etc/VERSION
deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/etc/VERSION
deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/etc/CHANGELOG
deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/etc/CHANGELOG

/minikube

Expand Down
48 changes: 30 additions & 18 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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.25.2-1650391217-13814
ISO_VERSION ?= v1.25.2-1651727166-13762
# Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
DEB_REVISION ?= 0
Expand Down Expand Up @@ -93,7 +93,7 @@ GOOS ?= $(shell go env GOOS)
GOARCH ?= $(shell go env GOARCH)
GOARM ?= 7 # the default is 5
GOPATH ?= $(shell go env GOPATH)
BUILD_DIR ?= ./out
BUILD_DIR ?= $(PWD)/out
$(shell mkdir -p $(BUILD_DIR))
CURRENT_GIT_BRANCH ?= $(shell git branch | grep \* | cut -d ' ' -f2)

Expand Down Expand Up @@ -282,17 +282,26 @@ out/e2e-%: out/minikube-%
out/e2e-windows-amd64.exe: out/e2e-windows-amd64
cp $< $@

minikube_iso: deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/usr/bin/auto-pause # build minikube iso
echo $(ISO_VERSION) > deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/etc/VERSION
minikube-iso-amd64: minikube-iso-x86_64
minikube-iso-arm64: minikube-iso-aarch64

minikube-iso-%: deploy/iso/minikube-iso/board/minikube/%/rootfs-overlay/usr/bin/auto-pause # build minikube iso
echo $(ISO_VERSION) > deploy/iso/minikube-iso/board/minikube/$*/rootfs-overlay/etc/VERSION
cp deploy/iso/minikube-iso/CHANGELOG deploy/iso/minikube-iso/board/minikube/$*/rootfs-overlay/etc/CHANGELOG
cp deploy/iso/minikube-iso/arch/$*/Config.in.tmpl deploy/iso/minikube-iso/Config.in
if [ ! -d $(BUILD_DIR)/buildroot ]; then \
mkdir -p $(BUILD_DIR); \
git clone --depth=1 --branch=$(BUILDROOT_BRANCH) https://github.com/buildroot/buildroot $(BUILD_DIR)/buildroot; \
cp deploy/iso/minikube-iso/go.hash $(BUILD_DIR)/buildroot/package/go/go.hash; \
fi;
$(MAKE) BR2_EXTERNAL=../../deploy/iso/minikube-iso minikube_defconfig -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS)
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) host-python
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS)
mv $(BUILD_DIR)/buildroot/output/images/rootfs.iso9660 $(BUILD_DIR)/minikube.iso
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$* minikube_$*_defconfig
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$* host-python
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$*
if [ "$*" = "aarch64" ]; then \
sharifelgamal marked this conversation as resolved.
Show resolved Hide resolved
mv $(BUILD_DIR)/buildroot/output-aarch64/images/boot.iso $(BUILD_DIR)/minikube-arm64.iso; \
else \
mv $(BUILD_DIR)/buildroot/output-x86_64/images/rootfs.iso9660 $(BUILD_DIR)/minikube-amd64.iso; \
fi;

# Change buildroot configuration for the minikube ISO
.PHONY: iso-menuconfig
Expand All @@ -305,11 +314,11 @@ iso-menuconfig: ## Configure buildroot configuration
linux-menuconfig: ## Configure Linux kernel configuration
sharifelgamal marked this conversation as resolved.
Show resolved Hide resolved
$(MAKE) -C $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/ menuconfig
$(MAKE) -C $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/ savedefconfig
cp $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/defconfig deploy/iso/minikube-iso/board/coreos/minikube/linux_defconfig
cp $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/defconfig deploy/iso/minikube-iso/board/minikube/x86_64/linux_x86_64_defconfig

out/minikube.iso: $(shell find "deploy/iso/minikube-iso" -type f)
out/minikube-%.iso: $(shell find "deploy/iso/minikube-iso" -type f)
ifeq ($(IN_DOCKER),1)
$(MAKE) minikube_iso
$(MAKE) minikube-iso-$*
else
docker run --rm --workdir /mnt --volume $(CURDIR):/mnt $(ISO_DOCKER_EXTRA_ARGS) \
--user $(shell id -u):$(shell id -g) --env HOME=/tmp --env IN_DOCKER=1 \
Expand All @@ -322,7 +331,7 @@ iso_in_docker:
$(ISO_BUILD_IMAGE) /bin/bash

test-iso:
sharifelgamal marked this conversation as resolved.
Show resolved Hide resolved
go test -v $(INTEGRATION_TESTS_TO_RUN) --tags=iso --minikube-start-args="--iso-url=file://$(shell pwd)/out/buildroot/output/images/rootfs.iso9660"
go test -v $(INTEGRATION_TESTS_TO_RUN) --tags=iso --minikube-start-args="--iso-url=file://$(shell pwd)/out/buildroot/output/images/boot.iso"

.PHONY: test-pkg
test-pkg/%: ## Trigger packaging test
Expand Down Expand Up @@ -436,7 +445,7 @@ e2e-cross: e2e-linux-amd64 e2e-linux-arm64 e2e-darwin-amd64 e2e-windows-amd64.ex

.PHONY: checksum
checksum: ## Generate checksums
for f in out/minikube.iso out/minikube-linux-amd64 out/minikube-linux-arm \
for f in out/minikube-amd64.iso out/minikube-arm64.iso out/minikube-linux-amd64 out/minikube-linux-arm \
out/minikube-linux-arm64 out/minikube-linux-ppc64le out/minikube-linux-s390x \
out/minikube-darwin-amd64 out/minikube-darwin-arm64 out/minikube-windows-amd64.exe \
out/docker-machine-driver-kvm2 out/docker-machine-driver-kvm2-amd64 out/docker-machine-driver-kvm2-arm64 \
Expand Down Expand Up @@ -776,9 +785,11 @@ push-gvisor-addon-image: gvisor-addon-image
$(MAKE) push-docker IMAGE=$(REGISTRY)/gvisor-addon:$(GVISOR_TAG)

.PHONY: release-iso
release-iso: minikube_iso checksum ## Build and release .iso file
gsutil cp out/minikube.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso
gsutil cp out/minikube.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso.sha256
release-iso: minikube-iso-aarch64 minikube-iso-x86_64 checksum ## Build and release .iso files
gsutil cp out/minikube-amd64.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-amd64.iso
gsutil cp out/minikube-amd64.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-amd64.iso.sha256
gsutil cp out/minikube-arm64.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-arm64.iso
gsutil cp out/minikube-arm64.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-arm64.iso.sha256

.PHONY: release-minikube
release-minikube: out/minikube checksum ## Minikube release
Expand Down Expand Up @@ -918,8 +929,9 @@ out/mkcmp:


# auto pause binary to be used for ISO
deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/usr/bin/auto-pause: $(SOURCE_FILES) $(ASSET_FILES)
GOOS=linux GOARCH=$(GOARCH) go build -o $@ cmd/auto-pause/auto-pause.go
deploy/iso/minikube-iso/board/minikube/%/rootfs-overlay/usr/bin/auto-pause: $(SOURCE_FILES) $(ASSET_FILES)
@if [ "$*" != "x86_64" ] && [ "$*" != "aarch64" ]; then echo "Please enter a valid architecture. Choices are x86_64 and aarch64."; exit 1; fi
GOOS=linux GOARCH=$(subst x86_64,amd64,$(subst aarch64,arm64,$*)) go build -o $@ cmd/auto-pause/auto-pause.go


.PHONY: deploy/addons/auto-pause/auto-pause-hook
Expand Down
1 change: 0 additions & 1 deletion deploy/iso/minikube-iso/Config.in

This file was deleted.

2 changes: 2 additions & 0 deletions deploy/iso/minikube-iso/arch/aarch64/Config.in.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/Config.in"
12 changes: 12 additions & 0 deletions deploy/iso/minikube-iso/arch/aarch64/package/Config.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
menu "System tools aarch64"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/buildkit-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/runc-master-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/crio-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/crictl-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/docker-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cri-dockerd-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cni-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cni-plugins-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/containerd-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/podman-aarch64/Config.in"
endmenu
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
config BR2_PACKAGE_BUILDKIT_BIN_AARCH64
bool "buildkit-bin"
default y
depends on BR2_aarch64
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sha256 0a834a749e86525e0eb16e7e80ce726e7c6a8e8d26fc5cc36c712305024da4e7 buildkit-v0.9.0.linux-arm64.tar.gz
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
################################################################################
#
# buildkit-bin
#
################################################################################

BUILDKIT_BIN_AARCH64_VERSION = v0.9.0
BUILDKIT_BIN_AARCH64_COMMIT = c8bb937807d405d92be91f06ce2629e6202ac7a9
BUILDKIT_BIN_AARCH64_SITE = https://github.com/moby/buildkit/releases/download/$(BUILDKIT_BIN_AARCH64_VERSION)
BUILDKIT_BIN_AARCH64_SOURCE = buildkit-$(BUILDKIT_BIN_AARCH64_VERSION).linux-arm64.tar.gz

# https://github.com/opencontainers/runc.git
BUILDKIT_RUNC_VERSION = 12644e614e25b05da6fd08a38ffa0cfe1903fdec

define BUILDKIT_BIN_AARCH64_USERS
- -1 buildkit -1 - - - - -
endef

define BUILDKIT_BIN_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/buildctl \
$(TARGET_DIR)/usr/bin
$(INSTALL) -D -m 0755 \
$(@D)/buildkit-runc \
$(TARGET_DIR)/usr/sbin
$(INSTALL) -D -m 0755 \
$(@D)/buildkit-qemu-* \
$(TARGET_DIR)/usr/sbin
$(INSTALL) -D -m 0755 \
$(@D)/buildkitd \
$(TARGET_DIR)/usr/sbin
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkit.conf \
$(TARGET_DIR)/usr/lib/tmpfiles.d/buildkit.conf
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkitd.toml \
$(TARGET_DIR)/etc/buildkit/buildkitd.toml
endef

define BUILDKIT_BIN_AARCH64_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkit.service \
$(TARGET_DIR)/usr/lib/systemd/system/buildkit.service
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkit.socket \
$(TARGET_DIR)/usr/lib/systemd/system/buildkit.socket
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/51-buildkit.preset \
$(TARGET_DIR)/usr/lib/systemd/system-preset/51-buildkit.preset
endef

$(eval $(generic-package))
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
config BR2_PACKAGE_CNI_AARCH64
bool "cni"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
45 changes: 45 additions & 0 deletions deploy/iso/minikube-iso/arch/aarch64/package/cni-aarch64/cni.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
################################################################################
#
# cni
#
################################################################################

CNI_AARCH64_VERSION = v0.7.1
CNI_AARCH64_SITE = https://github.com/containernetworking/cni/archive
CNI_AARCH64_SOURCE = $(CNI_AARCH64_VERSION).tar.gz
CNI_AARCH64_LICENSE = Apache-2.0
CNI_AARCH64_LICENSE_FILES = LICENSE

CNI_AARCH64_DEPENDENCIES = host-go

CNI_AARCH64_GOPATH = $(@D)/_output
CNI_AARCH64_MAKE_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=0 \
GO111MODULE=off \
GOPATH="$(CNI_AARCH64_GOPATH)" \
PATH=$(CNI_AARCH64_GOPATH)/bin:$(BR_PATH) \
GOARCH=arm64

CNI_AARCH64_BUILDFLAGS = -a --ldflags '-extldflags \"-static\"'

define CNI_AARCH64_CONFIGURE_CMDS
mkdir -p $(CNI_AARCH64_GOPATH)/src/github.com/containernetworking
ln -sf $(@D) $(CNI_AARCH64_GOPATH)/src/github.com/containernetworking/cni
endef

define CNI_AARCH64_BUILD_CMDS
(cd $(@D); $(CNI_AARCH64_MAKE_ENV) go build -o bin/cnitool $(CNI_AARCH64_BUILDFLAGS) ./cnitool)
endef

define CNI_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/bin/cnitool \
$(TARGET_DIR)/opt/cni/bin/cnitool

ln -sf \
../../opt/cni/bin/cnitool \
$(TARGET_DIR)/usr/bin/cnitool
endef

$(eval $(generic-package))
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
config BR2_PACKAGE_CNI_PLUGINS_AARCH64
bool "cni-plugins"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sha256 a7881ec37e592c897bdfd2a225b4ed74caa981e3c4cdcf8f45574f8d2f111bce cni-plugins-linux-arm64-v0.8.5.tgz
Loading