Skip to content

Switch x86_64 to use Discoverable Disk Images (DDIs) - #1695

Merged
wkz merged 21 commits into
mainfrom
ddi-image
Oct 30, 2026
Merged

wkz merged 21 commits into
mainfrom
ddi-image

Conversation

@wkz

@wkz wkz commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Description

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

@wkz wkz added the ci:main Build default defconfig, not minimal label Oct 8, 2026
@wkz
wkz force-pushed the ddi-image branch 7 times, most recently from cb5d23b to 1e51fb5 Compare October 12, 2026 07:49

@troglobit troglobit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Massive effort 🤯 this is a real game changer!

Btw, we should be able to pin barebox master now that they've merged next.

@wkz
wkz marked this pull request as ready for review October 28, 2026 18:45
@wkz
wkz requested a review from troglobit October 28, 2026 19:26
mattiaswal added a commit that referenced this pull request Oct 29, 2026
mtools, OVMF and sfdisk are needed by the qeneth harness changes in
#1695.  Ship them in the image now so that series only has to switch
the harness over once the x86_64 build produces DDI images.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
mattiaswal added a commit that referenced this pull request Oct 29, 2026
mtools, OVMF and sfdisk are needed by the qeneth harness changes in
#1695.  Ship them in the image now so that series only has to switch
the harness over once the x86_64 build produces DDI images.

Signed-off-by: Mattias Walström <lazzer@gmail.com>

@troglobit troglobit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a ChangeLog entry missing, awesome work!

@wkz
wkz force-pushed the ddi-image branch 2 times, most recently from ac06008 to 4b3113f Compare October 30, 2026 07:28
wkz added 13 commits October 30, 2026 10:13
Infix will use this flag as an indication to expand the partition and
filesystem on first boot.
Instead of continuously having to increase the RAM of test VMs as the
bundle size grows, download it to disk.
This is the only mode that supports the `-append` option. It has
nothing to do with "not MMC".
In addition to triggering a factory-reset, add the ability to
check for (and in the case of a marker file, optionally clear) a
factory reset condition.

With the upcoming DDI image support, the location of the marker file
will move, so having the check implementation in factory will make it
easier to keep them in sync.
This is needed when we move away from overlay to plain mounts of /var.
This makes it possible to ship differing system files depending on the
images being built. E.g. an ITB image might expect a different
/etc/fstab than a DDI.
This opens up for DDI images to ship their own implementation. Now
that it is supported, defer factory-reset condition check to the
factory binary instead of having a separate implementation here.
In the upcoming DDI image format, a pre-script is required.
Sign the image, allowing a UEFI firmware to load run Barebox when
secure boot is enabled (provided the corresponding cert is loaded in
the db, of course).
wkz added 8 commits October 30, 2026 10:13
First user is the initramfs, where it is used to setup the verity
device.

Later on, it will be extended for use by RAUC during upgrades, to
fetch image info in statd, etc.
run.sh has degenerated quite a bit over the years - in no small part
due to the way the qemu-system argv is constructed.

Cut our losses by taking a fresh look at this problem, now that lots
of things need to change anyway. Keep the old script as-is for targets
that still use ITB based images.
Add a glue script to manage the priority-based approach used by the
Barebox bootchooser to determine the boot order.
Until we have a Barebox release which includes the upstream LVM
support, build from a GIT tag on the kernelkit branch.
@wkz
wkz merged commit f751fe8 into main Oct 30, 2026
9 of 10 checks passed
@wkz
wkz deleted the ddi-image branch October 30, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:main Build default defconfig, not minimal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants