- Description
- Installation Prerequisites
- Installation and Build
- Inspecting/Modifying Hybrid Image
- Inspecting Build System
Given an existing Roadrunner-based disk image, the script
build-hybrid-image builds a new hybrid image with REVO's
bootloader and devicetree. The kernel is converted from zImage to
uImage format, as required by REVO's bootloader. The original disk
image is unmodified.
Additional scripts for inspecting the container build environment and hybrid image are available in the repository build-hybrid-image. These scripts have been tested on Fedora (M1) and Ubuntu (x86_64) systems. Instructions for installing and running them follow.
The build-hybrid-image scripts depends on the following packages/utilities:
With the exception of mount.image, these can be installed by name, e.g., on Fedora:
sudo dnf install -y bmap-tools buildah gawk parted podman \
qemu-user-static-arm uboot-tools util-linuxor on Debian/Ubuntu:
sudo apt install -y binfmt-support bmap-tools buildah gawk parted \
podman qemu-user-static u-boot-tools util-linux
systemctl enable --now binfmt-supportThe mount.image script can be installed per the instructions on its web page (see link above).
After installing the prerequisites above, run:
git clone https://github.com/revolution-robotics/build-hybrid-image
cd ./build-hybrid-imageEdit the file ./build-hybrid-image.conf, then run:
./build-hybrid-imageThe hybrid image is saved to the path indicated in build-hybrid-image.conf.
The hybrid image can be mounted and inspected with the mount.image
command, e.g.:
mount.image /path/to/hybrid.wic.gzChanges to the mounted file systems are saved back to the image when the image is unmounted via:
umount.image /path/to/hybrid.wic.gz
The container used to build the REVO components can be entered interactively with:
./run-roadrunner-containerAt the Debian prompt, change to the root of the build system:
cd /root/roadrunner-debianFrom there, the bootloader sources are in src/uboot and the kernel sources in src/kernel.