From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BE695C433EF for ; Sun, 13 Mar 2022 22:24:14 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C3C2683B61; Sun, 13 Mar 2022 23:24:12 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="cJg8ruQL"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C9E4B83B72; Sun, 13 Mar 2022 23:23:40 +0100 (CET) Received: from mail-vk1-xa2d.google.com (mail-vk1-xa2d.google.com [IPv6:2607:f8b0:4864:20::a2d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5B49C83B75 for ; Sun, 13 Mar 2022 23:23:28 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@google.com Received: by mail-vk1-xa2d.google.com with SMTP id q64so1691158vkb.6 for ; Sun, 13 Mar 2022 15:23:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=87dm2hFvuseX2OHAq0ENBoBBwFgfUn1l7piQuh97Tnw=; b=cJg8ruQLNSiaZkuXcVNGx3XaeZqkn3xGtCAVcDTb+4GTghhUaed3Xd/OEX5BqLVEO5 q54TVWSzmmg11gaXBIRHot4ZbWSXjwpYcO95hUITPAZ2uSPzhCF8CetXtTH7ExyuXbZf 6B3UDtgCg0SltVYHi0KDku9jVht+4jNYk9LJM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=87dm2hFvuseX2OHAq0ENBoBBwFgfUn1l7piQuh97Tnw=; b=bbi8TN0vXxCwd51ilWryS9+D0NmvoQTjz3MuGQmDBHBn2l8Oy6Cm7jP4HOYKd/KU2s wws/6EOG0faHtUMNOni6sSKyU6jKO9Kb2uRQQSEnC50dTVIPPGkkwkNYIl3GQeQVuDsw Ea1do/+9u61EQU1j+oGbHfD3G7v81cNiH/MatpswqOXNQYoWUj0zagiHG9NMN+DZ2VMM ORB+TaDJvZr21dzSQc4LxHP8/6OgW54zNGuYc6Wcjl9TnFZ+NA09SFLvB/9UNwSZL2+J mTV+zQbbMVpM6d4j/LkKKNQ/qeEwomAyDt+2IAb17WEooG57mcDaG4uAbt+Uck5tW8Yj mwKw== X-Gm-Message-State: AOAM530MiNHrn2MDlxuGYffBIe9/lC8yicwBu7+weiNOMETHC2eFLbLG laif1Da2TpagtqNtuS+W3gKHXYdN45oZPu100cT6WsB2+JrsoYEd X-Google-Smtp-Source: ABdhPJyS9A9R2aPlh4UiHHTx+P3qy+LzuunTQhQlcnr9dr+IvWruI4f+yOT+RaoeUdejkbzM8x3Vd4vqHp9P0YSbghs= X-Received: by 2002:a05:6122:988:b0:337:9ac4:2890 with SMTP id g8-20020a056122098800b003379ac42890mr8755604vkd.3.1647210206923; Sun, 13 Mar 2022 15:23:26 -0700 (PDT) MIME-Version: 1.0 References: <20220306125016.3133737-1-sjg@chromium.org> In-Reply-To: From: Simon Glass Date: Sun, 13 Mar 2022 16:23:15 -0600 Message-ID: Subject: Re: [PATCH v4 00/33] Initial implementation of standard boot To: Mark Kettenis Cc: U-Boot Mailing List , Dennis Gilmore , Ilias Apalodimas , Lukas Auer , Tom Rini , Heinrich Schuchardt , Michal Simek , Daniel Schwierzeck , Steffen Jaeckel , Jaehoon Chung , Marek Vasut , Pavel Herrmann , Peng Fan Content-Type: text/plain; charset="UTF-8" X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean Hi Mark, On Sun, 13 Mar 2022 at 09:47, Mark Kettenis wrote: > > > From: Simon Glass > > Date: Sun, 6 Mar 2022 05:49:43 -0700 > > > > The bootflow feature provide a built-in way for U-Boot to automatically > > boot an Operating System without custom scripting and other customisation. > > This is called 'standard boot' since it provides a standard way for > > U-Boot to boot a distro, without scripting. > > > > It introduces the following concepts: > > > > - bootdev - a device which can hold a distro > > - bootmeth - a method to scan a bootdev to find bootflows (owned by > > U-Boot) > > - bootflow - a description of how to boot (owned by the distro) > > > > This series provides an implementation of these, enabled to scan for > > bootflows from MMC, USB and Ethernet. It supports the existing distro > > boot as well as the EFI loader flow (bootefi/bootmgr). It works > > similiarly to the existing script-based approach, but is native to > > U-Boot. > > > > With this we can boot on a Raspberry Pi 3 with just one command: > > > > bootflow scan -lb > > > > which means to scan, listing (-l) each bootflow and trying to boot each > > one (-b). The final patch shows this. > > > > With a standard way to identify boot devices, booting become easier. It > > also should be possible to support U-Boot scripts, for backwards > > compatibility only. > > For the record. In its current state this series breaks booting on > Apple M1: > > Hit any key to stop autoboot: 0 > Flags not supported: enable CONFIG_BOOTFLOW_FULL > bootflow - Boot flows > > Usage: > bootflow scan - boot first available bootflow > > => > > I'll see if I can actually convert this board to "standard boot". But > I think this means that this breaks the majority of the boards > currently in the tree. Ah yes, I put an error on that command when flags are given. You can enable CONFIG_BOOTFLOW_FULL to get that back. For now, 'bootflow scan' just scans and boots and does not support args. See do_bootflow_scan(). I will update the cover letter so it just says 'bootflow scan'. Regards, SImon