46 Troubleshooting Edge Image Builder (EIB) #
EIB is used to create custom SUSE Edge images.
Wrong SCC code: Ensure the SCC code used in the EIB definition file matches the SL Micro version and architecture.
Missing dependencies: Ensure there are no missing packages or tools within the build environment.
Incorrect image size: For raw images, the
diskSize
parameter is required and it depends heavily on the images, RPMs, and other artifacts being included in the image.Permissions: If storing a script on the custom/files directory, ensure it has executable permissions as those files are just available at combustion time but no changes are performed by EIB.
Operating system group dependencies: When creating an image with custom users and groups, the groups being set as “
primaryGroup
” should be explicitly created.Operating system user’s sshkeys requires a home folder: When creating an image with users with sshkeys, the home folder needs to be created as well with
createHomeDir=true
.Combustion issues: EIB relies on combustion for the customization of the OS and deployment of all the other SUSE Edge components. This also includes custom scripts being placed in the custom/scripts folder. Note that the combustion process is being executed at
initrd
time, so the system is not completely booted when the scripts are executed.Podman machine size: As explained in the EIB Tips and Tricks section (Part IV, “Tips and Tricks”), verify the podman machine has enough CPU/memory to run the EIB container on non-Linux operating systems.
EIB output: The console output of the
eib build
command is crucial.Build container logs: Check the logs of the build container. The logs are generated in the directory that was used to store the artifacts. Check
docker logs
orpodman logs
for the necessary information as well.Temporary build directories: EIB creates temporary directories during the build process. Check these for intermediate logs or artifacts if the main output is insufficient.
Combustion logs: If the image being built with EIB does not boot for any reason, a root shell is available. Connect to the host console (either physically, via BMC, etc.) and check combustion logs with
journalctl -u combustion
and in general all the operating system logs withjournalctl
to find the root cause of the failure.
Review
eib-build
output: The error message in the console output is usually very indicative.Check build environment: Ensure all prerequisites for EIB itself (for example, docker/podman, sufficient disk space) are met on the machine running EIB.
Inspect build container logs: Review the logs of the failed container for more detailed errors (see above).
Verify
eib
configuration": Double-check theeib
configuration file for any typos or incorrect paths to source files or build scripts.Test components individually: If your EIB build involves custom scripts or stages, run them independently to isolate failures.