Using cheribsd-memstick-arm64-aarch64c-22.05.img on a USB drive (ext4)
Boot refuses to accept
Ignoring Boot0002: Only one DP found
Failed to find bootable partition
ERROR: cannot open /boot/lua/loader.lua: invalid argument.
The boot problem is not always reproducible , I also see this message
XhcCheckUrbResult: STALL_ERROR! Completecode = 6
XhcControlTransfer: error - Device Error, transfer - 2
Press ESCAPE for boot options ...........[Bds]Booting UEFI Misc Device
[Bds]Booting UEFI WDC WDS240G2G0A-00JH30 214607A013F3
[Bds]Booting UEFI Non-Block Boot Device 2
[Bds]Booting UEFI PXEv4 (MAC:0002F7009763)
[HiiDatabase]: Memory allocation is required after ReadyToBoot, which may change memory map and cause S4 resume issue.
>>Start PXE over IPv4PXE: Failed to read system GUID from the smbios table!
I don't recognize these errors so I suggest going back to basics. A few points:
- Have you updated the firmware? The factory firmware is not usable.
- Can you try writing the image to another USB stick? We've seen people's problems fixed by switching USB sticks.
- Sometimes the system gets into a confused state and requires a full reset. It's worth trying unplugging the power, waiting a few minutes, and then plugging it back it.
- When you say "The boot problem is not always reproducible" do you mean you sometimes boot successfully or sometimes it doesn't even try?
The firmware is updated, was Firmware v2.2.2, now v2.3.0 (Apr 19 2022). Same trouble on 4 USB sticks, power off at wall socket, reboot .
The drive has had the boot image written to, seems OK
:~/Projects/cheriBSD$ sudo dd if=cheribsd-memstick-arm64-aarch64c-22.05.img of=/dev/sdb1 conv=fsync bs=1M
and appears in the boot menu following a reboot command issued over the terminal ttyUSB0. The board has previously ended in a state reporting faulty SATA driver, but otherwise only gets back to the boot menu, and never successfully boots
I believe of=/dev/sdb1 in your dd command means you're writing to the first partition of /dev/sdb. You need to write to the whole disk. It's interesting (and confusing) that the firmware manages to find the loader.
of=/dev/sdb1
dd
/dev/sdb
Thank you! That made the firmware accept the USB flash and got further to install BSD. It becomes stuck shortly after reboot, something missing from the installation.
Reboot after running any OS that makes significant use of pure capability code (e.g., CheriBSD) is known to be broken due to a firmware bug. For now, wait for the system to shut down and then reboot using the MCC console. A new firmware with this fixed is expected later this year and we are working on a patch release which works around the issue (at the cost of requiring a reinstall.)
I rebooted several times, also with power off for a few minutes, and get to the same message as above.
Messages "cant find /etc/hostid" and "no device tree blob found" suggests installation was not successful?
Perhaps a reinstall is needed. Boot to BSD stopped earlier with this message below too:
After not only rebooting Morello multiple times, with power socket off, but also the host computer, the boot finally proceeded all the way to CheriBSD. No reinstall required, just multiple reboots. Subsequent reboots get it to CheriBSD each time, so seems to be OK now.