EFI from usb HDD

Michal Simek michal.simek at xilinx.com
Tue Aug 17 09:20:31 CEST 2021



On 8/12/21 11:43 AM, AKASHI Takahiro wrote:
> On Fri, Jul 30, 2021 at 08:22:18AM +0200, Michal Simek wrote:
>>
>>
>> On 7/30/21 7:33 AM, AKASHI Takahiro wrote:
>>> On Fri, Jul 30, 2021 at 06:41:01AM +0200, Michal Simek wrote:
>>>>
>>>>
>>>> On 7/30/21 4:35 AM, AKASHI Takahiro wrote:
>>>>> On Thu, Jul 29, 2021 at 04:09:32PM +0200, Michal Simek wrote:
>>>>>> Hi,
>>>>>>
>>>>>> On 6/10/21 2:59 PM, AKASHI Takahiro wrote:
>>>>>>> On Thu, Jun 10, 2021 at 02:31:46PM +0200, Michal Simek wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 6/10/21 12:51 PM, Heinrich Schuchardt wrote:
>>>>>>>>> On 6/10/21 12:04 PM, Michal Simek wrote:
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> On 6/10/21 11:47 AM, Heinrich Schuchardt wrote:
>>>>>>>>>>> On 6/10/21 10:44 AM, Michal Simek wrote:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> I am playing with booting from USB via EFI. And I see very weird
>>>>>>>>>>>> behavior. I have burnt image with grub to USB flashdisk and I have
>>>>>>>>>>>> tested it on 3 zynqmp boards. zcu102, zcu104 and SOM Kria board.
>>>>>>>>>>>> On zcu102 grub is going to boot menu and everything is working fine as
>>>>>>>>>>>> expected.
>>>>>>>>>>>> On zcu104 and SOM Kria I am able to get grub not to menu. When I list
>>>>>>>>>>>> partitions in grub I see that only SDs are listed:
>>>>>>>>>>>> grub> ls
>>>>>>>>>>>> (hd0) (hd0,msdos1) (hd1) (hd1,msdos1)
>>>>>>>>>>>
>>>>>>>>>>> Hello Michal,
>>>>>>>>>>>
>>>>>>>>>>> thanks for sharing your observations.
>>>>>>>>>>>
>>>>>>>>>>> What devices do hd0 and hd1 relate to?
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On zcu102(working board) I also see usb(gpt) partitions and SD.
>>>>>>>>>>>> grub> ls
>>>>>>>>>>>> (hd0) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,msdos1)
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> GPT and MBR partitioning are independent of the device type.
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On zcu104 I see one more error message
>>>>>>>>>>>> "PE image measurement failed"
>>>>>>>>>>>
>>>>>>>>>>> This is related to CONFIG_EFI_TCG2_PROTOCOL=y. Do you have a TPMv2? This
>>>>>>>>>>> will not stop disk enumeration.
>>>>>>>>>>>
>>>>>>>>>>>> But I can't see it on SOM.
>>>>>>>>>>>>
>>>>>>>>>>>> U-Boot image is just the same for all boards. I am using generic
>>>>>>>>>>>> xilinx_zynqmp_virt_defconfig.
>>>>>>>>>>>>
>>>>>>>>>>>> When I compare DT description for USB between zcu102 and zcu104 they
>>>>>>>>>>>> are
>>>>>>>>>>>> the same. SOM doesn't have usb enabled by default (but I enabled it)
>>>>>>>>>>>> but
>>>>>>>>>>>> grub starts which means that communication with USB is fine.
>>>>>>>>>>>>
>>>>>>>>>>>> It is based on my latest patches available here.
>>>>>>>>>>>> u-boot/custodians/u-boot-microblaze.git (usb-efi-issue branch)
>>>>>>>>>>>>
>>>>>>>>>>>> Also when I list usb I see all partitions just fine.
>>>>>>>>>>>> ZynqMP> part list usb 0
>>>>>>>>>>>>
>>>>>>>>>>>> Partition Map for USB device 0  --   Partition Type: EFI
>>>>>>>>>>>>
>>>>>>>>>>>> Part    Start LBA       End LBA         Name
>>>>>>>>>>>>           Attributes
>>>>>>>>>>>>           Type GUID
>>>>>>>>>>>>           Partition GUID
>>>>>>>>>>>>     1     0x00000800      0x001007fe      "Microsoft basic data"
>>>>>>>>>>>>           attrs:  0x0000000000000000
>>>>>>>>>>>>           type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>>>>>>>>>>>>           type:   data
>>>>>>>>>>>>           guid:   0e7f8b3d-296b-4720-be9d-c4687d3c4a77
>>>>>>>>>>>>     2     0x00100800      0x001197fe      "Microsoft basic data"
>>>>>>>>>>>>           attrs:  0x0000000000000000
>>>>>>>>>>>>           type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>>>>>>>>>>>>           type:   data
>>>>>>>>>>>>           guid:   8892eddc-231a-4e6e-a5e1-c310f4482fb7
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Do you have any idea why on one system is working fine to get to menu
>>>>>>>>>>>> and on others there is an issue to get all partitions even u-boot is
>>>>>>>>>>>> able to see them and can work with them.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Michal
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Where is the GRUB binary? - If it is in EFI/boot/bootaa64.efi, it could
>>>>>>>>>>> be that the USB sub-system is simply not initialized yet when the boot
>>>>>>>>>>> manager is called by distroboot.
>>>>>>>>>>>
>>>>>>>>>>> For testing partition detection in the UEFI sub-system it is enough
>>>>>>>>>>> to run
>>>>>>>>>>>
>>>>>>>>>>>      efidebug devices
>>>>>>>>>>>
>>>>>>>>>>> Until yesterday we had a problem with partition numbers >= 10, cf.
>>>>>>>>>>>
>>>>>>>>>>> efi_loader: partition numbers are hexadecimal
>>>>>>>>>>> https://source.denx.de/u-boot/u-boot/-/commit/3dca77b1dc1b6dbf9c8b51572fe4b0553cef009f
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Block devices are enumerated in efi_disk_register(). Please, try to add
>>>>>>>>>>> debug output there to elucidate the problem.
>>>>>>>>>>
>>>>>>>>>> I found where the problem is. First of all zcu102 didn't use the same
>>>>>>>>>> image as others (it wasn't updated properly).
>>>>>>>>>> When you have CONFIG_EFI_CAPSULE_ON_DISK_EARLY that efi_disk_register()
>>>>>>>>>> is called before usb block devices are detected and registered that's
>>>>>>>>>> why grub doesn't see them.
>>>>>>>>>
>>>>>>>>> The problem is CONFIG_EFI_SETUP_EARLY=y required by
>>>>>>>>> CONFIG_EFI_CAPSULE_ON_DISK_EARLY.
>>>>>>>>>
>>>>>>>>> Why is USB initialized later then MMC?
>>>>>>>>
>>>>>>>> It is not just usb. SCSI/sata are behaving in the same way too.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Overall we have a deficiency in the UEFI implementation in that we
>>>>>>>>> cannot deal with block devices added or removed after initialization.
>>>>>>>>>
>>>>>>>>> Here integration with the driver model is missing.
>>>>>>>>
>>>>>>>> Right. And also there are commands which can create MBR partitions and I
>>>>>>>> expect when you write image to SD and then run rescan or so you could
>>>>>>>> get other partitions too.
>>>>>>>> Maybe hook via part_init()? with removing efi_disk_register.
>>>>>>>
>>>>>>> For the record, I have proposed my ideas several times[1], [2].
>>>>>>> I'm, however, no longer working on this issue as I have shifted
>>>>>>> my focus to UEFI secure boot and capsule update.
>>>>>>>
>>>>>>> -Takahiro Akashi
>>>>>>>
>>>>>>> [1] https://lists.denx.de/pipermail/u-boot/2018-November/347491.html
>>>>>>> [2] https://lists.denx.de/pipermail/u-boot/2019-February/357923.html
>>>>>>
>>>>>> I want to continue on this thread. I have disabled
>>>>>> EFI_CAPSULE_ON_DISK_EARLY some time ago and trying to workaround that
>>>>>> usb/scsi detection by simply calling usb reset and scsi reset as the
>>>>>> part of PREBOOT. Then all disks are recorded and visible by grub.
>>>>>>
>>>>>> But I found another issue which is kind of weird. We are using
>>>>>> distroboot with soft of fixed sequence. Important part of sequence is
>>>>>> sd, usb, scsi.
>>>>>>
>>>>>> I have added grub on scsi and when I boot directly via run bootcmd_scsi0
>>>>>> everything is working fine. When I let distroboot to do the job it or
>>>>>> run printenv -e before bootcmd_scsi0 I am getting exception.
>>>>>> From debug it is visible that it is exception called from
>>>>>> efi_disk_read_blocks.
>>>>>>
>>>>>>     0  0x7ff5d188 hang()+20: include/bootstage.h, line 389
>>>>>>     1  0x7ff5f908 __assert_fail(): lib/panic.c, line 25
>>>>>>     2  0x7fe976a8 do_irq(): arch/arm/lib/interrupts_64.c, line 123
>>>>>>     3  0x7fe96a0c _restore_regs()+124: arch/arm/cpu/armv8/exceptions.S,
>>>>>> line 141
>>>>>>     4  0x7ff43740 efi_disk_read_blocks()+160: lib/efi_loader/efi_disk.c,
>>>>>> line 102
>>>>>
>>>>> How and when did you get this stack trace?
>>>>
>>>> When Abort happened I connected Xilinx debugger via jtag and look at cpu
>>>> backtrace.
>>>
>>> OK, but we are already in grub here and such a trace (in U-Boot)
>>> doesn't make sense. Right?
>>
>> Correct grub already started. But I expect it is still using U-Boot
>> drivers and all exception handlers are still in place from u-boot.
> 
> Yeah, but what I didn't understand was:
> 
> !"Synchronous Abort" handler, esr 0x02000000
> !elr: ffffffffa816c5b0 lr : 000000000805e218 (reloc)
> !elr: 00000000200005b0 lr : 000000007fef2218
> (snip)
> !Code: 000165fa 0b2d05de 0000ffff 00000000 (20000590)
> !UEFI image [0x0000000077d48000:0x0000000077de5fff] '/efi\boot\bootaa64.efi'
> 
> "Code:" at the exception doesn't seem to be sane assembler, and
> "elr" is not within the code of neither U-Boot nor shim/grub(bootaa64.efi).
> ("esr" doesn't tell us anything.)
> So I wondered where the backtrace came from.
> 
> BTW, can you please confirm which function sits at the address of
> "lr" (=0x7fe2218)?

I don't have that images anymore.

> 
>> Maybe it is just sata/scsi related issue in EFI but weird is that when
>> disks are scan just before command everything is working fine.
> 
> What do you mean by "when disks are scanned just before the command"?
> The case when you ran "run bootcmd_scsi" without "printenv -e"?
> 
> Do you reproduce the problem even if you revert the patch,
> "xilinx: zynqmp: Initialize usb and scsi via preboot", and
> run the commands, "run scsi_init; [printenv -e;] run bootcmd_scsi?
> 
> Can you also try other EFI commands, like "efidebug devices"?

I found that there is a difference if you run scsi reset or run
scsi_init. When scsi_init is used I can't see any issue.

Variable looks like this
scsi_init=if ${scsi_need_init}; then scsi_need_init=false; scsi scan; fi

And when you run scsi scan (last log) you see that problem again. It
means when scsi reset/scan is called twice issue is observed. In all
cases efidebug devices are showing disk properly.

Thanks,
Michal

U-Boot SPL 2021.10-rc1-00278-gf17a954b24ad (Aug 17 2021 - 09:14:08 +0200)
PMUFW:  v1.1
Loading new PMUFW cfg obj (2024 bytes)
Silicon version:        3
EL Level:       EL3
Chip ID:        zu9eg
Multiboot:      0
Trying to boot from MMC2
spl: could not initialize mmc. error: -19
Trying to boot from MMC1
spl_load_image_fat_os: error reading image u-boot.bin, err - -2
NOTICE:  BL31: Secure code at 0x7e000000
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v2.4(release):v2.4-592-gb5a757e853be
NOTICE:  BL31: Built : 07:08:43, Aug 12 2021


U-Boot 2021.10-rc1-00278-gf17a954b24ad (Aug 17 2021 - 09:14:08 +0200)

CPU:   ZynqMP
Silicon: v3
Model: ZynqMP ZCU102 Rev1.0
Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:  v1.1
Xilinx I2C Legacy format at nvmem0:
 Board name:    zcu102
 Board rev:     1.0
 Board SN:      847316301727-67998
 Ethernet mac:  00:0a:35:03:70:f6
EL Level:       EL2
Chip ID:        zu9eg
WDT:   Not found!
NAND:  0 MiB
MMC:   mmc at ff170000: 0
Loading Environment from FAT... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment

In:    serial
Out:   serial
Err:   serial
Bootmode: LVL_SHFT_SD_MODE1
Reset reason:   SRST
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
eth0: ethernet at ff0e0000
starting USB...
Bus dwc3 at fe200000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus dwc3 at fe200000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
ZynqMP>
ZynqMP>
ZynqMP> scsi reset

Reset SCSI
scanning bus for devices...
SATA link 0 timeout.
Target spinup took 0 ms.
AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
flags: 64bit ncq pm clo only pmp fbss pio slum part ccc apst
  Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)
ZynqMP> efidebug devices
Scanning disk mmc at ff170000.blk...
Scanning disk ahci_scsi.id1lun0...
Found 5 disks
** Unable to read file ubootefi.var **
Failed to load EFI variables
Unable to find TPMv2 device
DFU alt info setting: done
Device           Device Path
================ ====================
000000007be20810 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)
000000007be25800 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)
000000007be259d0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x2000,0x1cd2000)
000000007be25e30 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)
000000007be350d0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)/HD(1,GPT,85b731b6-a4b2-47f4-b1c6-aef6e0f2ce81,0x800,0xfffff)
000000007be35520
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)/HD(2,GPT,ac600dc7-3160-4f3c-a824-496d00e3d007,0x100800,0x18fff)
000000007be26210
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/MAC(000a350370f6,1)
ZynqMP> boot
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
JTAG: Trying to boot script at 20000000
## Executing script at 20000000
Wrong image format for "source" command
JTAG: SCRIPT FAILED: continuing...
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
MMC Device 1 not found
no mmc device at slot 1
SF: Detected n25q512a with page size 256 Bytes, erase size 64 KiB, total
64 MiB
device 0 offset 0x3e80000, size 0x80000
SF: 524288 bytes @ 0x3e80000 Read: OK
QSPI: Trying to boot script at 20000000
## Executing script at 20000000
Wrong image format for "source" command
QSPI: SCRIPT FAILED: continuing...


