Skip to content

revolution-robotics/build-hybrid-image

Repository files navigation

Build Hybrid Image

Description

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.

Installation Prerequisites

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).

Installation and Build

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.

Inspecting/Modifying Hybrid Image

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

Inspecting Build System

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.

About

Install REVO bootloader and devicetree on a given image.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages