[U-Boot] [PATCH v3 11/18] efi_loader: make efi_disk_create_partitions a global symbol
Heinrich Schuchardt
xypron.glpk at gmx.de
Fri Feb 9 04:07:52 UTC 2018
On 02/09/2018 01:15 AM, Jonathan Gray wrote:
> On Fri, Jan 19, 2018 at 08:24:47PM +0100, Heinrich Schuchardt wrote:
>> Up to now we have been using efi_disk_create_partitions() to create
>> partitions for block devices that existed before starting an EFI
>> application.
>>
>> We need to call it for block devices created by EFI
>> applications at run time. The EFI application will define the
>> handle for the block device and install a device path protocol
>> on it. We have to use this device path as stem for the partition
>> device paths.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>> ---
>> v3
>> fix typos in comments
>> v2
>> no change
>
> breakage on mx6cuboxi with OpenBSD bootarm.efi, bisects to
>
> commit 64e4db0f119151a1345e1da19d152eda550394e7
> Author: Heinrich Schuchardt <xypron.glpk at gmx.de>
> AuthorDate: Fri Jan 19 20:24:47 2018 +0100
> Commit: Alexander Graf <agraf at suse.de>
> CommitDate: Mon Jan 22 23:09:14 2018 +0100
>
> efi_loader: make efi_disk_create_partitions a global symbol
>
> Up to now we have been using efi_disk_create_partitions() to create
> partitions for block devices that existed before starting an EFI
> application.
>
> We need to call it for block devices created by EFI
> applications at run time. The EFI application will define the
> handle for the block device and install a device path protocol
> on it. We have to use this device path as stem for the partition
> device paths.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> Signed-off-by: Alexander Graf <agraf at suse.de>
>
> with master as of e24bd1e79e223aa89854c0be95a53e2d538144a5
>
> U-Boot SPL 2018.03-rc1-00185-g1e19c70639 (Feb 09 2018 - 11:43:18 +1300)
> Trying to boot from MMC1
>
>
> U-Boot 2018.03-rc1-00185-g1e19c70639 (Feb 09 2018 - 11:43:18 +1300)
>
> CPU: Freescale i.MX6Q rev1.5 996 MHz (running at 792 MHz)
> CPU: Extended Commercial temperature grade (-20C to 105C) at 24C
> Reset cause: POR
> Board: MX6 Cubox-i
> DRAM: 2 GiB
> MMC: FSL_SDHC: 0
> Loading Environment from MMC... OK
> No panel detected: default to HDMI
> Display: HDMI (1024x768)
> In: serial
> Out: serial
> Err: serial
> Net: FEC
> Hit any key to stop autoboot: 0
> switch to partitions #0, OK
> mmc0 is current device
> Scanning mmc 0:1...
> 37503 bytes read in 17 ms (2.1 MiB/s)
> Found EFI removable media binary efi/boot/bootarm.efi
> Scanning disks on usb...
> 76528 bytes read in 31 ms (2.4 MiB/s)
> ## Starting EFI application at 12000000 ...
> BS->LocateHandle() returns -2147483634
-2147483634 == EFI_NOT_FOUND
Without debug output it is impossible to understand what is going wrong.
Please, insert
#define DEBUG 1
at the top of lib/efi_loader/efi_boottime.c
I assume you are again trying to boot OpenBSD.
Does this image reproduce the error:
https://ftp.eu.openbsd.org/pub/OpenBSD/6.2/armv7/miniroot-cubox-62.fs
Otherwise provide a disk image that can be used for testing.
I only have a Wandboard Quad. But that has the same i.MX6Q processor. So
once I know which image to use I could run a test.
Best regards
Heinrich
> undefined instruction
> pc : [<8e560348>] lr : [<8e56444c>]
> reloc pc : [<15de4348>] lr : [<15de844c>]
> sp : 8f57af10 ip : 8ffc2474 fp : 8f57af1c
> r10: 0000b000 r9 : 8f57bee0 r8 : 0000000b
> r7 : 8ffa1a9d r6 : 8ffa16ad r5 : 8e56f0d0 r4 : 8e56e88a
> r3 : 8e56dac8 r2 : 00000001 r1 : 00000000 r0 : 00000000
> Flags: nZCv IRQs off FIQs off Mode SVC_32
> Resetting CPU ...
>
> resetting ...
>
> (undefined instruction is used to reset as efi reset was not
> present in earlier U-Boot versions).
>
More information about the U-Boot
mailing list