[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