How to build a custom Talos image from source.
linux/amd64
, but you can customize that by passing PLATFORM
variable to make
:
PKGS
siderolabs/pkgs
repository can
be overridden with:
kernel
package, the reference can be overridden with PKG_KERNEL
variable: make <target> PKG_KERNEL=<registry>/<username>/kernel:<tag>
PKG_<pkg>
(e.g. PKG_IPTABLES
) variable: make <target> PKG_<pkg>=<registry>/<username>/<pkg>:<tag>
pkgs
repository was built and pushed, the references can be overridden with PKGS_PREFIX
and PKGS
variables: make <target> PKGS_PREFIX=<registry>/<username> PKGS=<tag>
make
, e.g. GOAMD64=v1
can be used to build
Talos images compatible with old AMD64 CPUs:
_out/vmlinuz-<arch>
and _out/initramfs-<arch>.xz
.
IMAGE_REGISTRY
is set to ghcr.io
USERNAME
is set to the siderolabs
(or value of environment variable USERNAME
if it is set)~/.docker/config.json
file (e.g. with docker login
).
Building and pushing the image can be done with:
127.0.0.1:5005
can be used as well to avoid pushing/pulling over the network:
imager
container, by default Talos will include the boot assets for both amd64
and arm64
architectures, if building only for single architecture, specify INSTALLER_ARCH
variable:
imager
container image, by default ghcr.io/siderolabs/imager
will be used with the matching tag:
_out/talos-<arch>.iso
.
If ISO image should be built with the custom imager
image, it can be specified with IMAGE_REGISTRY
/USERNAME
variables:
imager
container image, by default ghcr.io/siderolabs/imager
will be used with the matching tag:
image-%
target, e.g. make image-aws
.
Same as with ISO image, the custom imager
image can be specified with IMAGE_REGISTRY
/USERNAME
variables.