All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de
Subject: Load Debian/Fedora via EFI
Date: Thu, 5 Dec 2019 11:21:11 +0100	[thread overview]
Message-ID: <CAHTX3dKMMEOAU8O1ek6FGq8A0vMJmW18V8bu2uvDdJ-zmNUePA@mail.gmail.com> (raw)
In-Reply-To: <36a11c22-e930-a409-fed5-abaa2b1bacc5@gmx.de>

út 3. 12. 2019 v 20:56 odesílatel Heinrich Schuchardt
<xypron.glpk@gmx.de> napsal:
>
> On 12/2/19 3:21 PM, Michal Simek wrote:
> > On 29. 11. 19 19:23, Heinrich Schuchardt wrote:
> >> On 11/29/19 11:16 AM, Michal Simek wrote:
> >>> Hi,
> >>>
> >>> I tried to boot latest debian and fedora rootfs via distro boot and
> >>> getting errors.
> >>> I have tried to run just one command and it is failing.
> >>>
> >>> ZynqMP> bootefi bootmgr ${fdtcontroladdr}
> >>> BootOrder not defined
> >>> EFI boot manager: Cannot load any image
> >>>
> >>> How to define BootOrder?
> >>>
> >>> Thanks,
> >>> Michal
> >>
> >> # Booting via boot manager
> >>
> >> U-Boot currently has no runtime support for variables. But Linaro is
> >> working on it. So update-grub cannot set the variables for you.
> >
> > Who from Linaro is working on it? Akashi?
>
> I was in contact with Ilias Apalodimas but do not know who is doing the
> actual work.
>
> See https://youtu.be/SEMJGOzjrHY @ 14:00
>
> >
> >>
> >> You can use the efidebug command to prepare for booting via the boot
> >> manager:
> >>
> >> => efidebug boot add 0001 Debian mmc 0:1 \
> >>    efi/debian/grubarm.efi console=${console}
> >>
> >> There seems to be a bug with communication lines in U-Boot. So you
> >> actually have to put this into a single line.
> >>
> >> => efidebug boot order 0001
> >>
> >> Use saveenv if you want to save the settings.
> >>
> >> If you do not want to use the internal device tree load the proper
> >> device tree, e.g.
> >>
> >> => load mmc 0:2 $fdt_addr_r dtb
> >>
> >> Now you are ready to boot via the boot manager:
> >>
> >> => bootefi bootmgr $fdt_addr_r
> >>
> >> # Booting via distro defaults
> >>
> >> DISTRO_DEFAULTS tries to load the devicetree from ${fdtfile} and the
> >> UEFI binary from efi/boot/bootaa64.efi on ARM64. See
> >> ./include/config_distro_bootcmd.h.
> >>
> >> OpenBSD and FreeBSD follow the distro boot convention, Debian GRUB does
> >> not.
> >
> > Fedora is the same case.
> > I got it working based on your guidance but would be IMHO better to
> > extend distroboot to cover one of the major distribution even through
> > workaround till variable support is done.
>
> I don't like the idea of distribution specific stuff getting into U-Boot.
>
> We would end up with a plethora of possible UEFI binaries to search for:
> shim, GRUB, iPXE, any Linux kernel. All of these are binaries could be
> used for booting Fedora, Debian, or any other Linux distribution via
> bootefi. And which one should we take if there is more than one of these?
>
> I especially dislike any claim that one distribution is "major" and
> another is not. Should we kick out CentOS and Fedora because they are
> less popular than Ubuntu and Android?
>
> So let's leave it to the distribution to create boot.scr or provide a
> binary following the naming convention given in the UEFI specification
> (chapter 3.5.1.1 Removable Media Boot Behavior).

ok understand.

>
> >
> >>
> >> # Booting via boot script.
> >>
> >> On Debian I use package flash-kernel to keep /boot/dtb in sync with the
> >> kernel and have a u-boot.scr.uimg script with something like the
> >> following lines:
> >>
> >> setenv bootargs console=${console}
> >> load mmc 2:1 ${kernel_addr_r} EFI/debian/grubarm.efi
> >> load mmc 2:2 ${fdt_addr_r} dtb
> >> bootefi ${kernel_addr_r} ${fdt_addr_r}
> >
> >
> > flash-kernel is interesting. It generates u-boot script but if extX
> > partition has no bootable flag u-boot distroboot ignores it completely.
> > What's your default partition setup?
>
> I have separate partitions:
>
> /boot of type 83 (Linux, ext2) and marked as bootable and with boot.scr
> on it.
> /boot/efi of type ef (EFI, vfat) and not marked as bootable
>
> The sequence on the block device does not matter.
>
> When booting via iSCSI with iPXE I put boot.scr and snp.efi on an EFI
> partition marked as bootable.

That means that you had done that changes by hand.

Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs

  parent reply	other threads:[~2019-12-05 10:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-29 10:16 [U-Boot] Load Debian/Fedora via EFI Michal Simek
2019-11-29 18:23 ` Heinrich Schuchardt
2019-12-02 14:21   ` Michal Simek
2019-12-03 19:51     ` Heinrich Schuchardt
2019-12-04  3:07       ` Ilias Apalodimas
2019-12-05 10:21       ` Michal Simek [this message]
2019-12-05 11:52         ` Heinrich Schuchardt
2019-12-05 14:37       ` Tom Rini

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=CAHTX3dKMMEOAU8O1ek6FGq8A0vMJmW18V8bu2uvDdJ-zmNUePA@mail.gmail.com \
    --to=monstr@monstr.eu \
    --cc=u-boot@lists.denx.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.