no devices available
NAND: SCRIPT FAILED: continuing...

Device 0: unknown device

Device 1: unknown device
scanning bus for devices...
  Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)

Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)
... is now current device
Scanning scsi 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootaa64.efi
647168 bytes read in 15 ms (41.1 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Booting /efi\boot\bootaa64.efi
PE image measurement failed
Welcome to GRUB!

"Synchronous Abort" handler, esr 0x02000000
elr: ffffffffa816d690 lr : 000000000805f08c (reloc)
elr: 0000000020000690 lr : 000000007fef208c
x0 : 0000000000000020 x1 : 0000000000000000
x2 : 00000000000003e0 x3 : 0000000077c88400
x4 : 0000000020000690 x5 : 000000007be178f0
x6 : 000000007ffa5038 x7 : 000000007ffa5038
x8 : 0000000000000006 x9 : fffffffffffffff0
x10: 000000007473696c x11: 000000007be178f0
x12: 00000000000003e0 x13: 0000000000000200
x14: 000000007fe94208 x15: 0000000000000000
x16: 000000007fecdcbc x17: 0000000000000000
x18: 000000007be12da0 x19: 000000007be253e0
x20: 0000000000000020 x21: 00000000000003e0
x22: 0000000000000000 x23: 0000000077c88400
x24: 0000000000000000 x25: 0000000000000100
x26: 000000000000000f x27: 00000000000001ff
x28: 000000007be4bed0 x29: 000000007be04920

Code: ffffffff ffffffff ffffffff ffffffff (ffffffff)
UEFI image [0x0000000077d46000:0x0000000077de3fff] '/efi\boot\bootaa64.efi'
Resetting CPU ...

### ERROR ### Please RESET the board ###

U-Boot SPL 2021.10-rc1-00278-gf17a954b24ad (Aug 17 2021 - 09:14:08 +0200)
PMUFW:  v1.1
Loading new PMUFW cfg obj (2024 bytes)
Silicon version:        3
EL Level:       EL3
Chip ID:        zu9eg
Multiboot:      0
Trying to boot from MMC2
spl: could not initialize mmc. error: -19
Trying to boot from MMC1
spl_load_image_fat_os: error reading image u-boot.bin, err - -2
NOTICE:  BL31: Secure code at 0x7e000000
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v2.4(release):v2.4-592-gb5a757e853be
NOTICE:  BL31: Built : 07:08:43, Aug 12 2021


U-Boot 2021.10-rc1-00278-gf17a954b24ad (Aug 17 2021 - 09:14:08 +0200)

CPU:   ZynqMP
Silicon: v3
Model: ZynqMP ZCU102 Rev1.0
Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:  v1.1
Xilinx I2C Legacy format at nvmem0:
 Board name:    zcu102
 Board rev:     1.0
 Board SN:      847316301727-67998
 Ethernet mac:  00:0a:35:03:70:f6
EL Level:       EL2
Chip ID:        zu9eg
WDT:   Not found!
NAND:  0 MiB
MMC:   mmc at ff170000: 0
Loading Environment from FAT... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment

In:    serial
Out:   serial
Err:   serial
Bootmode: LVL_SHFT_SD_MODE1
Reset reason:   SRST
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
eth0: ethernet at ff0e0000
starting USB...
Bus dwc3 at fe200000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus dwc3 at fe200000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
ZynqMP>
ZynqMP>
ZynqMP> run scsi_init
scanning bus for devices...
SATA link 0 timeout.
Target spinup took 0 ms.
AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
flags: 64bit ncq pm clo only pmp fbss pio slum part ccc apst
  Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)
