- 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-linux
or 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-support
The 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-image
Edit the file ./build-hybrid-image.conf, then run:
./build-hybrid-image
The 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.gz
Changes 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-container
At the Debian prompt, change to the root of the build system:
cd /root/roadrunner-debian
From there, the bootloader sources are in src/uboot and the kernel sources in src/kernel.