| Message ID | 20260507221507.505998-1-sjg@u-boot.org |
|---|---|
| Headers |
Return-Path: <concept-bounces+u-boot-concept=u-boot.org@u-boot.org> X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192122; bh=jopZeJZuREaOzZ/F6/tn/M2Id7gKdfwFeI+w/4oYfG8=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=CWWP0m7qIB63PDLZs1evtBpAUH9hxxOIxctTIEz6JoQ/wyLSdE9w6ALDnziJROA2l aS9urRcXe2+APT0LUVX1UuoRYJB2WKzQUBebmLKQpy1vvsS4Yg32HA2m/wdZ/JhLzf L3t+geO/EoJP69+3jUjHHYSNNL5v7jf90UUKE4nw= Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 729A06A9AA for <u-boot-concept@u-boot.org>; Thu, 7 May 2026 16:15:22 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 49rlAINuJbUI for <u-boot-concept@u-boot.org>; Thu, 7 May 2026 16:15:22 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192122; bh=jopZeJZuREaOzZ/F6/tn/M2Id7gKdfwFeI+w/4oYfG8=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=CWWP0m7qIB63PDLZs1evtBpAUH9hxxOIxctTIEz6JoQ/wyLSdE9w6ALDnziJROA2l aS9urRcXe2+APT0LUVX1UuoRYJB2WKzQUBebmLKQpy1vvsS4Yg32HA2m/wdZ/JhLzf L3t+geO/EoJP69+3jUjHHYSNNL5v7jf90UUKE4nw= Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 61E316A9A7 for <u-boot-concept@u-boot.org>; Thu, 7 May 2026 16:15:22 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192118; bh=DY8dt57cdNdQ2sc9+yTh7bEGdgq5o0jG62fcOGyjMPo=; h=From:To:Cc:Subject:Date:From; b=NqfXml568bfZl9AOYVXeyhpMwo46c8H+weJKjSmdydxkKYceVrZVVL29CvDwTxF6/ 8XCgRGAUGN7zy9T5VJLaVlfGZACoMq6BAwqB8YGNQNarNK/+jegDEbLAL1uRJswt/P 21N0p4aiLUV0Mapw21dgAST42Rxdw3Vp5qc6BRRc= Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8DF426A959; Thu, 7 May 2026 16:15:18 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id Ghbma3Gcp4FX; Thu, 7 May 2026 16:15:18 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192114; bh=ntiPA8ag4OtHxkS9DywWP3+YfbV/AflczCst4rzUEws=; h=From:To:Cc:Subject:Date:From; b=kdy07n40kkkyMyxyd9f+zYkEK4gxFcYwz2Kv4pyhaXep1ORkmlNsZ5/0Re8t39KXr TKGFmmzBTytTWqTvfhIZD9PeU9tt+yQKBUpUIVypg+SEIfg+ioy0YYxzzy/hGUa8Dg d/uqW4dddStfEj72SUZ81DjSXXW6LhDld0jUcv7s= Received: from u-boot.org (unknown [174.51.25.52]) by mail.u-boot.org (Postfix) with ESMTPSA id 1B7146A9A5; Thu, 7 May 2026 16:15:14 -0600 (MDT) From: Simon Glass <sjg@u-boot.org> To: U-Boot Concept <concept@u-boot.org> Date: Thu, 7 May 2026 16:14:45 -0600 Message-ID: <20260507221507.505998-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: ZAC53CUNUGUABJEMM4CVVN3SVOZORARL X-Message-ID-Hash: ZAC53CUNUGUABJEMM4CVVN3SVOZORARL X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass <sjg@chromium.org> X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 00/13] bootstd: bls: Scan every partition; Ubuntu autoinstall via BLS List-Id: Discussion and patches related to U-Boot Concept <concept.u-boot.org> Archived-At: <https://lists.u-boot.org/archives/list/concept@u-boot.org/message/ZAC53CUNUGUABJEMM4CVVN3SVOZORARL/> List-Archive: <https://lists.u-boot.org/archives/list/concept@u-boot.org/> List-Help: <mailto:concept-request@u-boot.org?subject=help> List-Owner: <mailto:concept-owner@u-boot.org> List-Post: <mailto:concept@u-boot.org> List-Subscribe: <mailto:concept-join@u-boot.org> List-Unsubscribe: <mailto:concept-leave@u-boot.org> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit |
| Series |
bootstd: bls: Scan every partition; Ubuntu autoinstall via BLS
|
|
Message
Simon Glass
May 7, 2026, 10:14 p.m. UTC
From: Simon Glass <sjg@chromium.org>
The Boot Loader Specification places loader/entries/*.conf on the ESP or
XBOOTLDR partition, and bootmeth_bls relies on the iterator's BLS-target
carve-out to reach those even when not marked bootable. In practice,
however, distros that drive entries through kernel-install write to
whichever partition holds /boot, which on common Ubuntu/Debian layouts
is the ext4 rootfs. Two consequences follow today: efi-x86_app64
overrides bootcmd to "bootflow scan -lpb" so the scan reaches
non-BLS-target data partitions on hybrid ISOs, and the Ubuntu
autoinstall path writes BLS entries onto the ESP rather than the rootfs.
Patch 1 reverts the bootcmd override. Patch 2 sets BOOTMETHF_ANY_PART
on bootmeth_bls so the iterator hands it every partition, with a
partition-size filter so ext4 probes do not run on raw single-LBA slots
(e.g. ChromeOS kernel partitions).
Patch 3 honours --kernel in the grub-cfg parser. Patch 4 wires BLS into
future kernel updates: the autoinstall path writes BLS entries directly
to the ESP (kernel-install never works inside curtin's chroot anyway,
because /boot/efi is a plain directory there), while the interactive
path drops a first-boot systemd unit that runs kernel-install from the
real installed system. Entries land on the ESP for autoinstall so the
bootflow iterator's per-partition advance picks BLS up before the EFI
bootmeth chain-loads our own BOOTX64.EFI fallback into a loop.
Patches 5-11 cover further Ubuntu autoinstall script work: unattended
autoinstall mode (5), planting u-boot.efi on the target ESP (6), and a
small cleanup pass (7-11).
Patch 12 adds a new CI test, test_distro_ubuntu_iso_install, that runs
an unattended Ubuntu install through U-Boot + BLS under QEMU + OVMF and
verifies the installed system boots back into U-Boot. Patch 13 wires it
into the sjg-lab-slow gitlab-ci stage.
Docs in doc/usage/bls.rst, doc/develop/bootstd/bls.rst,
doc/develop/bootstd/overview.rst and doc/usage/os/ubuntu-live.rst are
updated to match. The end-to-end CI test passes (4m46 on sjg-lab-slow).
Simon Glass (13):
Revert "configs: efi-x86_app64: Scan all partitions at autoboot"
bootmeth: bls: Scan every partition for entries
scripts: ubuntu: Honour --kernel in grub-cfg parser
scripts: ubuntu: Wire BLS into future kernel updates
scripts: ubuntu: Add unattended autoinstall mode
scripts: ubuntu: Install U-Boot on target ESP
scripts: ubuntu: Drop __future__ annotations import
scripts: ubuntu: Refer readers to the noble release dir
scripts: ubuntu: Use command.run() in hash_password()
scripts: ubuntu: Lift BLS-setup magic strings
scripts: ubuntu: Use Args:/Returns: docstrings throughout
test/py: distro: Add test_distro_ubuntu_iso_install
gitlab-ci: Add sjg-lab-slow stage and Ubuntu install job
.gitlab-ci.yml | 37 +++
boot/bootmeth_bls.c | 24 +-
configs/efi-x86_app64_defconfig | 1 -
doc/develop/bootstd/bls.rst | 34 ++-
doc/develop/bootstd/overview.rst | 11 +-
doc/usage/bls.rst | 46 +++-
doc/usage/os/ubuntu-live.rst | 195 +++++++++++----
scripts/ubuntu-iso-to-uboot.py | 415 +++++++++++++++++++++++++++++--
test/py/tests/test_distro.py | 53 ++++
9 files changed, 730 insertions(+), 86 deletions(-)
---
base-commit: 6aab88b82cfb744689466b02c7a6a7bc663f2e90
branch: fsf