ZynqMP> efidebug devices
Scanning disk mmc at ff170000.blk...
Scanning disk ahci_scsi.id1lun0...
Found 5 disks
** Unable to read file ubootefi.var **
Failed to load EFI variables
Unable to find TPMv2 device
DFU alt info setting: done
Device           Device Path
================ ====================
000000007be20790 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)
000000007be257e0 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)
000000007be259b0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x2000,0x1cd2000)
000000007be25e10 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)
000000007be350d0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)/HD(1,GPT,85b731b6-a4b2-47f4-b1c6-aef6e0f2ce81,0x800,0xfffff)
000000007be354f0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)/HD(2,GPT,ac600dc7-3160-4f3c-a824-496d00e3d007,0x100800,0x18fff)
000000007be261f0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/MAC(000a350370f6,1)
ZynqMP> boot
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
JTAG: Trying to boot script at 20000000
## Executing script at 20000000
Wrong image format for "source" command
JTAG: SCRIPT FAILED: continuing...
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
MMC Device 1 not found
no mmc device at slot 1
SF: Detected n25q512a with page size 256 Bytes, erase size 64 KiB, total
64 MiB
device 0 offset 0x3e80000, size 0x80000
SF: 524288 bytes @ 0x3e80000 Read: OK
QSPI: Trying to boot script at 20000000
## Executing script at 20000000
Wrong image format for "source" command
QSPI: SCRIPT FAILED: continuing...


