From patchwork Fri Feb 13 20:24:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 120 Return-Path: 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=1771014277; bh=0t9HvB7vvkB/3in2gAtuEt0PeYGCTL+qbMMZG65WR9k=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=fc+FcULgwgLtrECTq4rnDwFdFc1fBPDS3ZYjSpUeiRWHH2PVLSyLTd0+iEfjJ1cdR 2Gh/2g5fYFyCRyfrGPEeaLs6CDr+dTglgV67fMy9P6YaOrLxG44DfTgJ6xq9hVDmL+ GCqFAUtQjSSDs3GaFEyMe5QXswU4n7/5Rnu0hRauGzg2OAy2ViFkldQfcmLf1WPzkw iL/oAxKvCIU3p4xtKLCOyTLkaXIO87tHgjeGOQSYF5gHkFiYpC4TDmJdeCTzSmZt+h HUuyAWBEW7n+ibI90ISeFlOGibh0m5pG2X1QXi2kWK7GMgW4yPPtwjj/+kRtHNXR/G SckFv6dUxsnwA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E75CD69B38 for ; Fri, 13 Feb 2026 13:24:37 -0700 (MST) 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 K9A5s8y5i9j7 for ; Fri, 13 Feb 2026 13:24:37 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771014277; bh=0t9HvB7vvkB/3in2gAtuEt0PeYGCTL+qbMMZG65WR9k=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=fc+FcULgwgLtrECTq4rnDwFdFc1fBPDS3ZYjSpUeiRWHH2PVLSyLTd0+iEfjJ1cdR 2Gh/2g5fYFyCRyfrGPEeaLs6CDr+dTglgV67fMy9P6YaOrLxG44DfTgJ6xq9hVDmL+ GCqFAUtQjSSDs3GaFEyMe5QXswU4n7/5Rnu0hRauGzg2OAy2ViFkldQfcmLf1WPzkw iL/oAxKvCIU3p4xtKLCOyTLkaXIO87tHgjeGOQSYF5gHkFiYpC4TDmJdeCTzSmZt+h HUuyAWBEW7n+ibI90ISeFlOGibh0m5pG2X1QXi2kWK7GMgW4yPPtwjj/+kRtHNXR/G SckFv6dUxsnwA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D439069B34 for ; Fri, 13 Feb 2026 13:24:37 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771014274; bh=pJYpwya5XVned8OBl08VvahPlK7h4NR6zZlC6vC+dZg=; h=From:To:Cc:Subject:Date:From; b=orOoEnv3bP5UUahL8fWru+m2bk56JdQ/pD2scu8Z6R0MOj0Lkp21LdrE1xG7iLG3a MQ0SRsqMuxr2IBDQ1lMto941G7IEyQIhnaKzCEdvUmC2NlFOYgfp6zEi3h2ApbRcmD 4I9Elzk8I+DQSEMkPspIaMqB9aoqExV7jernbimAy4NadRSTeKdx74satzXLqudmEo AZAuSCM53eKDt+DnmOoodgn513k4zbBjU4ZKEQyRUQSj+Wn7cFhTe+/omN5Xh/BVhA nDBVjTaCWIMIdcDA980K904GmEkuvr2Mlf38RjAC/KyNhkHcABKmhy+L5KALMKr2WK g6ys38KGaC3QQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8B83069B2D; Fri, 13 Feb 2026 13:24:34 -0700 (MST) 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 U4-6NoCcweLV; Fri, 13 Feb 2026 13:24:34 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771014270; bh=3Kx4uTNOZ4/HpAgsgJeWuNS8WP1Gv6OPz5e4XJrL0CQ=; h=From:To:Cc:Subject:Date:From; b=Ol2bM0dkOPHF92DuH4IMRyuzJRkx5iVnShahz0CyS3329WUqh7OVgB8qdFAZQivCk PrQter9oclatnXa4Oy/0CDYin3w8x6E93KET6Y1LuZSGCEyfPHna95NeaSZdU4sEFV kmXz+nZ9fZC4tYPGtRBeoN1rUkuiG/d2+KpSJtPXVV9jXXPJ/e5o35YspkHZ6pvq9V BPq9ahEvib55dk7hoCURriSGGam7+7Z2Y6xH9bZSBZuE0MiViIAjYAC8pC3+KcV/Ep bv4tlHy/ZzgNUi27D+w/xpFRPMi8rJxZhlKwSeJ5Tf2ZZArI47ATm9PvxHb64iPF7K 6nJfWa/1yGlWw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 1F51D69B0E; Fri, 13 Feb 2026 13:24:30 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 13 Feb 2026 13:24:05 -0700 Message-ID: <20260213202417.223068-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: B2JBS2E7ME5M22H4YDHO5X6WWHGNEPK4 X-Message-ID-Hash: B2JBS2E7ME5M22H4YDHO5X6WWHGNEPK4 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 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 0/8] Add BLS Type #1 bootmethod with FIT and multi-initrd support List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass Add a Boot Loader Specification (BLS) Type #1 bootmethod, enabling U-Boot to discover and boot from BLS entry files. This is used by Fedora, RHEL and other distributions. The series also extends PXE infrastructure to support multiple initrd files using an alist, with LMB-based memory allocation for placing subsequent initrds. The sysboot command gains the same LMB allocation support. Finally, a 'fit' field is added as a U-Boot extension to the BLS format, allowing entries to explicitly specify a FIT image path as an alternative to the 'linux' field. It also includes a fix for a long-standing linker-list bug, as well as a recently introduced Kconfig warning. Simon Glass (8): dm: Fix linker list alignment for ll_entry_get() part_find: Fix PARTITION_TYPE_GUID dependency warning boot: Add BLS Type #1 entry parser boot: Add BLS Type #1 bootmethod test: Add bootflow test for BLS bootmethod pxe: Support multiple initrd files using alist bls: Add 'fit' field for FIT image support doc: bls: Update for FIT and multi-initrd support arch/sandbox/dts/test.dts | 7 + boot/Kconfig | 38 ++++ boot/Makefile | 1 + boot/bls_parse.c | 303 +++++++++++++++++++++++++ boot/bootflow.c | 1 + boot/bootmeth_bls.c | 457 ++++++++++++++++++++++++++++++++++++++ boot/pxe_parse.c | 64 +++++- boot/pxe_utils.c | 114 ++++++++-- cmd/Kconfig | 2 +- doc/usage/bls.rst | 158 +++++++++++++ doc/usage/index.rst | 1 + include/bls.h | 103 +++++++++ include/bootflow.h | 2 + include/linker_lists.h | 3 +- include/pxe_utils.h | 5 +- test/boot/Makefile | 1 + test/boot/bls_parse.c | 200 +++++++++++++++++ test/boot/bootflow.c | 54 +++++ test/boot/pxe.c | 12 +- test/py/img/bls.py | 70 ++++++ test/py/tests/test_ut.py | 2 + 21 files changed, 1564 insertions(+), 34 deletions(-) create mode 100644 boot/bls_parse.c create mode 100644 boot/bootmeth_bls.c create mode 100644 doc/usage/bls.rst create mode 100644 include/bls.h create mode 100644 test/boot/bls_parse.c create mode 100644 test/py/img/bls.py