U-Boot 2020.07 seems confused by valid GPT partition tables
Dennis Clarke
dclarke at blastwave.org
Wed Nov 4 17:19:47 CET 2020
I am trying to boot a reasonable qemu instance that was running for
about a dozen hours. I have four qemu raw disk images which have
valid GPT partition labels and filesystem regions therein thus :
deimos_rv64gc$ ls -lap
total 18886740
drwxr-xr-x 7 riscv riscv 4096 Nov 3 20:40 ./
drwxr-xr-x 7 root root 4096 Nov 2 16:04 ../
-rw------- 1 riscv riscv 150 Jan 8 2020 .Xauthority
-rw------- 1 riscv riscv 14399 Nov 2 19:52 .bash_history
-rw-r--r-- 1 riscv riscv 220 Apr 18 2019 .bash_logout
-rw-r--r-- 1 riscv riscv 3984 Aug 28 2019 .bashrc
drwx------ 3 riscv riscv 4096 Oct 14 2019 .config/
drwx------ 3 riscv riscv 4096 Aug 28 2019 .gnupg/
drwx------ 2 riscv riscv 4096 Nov 2 17:18 .irssi/
-rw-r--r-- 1 riscv riscv 807 Aug 28 2019 .profile
drwxr-xr-x 2 riscv riscv 4096 Nov 2 19:14 .ssh/
-rw------- 1 riscv riscv 10986 Nov 3 20:09 .viminfo
-rw-r--r-- 1 riscv riscv 265 Nov 18 2019 .vimrc
-rw-r--r-- 1 riscv riscv 5402802688 Nov 4 12:40
FreeBSD-13.0-CURRENT-riscv-riscv64.raw
-rw-r--r-- 1 riscv riscv 577 Jan 26 2020 freebsd_email_config
-rw-r--r-- 1 riscv riscv 34359738368 Nov 4 12:40 freebsd_zpool_1.raw
-rw-r--r-- 1 riscv riscv 34359738368 Nov 4 12:40 freebsd_zpool_2.raw
-rw-r--r-- 1 riscv riscv 34359738368 Nov 4 12:40 freebsd_zpool_3.raw
-rw-r--r-- 1 riscv riscv 34359738368 Nov 3 20:13 freebsd_zpool_4.raw
-rw-r--r-- 1 riscv riscv 40 Dec 19 2019 pi.dat
drwxr-xr-x 6 riscv riscv 4096 Nov 27 2019 qemu/
-rw-r--r-- 1 riscv riscv 22946 Nov 3 20:40 readme.mhorne
-rwxr-xr-x 1 riscv riscv 1039 Nov 3 19:44 rv64imafdc.sh
-rw-r--r-- 1 riscv riscv 921 Nov 19 2019 t132s
-rw-r--r-- 1 riscv riscv 551064 Nov 3 17:26 u-boot-qemu-riscv64.bin
deimos_rv64gc$
deimos_rv64gc$ fdisk FreeBSD-13.0-CURRENT-riscv-riscv64.raw
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk FreeBSD-13.0-CURRENT-riscv-riscv64.raw: 5 GiB, 5402802688 bytes,
10552349 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9E0C31F4-163C-11EB-BC34-94C6911BAC8D
Device Start End Sectors Size Type
FreeBSD-13.0-CURRENT-riscv-riscv64.raw1 3 66586 66584 32.5M
EFI System
FreeBSD-13.0-CURRENT-riscv-riscv64.raw2 66587 2163738 2097152 1G
FreeBSD swap
FreeBSD-13.0-CURRENT-riscv-riscv64.raw3 2163739 10552346 8388608 4G
FreeBSD UFS
Command (m for help): q
deimos_rv64gc$ fdisk freebsd_zpool_1.raw
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk freebsd_zpool_1.raw: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BB2C71A1-1E10-11EB-A047-D56582AA2475
Device Start End Sectors Size Type
freebsd_zpool_1.raw1 2048 67106815 67104768 32G FreeBSD ZFS
Command (m for help): q
deimos_rv64gc$ fdisk freebsd_zpool_2.raw
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk freebsd_zpool_2.raw: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BCB44094-1E10-11EB-A047-D56582AA2475
Device Start End Sectors Size Type
freebsd_zpool_2.raw1 2048 67106815 67104768 32G FreeBSD ZFS
Command (m for help): q
deimos_rv64gc$ fdisk freebsd_zpool_2.raw
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk freebsd_zpool_2.raw: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BCB44094-1E10-11EB-A047-D56582AA2475
Device Start End Sectors Size Type
freebsd_zpool_2.raw1 2048 67106815 67104768 32G FreeBSD ZFS
Command (m for help): q
deimos_rv64gc$ fdisk freebsd_zpool_3.raw
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk freebsd_zpool_3.raw: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BD69AAB4-1E10-11EB-A047-D56582AA2475
Device Start End Sectors Size Type
freebsd_zpool_3.raw1 2048 67106815 67104768 32G FreeBSD ZFS
Command (m for help): q
deimos_rv64gc$ fdisk freebsd_zpool_4.raw
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk freebsd_zpool_4.raw: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BE1134F9-1E10-11EB-A047-D56582AA2475
Device Start End Sectors Size Type
freebsd_zpool_4.raw1 2048 67106815 67104768 32G FreeBSD ZFS
Command (m for help): q
deimos_rv64gc$
However u-boot blows up with a complaint about the filesystem type ??
deimos_rv64gc$
deimos_rv64gc$ ./rv64imafdc.sh
OpenSBI v0.8
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : riscv-virtio,qemu
Platform Features : timer,mfdeleg
Platform HART Count : 2
Boot HART ID : 0
Boot HART ISA : rv64imafdcsu
BOOT HART Features : pmp,scounteren,mcounteren,time
BOOT HART PMP Count : 16
Firmware Base : 0x80000000
Firmware Size : 100 KB
Runtime SBI Version : 0.2
MIDELEG : 0x0000000000000222
MEDELEG : 0x000000000000b109
PMP0 : 0x0000000080000000-0x000000008001ffff (A)
PMP1 : 0x0000000000000000-0xffffffffffffffff (A,R,W,X)
U-Boot 2020.07 (Oct 25 2020 - 12:59:03 +0000)
CPU: rv64imafdcsu
Model: riscv-virtio,qemu
DRAM: 8 GiB
In: uart at 10000000
Out: uart at 10000000
Err: uart at 10000000
Net:
Warning: virtio-net#6 using MAC address from ROM
eth0: virtio-net#6
Hit any key to stop autoboot: 0
Device 0: QEMU VirtIO Block Device
Type: Hard Disk
Capacity: 5152.5 MB = 5.0 GB (10552349 x 512)
... is now current device
Scanning virtio 0:1...
** Unable to read file / **
Found EFI removable media binary efi/boot/bootriscv64.efi
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk virtio-blk#1...
** Unrecognized filesystem type **
** Unrecognized filesystem type **
Scanning disk virtio-blk#2...
Unhandled exception: Store/AMO access fault
EPC: 00000000fff6f9fa TVAL: 0000000000000018
### ERROR ### Please RESET the board ###
qemu-system-riscv64: terminating on signal 1 from pid 9968 (-bash)
deimos_rv64gc$
deimos_rv64gc$
Is there an update to u-boot that recognizes the valid GPT partition
labels ?
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional
More information about the U-Boot
mailing list