no devices available
NAND: SCRIPT FAILED: continuing...

Device 0: unknown device

Device 1: unknown device

Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)
... is now current device
Scanning scsi 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootaa64.efi
647168 bytes read in 15 ms (41.1 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Booting /efi\boot\bootaa64.efi
PE image measurement failed
Welcome to GRUB!



                                               GNU GRUB  version 2.11

 ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │*Linux BusyBox
                                           │


U-Boot SPL 2021.10-rc1-00278-gf17a954b24ad (Aug 17 2021 - 09:14:08 +0200)
PMUFW:  v1.1
Loading new PMUFW cfg obj (2024 bytes)
Silicon version:        3
EL Level:       EL3
Chip ID:        zu9eg
Multiboot:      0
Trying to boot from MMC2
spl: could not initialize mmc. error: -19
Trying to boot from MMC1
spl_load_image_fat_os: error reading image u-boot.bin, err - -2
NOTICE:  BL31: Secure code at 0x7e000000
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v2.4(release):v2.4-592-gb5a757e853be
NOTICE:  BL31: Built : 07:08:43, Aug 12 2021


U-Boot 2021.10-rc1-00278-gf17a954b24ad (Aug 17 2021 - 09:14:08 +0200)

CPU:   ZynqMP
Silicon: v3
Model: ZynqMP ZCU102 Rev1.0
Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:  v1.1
Xilinx I2C Legacy format at nvmem0:
 Board name:    zcu102
 Board rev:     1.0
 Board SN:      847316301727-67998
 Ethernet mac:  00:0a:35:03:70:f6
EL Level:       EL2
Chip ID:        zu9eg
WDT:   Not found!
NAND:  0 MiB
MMC:   mmc at ff170000: 0
Loading Environment from FAT... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment

In:    serial
Out:   serial
Err:   serial
Bootmode: LVL_SHFT_SD_MODE1
Reset reason:   SRST
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
eth0: ethernet at ff0e0000
starting USB...
Bus dwc3 at fe200000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus dwc3 at fe200000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
ZynqMP>
ZynqMP>
ZynqMP> scsi scan
scanning bus for devices...
SATA link 0 timeout.
Target spinup took 0 ms.
AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
flags: 64bit ncq pm clo only pmp fbss pio slum part ccc apst
  Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)
