Skip to content

experimental debian 13 img builder#56

Draft
CullenSharp wants to merge 12 commits intomasterfrom
experimental-debian-13-img-builder
Draft

experimental debian 13 img builder#56
CullenSharp wants to merge 12 commits intomasterfrom
experimental-debian-13-img-builder

Conversation

@CullenSharp
Copy link
Copy Markdown
Contributor

@CullenSharp CullenSharp commented Feb 3, 2026

Summary

For more information on the development process, read this PR #54.

To build run

sudo make dev

This will compile all the oresat device tree files, and u-boot.
Afterwards, it will bootstrap and build the image, which is placed in
image_builder/images.

As currently configured, the usb0 interface has a static ip address at
192.168.7.20. It supports sshfs and should support mDNS with avahi.

Device tree overlays can be applied by modifying /extlinux/extlinux.conf
located in the boot partition. The overlays need to be located in the
boot partition.

Commits

  • Fixes device tree compilation
  • Fixes mDNS for usb0
  • Updates chroot scripts
  • Adds scripts and configuration for post-build
  • Tie in build_images.sh and post_build.sh
  • Adapt scripts for Debian Bookworm
  • Alter config to install bookworm, sftp server, and avahi-daemon
  • Catch board specific FDTs
  • Builds Debian Trixie 6.12.68-bone46 image

Removes unused gpu label from oresat-base.dtsi
Changes Makefile to reflect change in BeagleBoard-DeviceTrees structure
Adds BeagleBoard-DeviceTrees as a submodule
`20-wired.network` isn't being used by `networkd` to configure the usb0
interface, so I broke the configuration into multiple files that should
achieve the same thing.

Forked beagle board imager to include python build tool upgrades in
chroot scripts for compatibility with newer packaging workflow.
At some time in the past, the early_chroot script feature in the omap
image builder was removed. RCN graciously added the feature back in for
us
([link](https://forum.beagleboard.org/t/omap-image-builder-early-chroot-issues/43529)). Following this I reviewed the omap image builder and added improvements to our chroot scripts to improve safety and make use of script variables provided by the omap image builder.
After rootfs, bootloader, and device trees have been built `post-build.sh`
and `genimage.cfg` are used to create a bootable image that can be
flashed
to boot media.

`post-build.sh`

- Loads build configuration
- Unpacks the rootfs
- Installs the kernel, initial device tree, `initrd`, setup `extlinux`
- Creates an image using `genimage.cfg`

The result is an image, `sdcard.img`, found in the `$PWD/images` directory

`genimage.cfg`

- Creates two partions
  - boot, a bootable FatFs which contains the bootloader and boot artifacts
  - root, the Linux filesystem
`build_images.sh` now calls out to `post_build.sh` to generate an image.
`systemd-resolved` is no longer a default package for Debian.
To build run

```text
sudo make dev
```

This will compile all the oresat device tree files, and u-boot.
Afterwards, it will bootstrap and build the image, which is placed in
image_builder/images.

As currently configured, the usb0 interface has a static ip address at
192.168.7.20. It supports sshfs and *should* support mDNS with avahi.

Device tree overlays can be applied by modifying /extlinux/extlinux.conf
located in the boot partition. The overlays need to be located in the
boot partition.
@CullenSharp CullenSharp added the enhancement New feature or request label Feb 3, 2026
@CullenSharp CullenSharp self-assigned this Feb 3, 2026
I temporarily used a minimally patched version of the omap image
builder, but this is no longer needed. Further, it is causing
inconsistencies in the build process.
@CullenSharp CullenSharp force-pushed the experimental-debian-13-img-builder branch from 7a0699e to d877e36 Compare February 23, 2026 02:48
I was experiencing pinmux conflicts with the BBB and PB device trees, so
I switched to am335x-bone. This is a very minimal device tree.
@CullenSharp CullenSharp marked this pull request as draft March 28, 2026 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant