59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
# ISO Build
|
|
|
|
`bee` ISO is built inside a Debian 12 builder container via `iso/builder/build-in-container.sh`.
|
|
|
|
## Requirements
|
|
|
|
- Docker Desktop or another Docker-compatible container runtime
|
|
- Privileged containers enabled
|
|
- Enough free disk space for builder cache, Debian live-build artifacts, NVIDIA driver cache, and CUDA userspace packages
|
|
|
|
## Build On macOS
|
|
|
|
From the repository root:
|
|
|
|
```sh
|
|
sh iso/builder/build-in-container.sh
|
|
```
|
|
|
|
The script defaults to `linux/amd64` builder containers, so it works on:
|
|
|
|
- Intel Mac
|
|
- Apple Silicon (`M1` / `M2` / `M3` / `M4`) via Docker Desktop's Linux VM
|
|
|
|
You do not need to pass `--platform` manually for normal ISO builds.
|
|
|
|
## Useful Options
|
|
|
|
Build with explicit SSH keys baked into the ISO:
|
|
|
|
```sh
|
|
sh iso/builder/build-in-container.sh --authorized-keys ~/.ssh/id_ed25519.pub
|
|
```
|
|
|
|
Rebuild the builder image:
|
|
|
|
```sh
|
|
sh iso/builder/build-in-container.sh --rebuild-image
|
|
```
|
|
|
|
Use a custom cache directory:
|
|
|
|
```sh
|
|
sh iso/builder/build-in-container.sh --cache-dir /path/to/cache
|
|
```
|
|
|
|
## Notes
|
|
|
|
- The builder image is automatically rebuilt if the local tag exists for the wrong architecture.
|
|
- The live ISO boots with Debian `live-boot` `toram`, so the read-only medium is copied into RAM during boot and the runtime no longer depends on the original USB/BMC virtual media staying present.
|
|
- Target systems need enough RAM for the full compressed live medium plus normal runtime overhead, or boot may fail before reaching the TUI.
|
|
- Override the container platform only if you know why:
|
|
|
|
```sh
|
|
BEE_BUILDER_PLATFORM=linux/amd64 sh iso/builder/build-in-container.sh
|
|
```
|
|
|
|
- The shipped ISO is still `amd64`.
|
|
- Output ISO artifacts are written under `dist/`.
|