ZynqMP> efidebug devices
Scanning disk mmc at ff170000.blk...
Scanning disk ahci_scsi.id1lun0...
Found 5 disks
** Unable to read file ubootefi.var **
Failed to load EFI variables
Unable to find TPMv2 device
DFU alt info setting: done
Device           Device Path
================ ====================
000000007be20810 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)
000000007be25800 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)
000000007be259d0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x2000,0x1cd2000)
000000007be25e30 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)
000000007be350d0
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)/HD(1,GPT,85b731b6-a4b2-47f4-b1c6-aef6e0f2ce81,0x800,0xfffff)
000000007be35520
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(1,0)/HD(2,GPT,ac600dc7-3160-4f3c-a824-496d00e3d007,0x100800,0x18fff)
000000007be26210
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/MAC(000a350370f6,1)
ZynqMP> boot
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
JTAG: Trying to boot script at 20000000
## Executing script at 20000000
Wrong image format for "source" command
JTAG: SCRIPT FAILED: continuing...
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
MMC Device 1 not found
no mmc device at slot 1
SF: Detected n25q512a with page size 256 Bytes, erase size 64 KiB, total
64 MiB
device 0 offset 0x3e80000, size 0x80000
SF: 524288 bytes @ 0x3e80000 Read: OK
QSPI: Trying to boot script at 20000000
## Executing script at 20000000
Wrong image format for "source" command
QSPI: SCRIPT FAILED: continuing...


