Solved 10.1 RELEASE amd64 UEFI memstick boot crashes

I bought an Xi3 Z3RO Pro which comes with openSUSE 12.3 but I want to install FreeBSD of course.

The hardware runs American Megatrends BIOS 4.6.4.0 UEFI 2.1 Proteus 1.02 x64 2/4/2014 14:30:00 on dual AMD G-t56N 1.65 GHz CPUs and ATI Technologies AMD Radeon HD6320 Graphics. I have disabled quiet boot and can't find any fast boot BIOS option to disable. If there's a legacy / BIOS boot option I don't know how to identify it. I think I'm constrained to use UEFI and I'm delighted to be able to expect FreeBSD to support UEFI boot, but my searches don't turn up much discussion on FreeBSD UEFI booting.

My 1 GB USB stick is recognised as bootable in the BIOS but the boot stops with the following text on screen and needs to be switched off at the wall to recover:
Code:
. . .
FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014 root@releng1.nyi.freebsd.org: /usr/obj/usr/src/sys/GENERIC amd 64
FreeBSD clang version 3.4.1 (tags/RELEASE-34/dot1-final 208032) 20140512
VT: running with driver "efifb"
. . .
ACPI BIOS Warning (bug): Optional FADT field Pm2ControlBlock has zero address or length: 0x0000000000000000/0x1 (20130823/tbfadt-630)
ioapic0 <Version 2.17> irqs 0-23 on motherboard
kbd0 at kbdmux0
random: <Software, Yarrow> initialized
module_register_init: MOD_LOAD (vesa: 0xffffffff80d942e0, 0) error 19
acpi0: <Xi3> on motherboard
Can anyone suggest if I need to upgrade the BIOS, change some BIOS settings or make my own memstick.img, and if so: what / how?

I get the same results using either of these two commands (and slight variations) to image the USB stick: dd if=FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img of=/dev/sdb bs=64K; sync or dd if=FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img of=/dev/sdb1 bs=64K conv=fsync; sync (I don't fully understand the difference between /dev/sdb and /dev/sdb1) I have also double-checked the image by copying it back off the USB and using diff against the original file and by using sha256sum -c against the checksum. I've also tried re-formatting the stick with DOS FAT32 and using dd if=/dev/zero to fill the stick before imaging. Interestingly I did find the image sometimes seems to change after a boot attempt and needs to be re-applied!

I don't know if the following helps:
Code:
# file -s /dev/sdb1
/dev/sdb1: x86 boot sector; partition 1: ID=0xee, starthead 0, startsector 1, 1434085 sectors, code offset 0x31
# file -s /dev/sdb
/dev/sdb: x86 boot sector; partition 1: ID=0xb, starthead 254, startsector 2, 1966078 sectors, extended partition table (last)\011, code offset 0x0

Thanks!
 
The memory stick image is meant to be written to a bare drive. For Linux, that would be /dev/sda or /dev/sdb. The 1 in /dev/sdb1 refers to the first partition on that drive rather than the whole drive. The write will succeed, but the image will be offset and the boot blocks will not be written in the correct place.

There appears to be no standardization for UEFI setup screens or even terminology. There is "legacy BIOS boot", there is "CSM" (Compatibility Support Module), some have support for trying BIOS booting and then UEFI, some only one or the other. Start by making sure SecureBoot is disabled. After that, other menu options might appear that are not supported when SecureBoot is on.
 
Thanks wblock@ I'm posting your reply from Thread 277661 here as well for completeness.
Anil-G, yours looks like an error with the vesa driver and UEFI. If that machine will only be used with FreeBSD, the plain non-UEFI installer is much more tested. Set the UEFI options to boot from legacy BIOS first (or only).

I'm going to try to find a legacy BIOS boot option in my BIOS settings and I'll stick to /dev/sdb rather than /dev/sdb1. Now that I re-read the appropriate handbook page it also says the same thing.
 
I've discovered there is a legacy BIOS boot option hidden a sub-section labeled Hard Drive BBS Priorities.

The existing SSD / hard drive, the EFI shell, and UEFI memstick images were listing under the Boot Option Priorities on the Boot tab of the BIOS management screens, so it looked like the non-UEFI memstick image was not being recognised because it didn't list along with the others.

There was also a list of one-time boot options available on the Save & Exit tab as Boot Override options. Again these did not list the non-UEFI image making it look like the non-UEFI image was not being recognised.

All I had to do is go down into the sub-section on the Boot tab and switch to the non-UEFI memstick listed there.

Thanks for pointing me in the right direction. This thread now solved.
 
I've noticed other threads are marked as 'solved' but I can't find an option to do that even though this is my thread. 'Thread Tools' and 'More Options' don't have an option to solve either. I've searched for 'solve' and 'resolve', read help, read the forum rules and guidelines, but can't find anything. I vaguely remember asking how to do this before as well but can't find my old request!

I'd appreciate if someone who can would mark this thread 'solved' or tell me how to. Thanks.
 
Back
Top