From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: masami.hiramatsu@linaro.org, u-boot@lists.denx.de,
sjg@chromium.org, ilias.apalodimas@linaro.org,
Tom Rini <trini@konsulko.com>
Subject: Re: [PATCH v5 00/12] efi_loader: more tightly integrate UEFI disks to driver model
Date: Tue, 26 Apr 2022 23:44:18 +0900 [thread overview]
Message-ID: <20220426144418.GA62529@laputa> (raw)
In-Reply-To: <4e897c5c-1c49-70ed-2668-40e8d932d5ea@gmx.de>
On Tue, Apr 26, 2022 at 03:57:26PM +0200, Heinrich Schuchardt wrote:
> On 4/26/22 01:44, AKASHI Takahiro wrote:
> > On Mon, Apr 25, 2022 at 10:43:44PM +0200, Heinrich Schuchardt wrote:
> > > On 4/19/22 03:05, AKASHI Takahiro wrote:
> > > > With this patch set[1] applied, UEFI subsystem maintains a list of its
> > > > disk objects dynamically at runtime based on block device's probing.
> > > > (See "issues" and "prerequisite" below.)
> > > >
> > > > [1] https://github.com/t-akashi/u-boot/tree/efi/dm_disk
> > > >
> > > > For instance,
> > > > => dm tree
> > > > Class Index Probed Driver Name
> > > > -----------------------------------------------------------
> > > > root 0 [ + ] root_driver root_driver
> > > > ...
> > > > pci 0 [ + ] pci_generic_ecam |-- pcie@10000000
> > > > ...
> > > > ahci 0 [ ] ahci_pci | |-- ahci_pci
> > > > scsi 0 [ ] ahci_scsi | | `-- ahci_scsi
> > > > usb 0 [ ] xhci_pci | `-- xhci_pci
> > > > ...
> > > > => efi devices
> > > > Missing RNG device for EFI_RNG_PROTOCOL
> > > > No EFI system partition
> > > > Unable to find TPMv2 device
> > > > Device Device Path
> > > > ================ ====================
> > > > 000000013eee88d0 /VenHw(..)
> > > > 000000013ffeb798 /VenHw(..)/Uart(0,0,D,D)
> > > > 000000013eeeb810 /VenHw(..)/MAC(525252525252,1)
> > > > => scsi rescan
> > >
> > >
> > > With the series binding block devices after initializing the UEFI
> > > sub-system works fine. Also unbinding is reflected in the EFI devices.
> > >
> > > But this series breaks UEFI compliance.
> >
> > I don't think so.
> >
> > > All block devices must be probed
> > > before booting.
> >
> > This (not enumerating all the devices) is also true even before my patch.
> >
> > > Without this GRUB will not be able to read the boot
> > > partition with vmlinuz and initrd.
> >
> > I'm not sure what you expect here, but
> > is it enough to define "preboot" variables with any number of
> > enumerating commands, like "scsi rescan", "usb start" and so on?
>
> I expect that boards that booted with previous versions of U-Boot using
> the respective defconfig still boot. But they don't. Here is one example
> (orangepi_pc_defconfig):
>
> Found U-Boot script /boot.scr.uimg
> 189 bytes read in 2 ms (91.8 KiB/s)
> ## Executing script at 43100000
> 22979 bytes read in 8 ms (2.7 MiB/s)
> 98304 bytes read in 8 ms (11.7 MiB/s)
> Booting /EFI\debian\grubarm.efi
> Welcome to GRUB!
>
> error: disk `,msdos2' not found.
> grub rescue>
>
> In U-Boot v2022.04 function efi_disk_register() ensured that all block
> devices and their partitions were added as EFI handles.
Not the all block devices, but the block devices which have already
enumerated when efi_init_obj_list() is called.
> But that
> function is missing now.
What (boot) device are you using here?
Please show me the values of env variables, particularly, "boot_targets".
Please show me the content of boot.scr.uimg, too.
Please show me the output from
=> dm tree
=> efidebug devices
for 2022.04 and 2022.07-rc1.
-Takahiro Akashi
> Best regards
>
> Heinrich
>
>
> >
> > # Again, this method can also be applied even without my patch.
> >
> > -Takahiro Akashi
> >
> > > Will you provide the missing patch?
> > >
> > > Best regards
> > >
> > > Heinrich
>
next prev parent reply other threads:[~2022-04-26 14:44 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-19 1:05 [PATCH v5 00/12] efi_loader: more tightly integrate UEFI disks to driver model AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 01/12] dm: tag: change ENOSPC to ENOMEM AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 02/12] dm: tag: add some document AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 03/12] test: dm: add tests for tag support AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 04/12] dm: disk: add UCLASS_PARTITION AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 05/12] dm: blk: add a device-probe hook for scanning disk partitions AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 06/12] efi_loader: split efi_init_obj_list() into two stages AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 07/12] efi_loader: disk: a helper function to create efi_disk objects from udevice AKASHI Takahiro
2022-04-30 18:44 ` Johan Jonker
2022-05-18 9:23 ` Neil Armstrong
2022-05-19 5:04 ` AKASHI Takahiro
2022-06-01 0:25 ` AKASHI Takahiro
2022-08-24 9:00 ` Vyacheslav
2022-08-24 9:29 ` Vyacheslav
2022-06-13 19:54 ` Fabio Estevam
2022-06-13 20:10 ` Tom Rini
2022-06-13 22:21 ` Mark Kettenis
2022-06-13 22:48 ` Fabio Estevam
2022-06-13 23:39 ` Heinrich Schuchardt
2022-06-13 23:54 ` Fabio Estevam
2022-06-14 3:59 ` Heiko Thiery
2022-06-13 23:39 ` AKASHI, Takahiro
2022-04-19 1:05 ` [PATCH v5 08/12] efi_loader: disk: not create BLK device for BLK(IF_TYPE_EFI_LOADER) devices AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 09/12] efi_loader: disk: a helper function to delete efi_disk objects AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 10/12] efi_loader: disk: not delete BLK device for BLK(IF_TYPE_EFI_LOADER) devices AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 11/12] dm: disk: add read/write interfaces with udevice AKASHI Takahiro
2022-04-19 1:05 ` [PATCH v5 12/12] efi_loader: disk: use udevice instead of blk_desc AKASHI Takahiro
2022-04-25 20:43 ` [PATCH v5 00/12] efi_loader: more tightly integrate UEFI disks to driver model Heinrich Schuchardt
2022-04-25 23:44 ` AKASHI Takahiro
2022-04-26 13:57 ` Heinrich Schuchardt
2022-04-26 14:44 ` AKASHI Takahiro [this message]
2022-04-26 17:02 ` Heinrich Schuchardt
2022-04-26 17:18 ` Mark Kettenis
2022-04-26 17:23 ` Tom Rini
2022-04-27 3:26 ` AKASHI Takahiro
2022-04-28 4:52 ` AKASHI Takahiro
2022-04-28 6:45 ` Heinrich Schuchardt
2022-04-28 9:09 ` Mark Kettenis
2022-04-28 9:42 ` Heinrich Schuchardt
2022-04-28 10:11 ` Mark Kettenis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220426144418.GA62529@laputa \
--to=takahiro.akashi@linaro.org \
--cc=ilias.apalodimas@linaro.org \
--cc=masami.hiramatsu@linaro.org \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox