Skip to content

Commit ec2b7c1

Browse files
committed
docs: Fix instructions for building iso
Testing shows that we need changes changes: - x86_64 cpu - Ubuntu 22.04 - docker is required even if building without docker - python2 instead of python - genisoimage (for mkisofs) - Installing Go manually (Ubuntu 22.04 have only Go 1.18) - Target should be minikube-iso-aarch64 or minikube-iso-x86_64. Using arm64 and amd64 fails. I also cleaned up a little bit the formatting to make it easier to maintain (one package per line). Tested building: - minikube-iso-aarch64 - minikube-iso-x86_64 I did not test the built iso images.
1 parent 3cf1e63 commit ec2b7c1

File tree

1 file changed

+42
-10
lines changed
  • site/content/en/docs/contrib/building

1 file changed

+42
-10
lines changed

site/content/en/docs/contrib/building/iso.md

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ The minikube ISO is booted by each hypervisor to provide a stable minimal Linux
1010

1111
## Prerequisites
1212

13+
* Machine with x86\_64 CPU
14+
* Ubuntu 22.04.5 LTS (Jammy Jellyfish)
15+
* docker
1316
* A recent GNU Make distribution (>=4.0)
1417
* A recent Go distribution (>=1.22.0)
1518
* If you are on Windows or Mac, you'll need Docker to be installed.
@@ -25,30 +28,59 @@ cd minikube
2528
## Building
2629

2730
### Building in Docker
28-
To build for x86
31+
32+
To build for x86:
33+
2934
```shell
3035
$ make buildroot-image
31-
$ make out/minikube-amd64.iso
36+
$ make minikube-iso-x86_64
3237
```
3338

34-
To build for ARM
39+
To build for ARM:
40+
3541
```shell
3642
$ make buildroot-image
37-
$ make out/minikube-arm64.iso
43+
$ make minikube-iso-aarch64
3844
```
3945

40-
The build will occur inside a docker container.
46+
The build will occur inside a docker container.
4147
The bootable ISO image will be available in `out/minikube-<arch>.iso`.
4248

43-
### Building on Baremetal
44-
If you want to do this on baremetal, replace `make out/minikube-<arch>.iso` with `IN_DOCKER=1 make out/minikube-<arch>.iso`.
49+
### Building without docker
50+
51+
Install required tools:
52+
53+
```shell
54+
sudo apt-get install \
55+
automake \
56+
bc \
57+
build-essential \
58+
cpio \
59+
gcc-multilib \
60+
genisoimage \
61+
git \
62+
gnupg2 \
63+
libtool \
64+
locales \
65+
p7zip-full \
66+
python2 \
67+
unzip \
68+
wget \
69+
```
70+
71+
Install Go using these instructions:
72+
https://go.dev/doc/install
73+
74+
To build without docker run:
4575

46-
* Prerequisite build tools to install:
4776
```shell
48-
sudo apt-get install build-essential gnupg2 p7zip-full git wget cpio python \
49-
unzip bc gcc-multilib automake libtool locales
77+
IN_DOCKER=1 make minikube-iso-<arch>
5078
```
5179

80+
> [!IMPORTANT]
81+
> Some external projects will try to use docker even when building
82+
> without docker. You must install docker on the build host.
83+
5284
## Using a local ISO image
5385

5486
```shell

0 commit comments

Comments
 (0)