From patchwork Thu Sep 11 21:44:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 298 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=1757627129; bh=5LYfzDfntRIyzGdyQGuFnfwITldovUeEaee5RFUV4mg=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=O8902/29iky4DfIEuKP4i6Prmkm17mc3Hu9Xe0hko3CNYdwkN7h2D8GjIn+JAGWo5 p89qeTlKxPGMbmPLV9xplHkqHBHlJon8gXJn5MQw5V70sDXat/seCcKZI4qdSrkN4p eDkN4cR1BgDU3cAfFY86g6LBJb0eEhi0A0sn0tkPW8qehICi9Qwenu25ctDw4lzPNl dzcPA/WuM7jvcnM/5IxeFxbOKYsrViMY/svHkPtRYoiVsPYnA4Lm2kQ1SHWcPw6Cwi QL/NDojB7FJuPumhMLd3QHL+JSUXS9petc4KWi/KoSKeJxkaidi+Khi8YFCD3V0zXf nxKRF/abzoPMA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 203C567B0F for ; Thu, 11 Sep 2025 15:45:29 -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 0eyeZp_zFGBN for ; Thu, 11 Sep 2025 15:45:29 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1757627129; bh=5LYfzDfntRIyzGdyQGuFnfwITldovUeEaee5RFUV4mg=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=O8902/29iky4DfIEuKP4i6Prmkm17mc3Hu9Xe0hko3CNYdwkN7h2D8GjIn+JAGWo5 p89qeTlKxPGMbmPLV9xplHkqHBHlJon8gXJn5MQw5V70sDXat/seCcKZI4qdSrkN4p eDkN4cR1BgDU3cAfFY86g6LBJb0eEhi0A0sn0tkPW8qehICi9Qwenu25ctDw4lzPNl dzcPA/WuM7jvcnM/5IxeFxbOKYsrViMY/svHkPtRYoiVsPYnA4Lm2kQ1SHWcPw6Cwi QL/NDojB7FJuPumhMLd3QHL+JSUXS9petc4KWi/KoSKeJxkaidi+Khi8YFCD3V0zXf nxKRF/abzoPMA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 1010967A59 for ; Thu, 11 Sep 2025 15:45:29 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1757627127; bh=RtEEn799boSGv7l0F6k0aKGwbx8BPLxfhD7SsYfydQo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hAmnLD1W1Dzl1HHzj4nTyS+qjZQpzWyfrPUYhO05JJIBwvHnjQ/0+zG8BnTx/9TTq LfH3Yvj5Up7Ae2UoT6pHuH/4Peo6s8Z5boCoH51+tu21ytdGlWo0Ku0LvncWDJoAB8 /JA20f7yQUtEhFM8Lzh4y8HLYFSEHeWSrGwc8KscD/yR0jtUH7joCIxl55wLE854WL V6Dk7/p8CJ4V/+ihAIwzPjlUDodfvGUHlg4maa8Ajt6Y3gy78EF9QVXOd9rgS/yMev ugya1yK42lbzyWyJqREMncW4HeI67ltRBGwYYc+WY3+ZcilfiLPQg/t0eAfpqRtyXM 2uyagg3yKhETw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 0A9E667A59; Thu, 11 Sep 2025 15:45:27 -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 XpvPdyzief_n; Thu, 11 Sep 2025 15:45:26 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1757627121; bh=gCgh3Reel4R33aRoYBMtWWGAu8O34moSSz1+adSf3G4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=keMWSSOyaBxlf5RkYqCPvAynjYlSAu5sClUETkSMc9CUCTVb+xP9zO0n+lGrRB6Sb yauMqd8VZ2sbOj1GoPjCekkKe9c3MjCOkFcXde21KaH1ybjcJtznWgpFHrf/r6hztf +efRmIQWXGLyDr//8k4wmruGS8H2ieHpE8yYcT7dI74T0OcuxqXymt++YpTEwIItDU XCYbalurMPlTApGoMFSLQAtGaUQDcXEIlNXlSunSEnZFMP8XoXTOb4qXuuEXzzSeZt VpMs2H3pDVIJbBdHahEBIqyUsEJTzFHtL4SZklM9P6h3tW7P7DDabk4OMe4sUgE6T/ hlUq+z9Uc5nuQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id AB55667B0A; Thu, 11 Sep 2025 15:45:21 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Thu, 11 Sep 2025 15:44:17 -0600 Message-ID: <20250911214425.3687188-14-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250911214425.3687188-1-sjg@u-boot.org> References: <20250911214425.3687188-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: YP6DSLEXRBP7ROYCQDBZ4GHBWZ343Y6I X-Message-ID-Hash: YP6DSLEXRBP7ROYCQDBZ4GHBWZ343Y6I 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: Heinrich Schuchardt , Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 13/14] doc: Provide a motivation for ulib 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 The reason for providing a U-Boot library will not be obvious to many. Add a comment about this. Signed-off-by: Simon Glass --- doc/develop/ulib.rst | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/doc/develop/ulib.rst b/doc/develop/ulib.rst index 56e4e437dbf..e6ee5aa98c9 100644 --- a/doc/develop/ulib.rst +++ b/doc/develop/ulib.rst @@ -10,6 +10,44 @@ build that functionality directly into a U-Boot image. Please read `License Implications`_ below. +Motivation +---------- + +U-Boot contains a vast arrange of functionality. It supports standard boot, +native execution (sandbox) for development and testing, filesystems, networking, +all sorts of boot protocols, drivers and support for about 1300 boards, a full +command line interface, a configuration editor / graphical menu, good Linux +compatibility for porting drivers, a powerful but efficient driver model which +uses Linux devicetree and many other features. The code base is fairly modern, +albeit with some dark spaces. Unusually for firmware, U-Boot provides a vast +array of tests. It can boot EFI apps or as an EFI app. It supports most relevant +architectures and modern SoCs. + +But of course time marches on and innovation must continue. U-Boot will clearly +be part of the picture in the future, but what is next? + +Ulib is an attempt to make U-Boot's functionality more easily available to other +projects, so they can build on it improve it or even replace parts of it. Ulib +aims to open up the capabilities of U-Boot to new use cases. + +Ulib also provides the ability to write the main program in another language. +For now C and Rust are supported, but Python should also be possible, albeit +with a significant amount of work. + +Few can predict where boot firmware will be in 10 years. The author of this file +rashly believes that we may have moved on from U-Boot, EFI and many other things +considered essential today. Perhaps firmware will be written in Rust or Zig or +Carbon or some other new language. Our AI overlords may be capable of writing +firmware based on a specification, if we can feed them enough electricity. Or it +could be that the complexity of SoCs grows at such a rate that we just carry on +as we are, content to just be able to make something boot. + +Ulib aims to provide a bridge from the best (more or less) of what we have today +to whatever it is that will replace it. Ulib is not an end itself, just a +platform for further innovation in booting, to new languages, new boot protocols +and new development methods. + + Building the Libraries ----------------------