Are there any instructions anywhere for booting Petalinux 2020.1 on a picozed from QSPI and kernel in on-board eMMC?
I've followed various older instructions for building an appropriate BOOT.BIN file and writing that to the QSPI Flash and copying the image.ub file to the onboard eMMC, but I still can't get petalinux to boot up.
When I power up with the switches set to boot from QSPI, the FPGA code apparently gets loaded OK, ,since the blue "FPGA DOne" LED comes on, but the next stages of booting fail.
First, U-Boot detects the QSPI flash, but then gives an error about "bad CRC;
U-Boot 2020.01 (Oct 30 2020 - 12:46:02 +0000)
CPU: Zynq 7z020
Silicon: v3.1
DRAM: ECC disabled 1 GiB
Flash: 0 Bytes
NAND: 0 MiB
MMC: mmc@e0100000: 0, mmc@e0101000: 1
Loading Environment from SPI Flash... SF: Detected n25q128a13 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
Continuing on, it gives several 'Wrong image format for for "source" command' errors.
In: serial@e0001000
Out: serial@e0001000
Err: serial@e0001000
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 0, interface rgmii-id
Warning: ethernet@e000b000 using MAC address from DT
eth0: ethernet@e000b000
Hit any key to stop autoboot: 0
SF: Detected n25q128a13 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0xfc0000, size 0x40000
SF: 262144 bytes @ 0xfc0000 Read: OK
## Executing script at 03000000
Wrong image format for "source" command
SCRIPT FAILED: continuing...
## Executing script at 03000000
Wrong image format for "source" command
SCRIPT FAILED: continuing...
MMC: no card present
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
SF: Detected n25q128a13 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0xfc0000, size 0x40000
SF: 262144 bytes @ 0xfc0000 Read: OK
## Executing script at 03000000
Wrong image format for "source" command
SCRIPT FAILED: continuing...
no devices available
SCRIPT FAILED: continuing...
## Executing script at 03000000
Wrong image format for "source" command
SCRIPT FAILED: continuing...
Still it continues, now trying to read an image via TFTP. Eventually it gives up, leaving me at the bootloader prompt:
Starting USB...
Bus usb@e0002000: USB EHCI 1.00
scanning bus usb@e0002000 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Device 0: unknown device
Device 1: unknown device
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
DHCP client bound to address 192.168.2.100 (1149 ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-00-0a-35-00-1e-53
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A80264
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A8026
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A802
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A80
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A8
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-zynq-zynq
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-zynq
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
*** ERROR: `serverip' not set
Config file not found
BOOTP broadcast 1
DHCP client bound to address 192.168.2.100 (480 ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.2.100 (609 ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET
Zynq>
It's unclear to me what else I need to do to get my picozed+FMC2 to boot from QSPI and find the kernel image on the onboard eMMC.