no devices available
NAND: SCRIPT FAILED: continuing...

Device 0: unknown device

Device 1: unknown device
scanning bus for devices...
  Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)

Device 0: (1:0) Vendor: ATA Prod.: Maxtor 7V300F0 Rev: VA11
            Type: Hard Disk
            Capacity: 286188.8 MB = 279.4 GB (586114704 x 512)
... is now current device
Scanning scsi 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootaa64.efi
647168 bytes read in 14 ms (44.1 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Booting /efi\boot\bootaa64.efi
PE image measurement failed
Welcome to GRUB!

"Synchronous Abort" handler, esr 0x02000000
elr: ffffffffa816d690 lr : 000000000805f08c (reloc)
elr: 0000000020000690 lr : 000000007fef208c
x0 : 0000000000000020 x1 : 0000000000000000
x2 : 00000000000003e0 x3 : 0000000077c88400
x4 : 0000000020000690 x5 : 000000007be178f0
x6 : 000000007ffa5038 x7 : 000000007ffa5038
x8 : 0000000000000006 x9 : fffffffffffffff0
x10: 000000007473696c x11: 000000007be178f0
x12: 00000000000003e0 x13: 0000000000000200
x14: 000000007fe94208 x15: 0000000000000000
x16: 000000007fecdcbc x17: 0000000000000000
x18: 000000007be12da0 x19: 000000007be253e0
x20: 0000000000000020 x21: 00000000000003e0
x22: 0000000000000000 x23: 0000000077c88400
x24: 0000000000000000 x25: 0000000000000100
x26: 000000000000000f x27: 00000000000001ff
x28: 000000007be4bed0 x29: 000000007be04920

Code: ffffffff ffffffff ffffffff ffffffff (ffffffff)
UEFI image [0x0000000077d46000:0x0000000077de3fff] '/efi\boot\bootaa64.efi'
Resetting CPU ...

### ERROR ### Please RESET the board ###



More information about the U-Boot mailing list