The Image Builder is a collection of virtual machine image building utilities. The Image Builder can be used to build golden images intended for use with EdgeStack.
Supported Host OS:
- CentOS 7
- Rocky 8
Supported Guest OS:
- CentOS 7
- Rocky 8 (x86, ARM)
- Rocky 9 (x86, ARM)
- AlmaLinux 8 (x86, ARM)
- AlmaLinux 9 (x86, ARM)
- Debian 11 (x86, ARM)
- Debian 12 (x86, ARM)
- OpenSUSE 15
- Ubuntu 18.04 (x86, ARM)
- Ubuntu 20.04 (x86, ARM)
- Ubuntu 22.04 (x86, ARM)
- Ubuntu 24.04 (x86, ARM)
Packer has issues working with qemu-system binary in ubuntu distribution. Make sure that you are using the image builder in CentOS distribution.
The project allows the developers to build the image using handy make CLI.
- Clone Image Builder project
# git clone https://github.com/sonaproject/edgestack-image-builder.git
# cd edgestack-image-builder
- Install packer and relevant dependencies
# make deps-qemu
- Place the base or preprossed golden VM image under images directory
# cp $IMAGE_NAME images/
- Calculate the checksum of the target VM image
# sha256sum images/$IMAGE_NAME
- Copy and paste the calculated checksum to the corresponding configuration file. We provide the configuration file for each linux distro. Put the checksum value into
iso_checksum
to replace the original value.
{
"build_name": "ubuntu-1804",
"distro_name": "ubuntu",
"ssh_username": "ubuntu",
"os_display_name": "Ubuntu 18.04",
"guest_os_type": "ubuntu-64",
"iso_url": "images/ubuntu-1804.qcow2",
"iso_checksum": "50c38d3f7307fe770c15a69b316d0001ac28e484239218d23e1ca8c8e7ec9a10",
"iso_checksum_type": "sha256",
"shutdown_command": "shutdown -P now",
"ansible_python_interpreter": "/usr/bin/python3"
}
- Build ubuntu-18.04 golden image
# make build-qemu-ubuntu-1804
The built image will be located under output directory.
- Clean built images
# make clean-qemu
- Clean packer cache
# make clean-packer-cache