Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jul 2018 07:46:21 +0200
From:      "O. Hartmann" <ohartmann@walstatt.org>
To:        Toomas Soome <tsoome@me.com>
Cc:        "O. Hartmann" <ohartmann@walstatt.org>, "Rodney W. Grimes" <freebsd-rwg@pdx.rh.CN85.dnsmgr.net>, freebsd-current <freebsd-current@freebsd.org>, Allan Jude <allanjude@freebsd.org>
Subject:   Re: [UEFI] Boot issues on some UEFI implementations
Message-ID:  <20180727074558.75b2d730@freyja.zeit4.iv.bundesimmobilien.de>
In-Reply-To: <7FA45CAF-6869-4DF6-AA93-5F96F83EF958@me.com>
References:  <1E6058D2-5804-480B-B6AF-66AA02CDD7AD@me.com> <201807251430.w6PEUWPn041286@pdx.rh.CN85.dnsmgr.net> <20180726155821.6f9906e9@freyja.zeit4.iv.bundesimmobilien.de> <7FA45CAF-6869-4DF6-AA93-5F96F83EF958@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 26 Jul 2018 19:23:43 +0300
Toomas Soome <tsoome@me.com> wrote:

(reply inline/at the end)


> > On 26 Jul 2018, at 16:58, O. Hartmann <ohartmann@walstatt.org> wrote:
> >=20
> > On Wed, 25 Jul 2018 07:30:32 -0700 (PDT)
> > "Rodney W. Grimes" <freebsd-rwg@pdx.rh.CN85.dnsmgr.net
> > <mailto:freebsd-rwg@pdx.rh.CN85.dnsmgr.net>> wrote:=20
> >>>> On 25 Jul 2018, at 12:10, O. Hartmann <o.hartmann@walstatt.org> wrot=
e:
> >>>>=20
> >>>> On Wed, 25 Jul 2018 11:46:07 +0300
> >>>> Toomas Soome <tsoome@me.com> wrote:
> >>>>  =20
> >>>>>> On 25 Jul 2018, at 10:59, O. Hartmann <ohartmann@walstatt.org> wro=
te:
> >>>>>>=20
> >>>>>> On Tue, 24 Jul 2018 08:53:36 +0300
> >>>>>> Toomas Soome <tsoome@me.com> wrote:
> >>>>>>=20
> >>>>>>=20
> >>>>>> Hello  Toomas Soome,
> >>>>>>=20
> >>>>>> I CC Allan Jude since I discovered something  weird today regardin=
g the
> >>>>>> UEFI boot capabilities of USB flash devices and SSDs. See below.
> >>>>>>  =20
> >>>>>>>> On 24 Jul 2018, at 08:16, O. Hartmann <ohartmann@walstatt.org> w=
rote:
> >>>>>>>>=20
> >>>>>>>> On Mon, 23 Jul 2018 10:56:04 +0300
> >>>>>>>> Toomas Soome <tsoome@me.com> wrote:
> >>>>>>>>  =20
> >>>>>>>>>> On 23 Jul 2018, at 10:27, O. Hartmann <ohartmann@walstatt.org>
> >>>>>>>>>> wrote:
> >>>>>>>>>>=20
> >>>>>>>>>> On Fri, 13 Jul 2018 18:44:23 +0300
> >>>>>>>>>> Toomas Soome <tsoome@me.com <mailto:tsoome@me.com>> wrote:
> >>>>>>>>>>  =20
> >>>>>>>>>>>> On 13 Jul 2018, at 17:44, O. Hartmann <o.hartmann@walstatt.o=
rg
> >>>>>>>>>>>> <mailto:o.hartmann@walstatt.org>> wrote:
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
> >>>>>>>>>>>> Hash: SHA512
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> Am Fri, 13 Jul 2018 14:26:51 +0300
> >>>>>>>>>>>> Toomas Soome <tsoome@me.com <mailto:tsoome@me.com>
> >>>>>>>>>>>> <mailto:tsoome@me.com <mailto:tsoome@me.com>>> schrieb:     =
   =20
> >>>>>>>>>>>>>> On 13 Jul 2018, at 14:00, O. Hartmann <ohartmann@walstatt.=
org>
> >>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>=20
> >>>>>>>>>>>>>> The problem is some kind of weird. I face UEFI boot proble=
ms on
> >>>>>>>>>>>>>> GPT drives where the first partition begins at block 40 of=
 the
> >>>>>>>>>>>>>> hdd/ssd.
> >>>>>>>>>>>>>>=20
> >>>>>>>>>>>>>> I have two host in private use based on an
> >>>>>>>>>>>>>> outdated ASRock Z77-Pro4-M and Z77-Pro4 mainboard (IvyBrid=
ge,
> >>>>>>>>>>>>>> Socket LGA1155). Both boards are equipted with the lates
> >>>>>>>>>>>>>> official available AMI firmware revision, dating to 2013. =
This
> >>>>>>>>>>>>>> is for the Z77-Pro4-M revision 2.0 (2013/7/23) and for the=
 Z77
> >>>>>>>>>>>>>> Pro4 revision 1.8 (2013/7/17). For both boards a BETA revi=
sion
> >>>>>>>>>>>>>> for the Spectre/Meltdown mitigation is available, but I di=
dn't
> >>>>>>>>>>>>>> test that. But please read.
> >>>>>>>>>>>>>>=20
> >>>>>>>>>>>>>> The third box I realised this problem is a brand new Fujit=
su
> >>>>>>>>>>>>>> Esprimo Q956, also AMI firmware, at V5.0.0.11 R 1.26.0 for
> >>>>>>>>>>>>>> 3413-A1x, date 05/25/2018 (or 20180525).
> >>>>>>>>>>>>>>=20
> >>>>>>>>>>>>>> Installing on any kind of HDD or SSD manually or via bsdin=
stall
> >>>>>>>>>>>>>> the OS using UEFI-only boot method on a GPT partitioned de=
vice
> >>>>>>>>>>>>>> fails. The ASRock boards jump immediately into the firmwar=
e,
> >>>>>>>>>>>>>> the Fujitsu offers some kind of CPU/Memory/HDD test facili=
ty.
> >>>>>>>>>>>>>>=20
> >>>>>>>>>>>>>> If on both type of vendor/boards CSM is disabled and UEFI =
boot
> >>>>>>>>>>>>>> only is implied, the MBR partitioned FreeBSD installation =
USB
> >>>>>>>>>>>>>> flash device does boot in UEFI! I guess I can assume this =
when
> >>>>>>>>>>>>>> the well known clumsy 80x25 char console suddenly gets bri=
ght
> >>>>>>>>>>>>>> and shiny with a much higher resoltion as long the GPU sup=
ports
> >>>>>>>>>>>>>> EFI GOP. Looking with gpart at the USB flash drives reveals
> >>>>>>>>>>>>>> that the EFI partition starts at block 1 of the device and=
 the
> >>>>>>>>>>>>>> device has a MBR layout. I haven't found a way to force th=
e GPT
> >>>>>>>>>>>>>> scheme, when initialised via gpart, to let the partitions =
start
> >>>>>>>>>>>>>> at block 1. This might be a naiv thinking, so please be pa=
tient
> >>>>>>>>>>>>>> with me.
> >>>>>>>>>>>>>>=20
> >>>>>>>>>>>>>> I do not know whether this is a well-known issue. On the A=
SRock
> >>>>>>>>>>>>>> boards, I tried years ago some LinuxRed Hat and Suse with =
UEFI
> >>>>>>>>>>>>>> and that worked - FreeBSD not. I gave up on that that time.
> >>>>>>>>>>>>>> Now, having the very same issues with a new Fujitsu system,
> >>>>>>>>>>>>>> leaves me with the impression that FreeBSD's UEFI
> >>>>>>>>>>>>>> implementation might have problems I'm not aware of.
> >>>>>>>>>>>>>>=20
> >>>>>>>>>>>>>> Can someone shed some light onto this?=20
> >>>>>>>>>>>>>>  =20
> >>>>>>>>>>>>>=20
> >>>>>>>>>>>>> The first thing to check is if the secure boot is disabled.=
 We
> >>>>>>>>>>>>> do not support secure boot at all at this time.           =
=20
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> Secure boot is in every scenario disabled!
> >>>>>>>>>>>>  =20
> >>>>>>>>>>>>>=20
> >>>>>>>>>>>>> If you have efi or bios version running - you can check from
> >>>>>>>>>>>>> either console variable value (it can have efi or vidconsol=
e or
> >>>>>>>>>>>>> comconsole) or better yet, see if efi-version is set (show
> >>>>>>>>>>>>> efi-version) - if efi-version is not set, it is BIOS loader
> >>>>>>>>>>>>> running. Another indirect way is to see lsdev -v, with devi=
ce
> >>>>>>>>>>>>> paths present, it is uefi:)           =20
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> What are you talking about?
> >>>>>>>>>>>> What is the point of entry - running system, loader?
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> sysct machdep.bootmethod: BIOS
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> This makes me quite sure that the system has booted via BIOS=
 - as
> >>>>>>>>>>>> I'm sure since I've checked that many times. UEFI doesn't wo=
rk on
> >>>>>>>>>>>> those systems with FreeBSD. I'm not sure antmore, but I tried
> >>>>>>>>>>>> also Windows 7 on those mainboards booting via UEFI - and I =
might
> >>>>>>>>>>>> recall that they failed also. I also recall that there were
> >>>>>>>>>>>> issues with earlier UEFI versions regarding booting only Win=
dows
> >>>>>>>>>>>> 8/8.1 - and nothing else, but the fact that Linux worked con=
fuses
> >>>>>>>>>>>> me a bit.
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> If this ASRock crap (never ever again this brand!) doesn't w=
ork
> >>>>>>>>>>>> at all - who cares, I intend to purchase new server grade
> >>>>>>>>>>>> hardware. But the more puzzling issue is with the Fujitsu, w=
hich
> >>>>>>>>>>>> I consider serious and from the behaviour the Fujitsu failure
> >>>>>>>>>>>> looks exactly like the ASRock - Windows 7 works, RedHat 7.5
> >>>>>>>>>>>> works (I assume I can trust the Firmware settings when I dis=
able
> >>>>>>>>>>>> CSM support, that the Firmware will only EFI/UEFI capable
> >>>>>>>>>>>> loader? Or is there a ghosty override somwhere to be expecte=
d?).
> >>>>>>>>>>>> Also on ASRock disabling CSM should ensure not booting a
> >>>>>>>>>>>> dual-bootstrap-capable system. This said, on the recent Fuji=
tsu,
> >>>>>>>>>>>> it seems to boil down to a FreeBSD UEFI-firmware interaction
> >>>>>>>>>>>> problem, while the ASRock is still under suspicion to be bro=
ken
> >>>>>>>>>>>> by design.          =20
> >>>>>>>>>>>>>=20
> >>>>>>>>>>>>> GPT partitions can never start from disk absolute sector 1;=
 this
> >>>>>>>>>>>>> is because at sector 0 there is MBR (for compatibility), se=
ctor
> >>>>>>>>>>>>> 1 is GPT table and then sectors 2-33 have GPT partition tab=
le
> >>>>>>>>>>>>> entries, so the first possible data sector is 34 (absolute =
34).
> >>>>>>>>>>>>> Thats assuming 512B sectors. For details see UEFI 2.7 Chapt=
er
> >>>>>>>>>>>>> 5.3.1 page 131.           =20
> >>>>>>>>>>>>=20
> >>>>>>>>>>>> Thanks for the explanation. That implies the installer did r=
ight,
> >>>>>>>>>>>> gpart did also right and therefore there must be an issue wi=
th
> >>>>>>>>>>>> the stuff located within the EFI partition?          =20
> >>>>>>>>>>>=20
> >>>>>>>>>>> Ok, so, it is not about UEFI bootcode but BIOS, and if we rea=
ch
> >>>>>>>>>>> BIOS loader at all or not - that is, if the BIOS bootstrap is
> >>>>>>>>>>> actually caring to read the MBR code and start it, since once=
 the
> >>>>>>>>>>> MBR code is started, it is all about our code.         =20
> >>>>>>>>>>=20
> >>>>>>>>>> I'm getting confused a bit here. Do you mean by "BIOS" the CSM=
? or
> >>>>>>>>>> do you mean that specific portion of the UEFI firmware, which =
looks
> >>>>>>>>>> for the proper UEFI partition?
> >>>>>>>>>>  =20
> >>>>>>>>>=20
> >>>>>>>>> BIOS as either native or CSM. Note that from boot code point of=
 view
> >>>>>>>>> the CSM boot *is* BIOS boot, we have no access to UEFI features.
> >>>>>>>>>  =20
> >>>>>>>>>>=20
> >>>>>>>>>> The boxes in question, most notably the more recent Fujitsu Es=
primo
> >>>>>>>>>> Q956, refuse booting UEFI, even if properly setup (in terms of=
 what
> >>>>>>>>>> FreeBSD provides on recent CURRENT) is applied and CSM is swit=
ched
> >>>>>>>>>> off in the firmware. Again: GPT partition scheme.
> >>>>>>>>>>=20
> >>>>>>>>>> The system boots properly if a second partition of type
> >>>>>>>>>> "freebsd-boot" is applied and bootcode is properly applied via
> >>>>>>>>>> "gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 2 ada0" (ada=
0 is
> >>>>>>>>>> the device).          =20
> >>>>>>>>>>>=20
> >>>>>>>>>>> btw, you can try to validate the installed boot blocks by usi=
ng
> >>>>>>>>>>> recent enough loader (usb or iso) and then you can use from OK
> >>>>>>>>>>> prompt:         =20
> >>>>>>>>>>=20
> >>>>>>>>>> lsdev provides me with the follwoing informations (CSM enabled=
):
> >>>>>>>>>>=20
> >>>>>>>>>> OK lsdev
> >>>>>>>>>> disk devices:
> >>>>>>>>>> 	disk0:		BIOS DRIVE C ...
> >>>>>>>>>>=20
> >>>>>>>>>> 		disk0p1:	EFI
> >>>>>>>>>> 		disk0p2:	FreeBSD BOOT
> >>>>>>>>>> 		disk0p3:	FreeBSD SWAP
> >>>>>>>>>> 		disk0p4:	FreeBSD ZFS
> >>>>>>>>>> zfs devices:
> >>>>>>>>>> 	zfs:zroot
> >>>>>>>>>>=20
> >>>>>>>>>> OK chain disk0
> >>>>>>>>>> open failed     (so for disk0p{1-4}.
> >>>>>>>>>>=20
> >>>>>>>>>> OK chain zroot
> >>>>>>>>>> failed to read disk (just for completeness)         =20
> >>>>>>>>>=20
> >>>>>>>>>=20
> >>>>>>>>> chain command does use only device name (such as disk0: or
> >>>>>>>>> disk0p2: ), but not zfs pool as device.  I just found I haven?t
> >>>>>>>>> ported the code to read the file.       =20
> >>>>>>>>=20
> >>>>>>>> ??
> >>>>>>>>  =20
> >>>>>>>>>=20
> >>>>>>>>> the point for chain command test is to see if the normal read a=
nd
> >>>>>>>>> execute would work, so in your case please try:
> >>>>>>>>>=20
> >>>>>>>>> chain disk0:       =20
> >>>>>>>>=20
> >>>>>>>> As stated above, I did so, and the result is also mentioned abov=
e, I
> >>>>>>>> always get "open failed".
> >>>>>>>> This is the same for=20
> >>>>>>>>=20
> >>>>>>>> chain disk0
> >>>>>>>> chain disk0p1
> >>>>>>>> chain disk0p2
> >>>>>>>> chain disk0p3
> >>>>>>>> chain disk0p4
> >>>>>>>>=20
> >>>>>>>> as already said. CSM is enabled in this case.       =20
> >>>>>>>=20
> >>>>>>> sigh? chain command does take device as argument, device must alw=
ays
> >>>>>>> end with colon?. in this case, the devil is in details:) as I wro=
te
> >>>>>>> above, the command should be:
> >>>>>>>=20
> >>>>>>> chain disk0:
> >>>>>>>=20
> >>>>>>> The disk0p1: etc will only work when partition boot code was inst=
alled
> >>>>>>> (which you most likely do not have - the only possible candidate =
could
> >>>>>>> be FreeBSD ZFS partition).     =20
> >>>>>>=20
> >>>>>> The command "chain disk0:" works as expected (CSM enabled, GPT
> >>>>>> partition scheme, but with PMBR bootblock installed and freebsd-bo=
ot
> >>>>>> partition conatining gptzfsboot installed.
> >>>>>>=20
> >>>>>>  =20
> >>>>>>>  =20
> >>>>>>>>  =20
> >>>>>>>>>=20
> >>>>>>>>> to read pmbr (512B) and execute it. The expected outcome would =
be
> >>>>>>>>> that pmbr boot code would browse the GPT, read stage1 from disk=
0p2:
> >>>>>>>>> and execute it; stage1 would detect FreeBSD ZFS from disk0p4: a=
nd
> >>>>>>>>> load and execute /boot/loader. If that will happen, it means the
> >>>>>>>>> boot code in our stages is just fine, but the bios (CSM) does n=
ot
> >>>>>>>>> load pmbr?.  if thats true, it would mean that you either need =
to
> >>>>>>>>> use UEFI boot or need to have some hack to fool the BIOS or jus=
t not
> >>>>>>>>> use GPT on that machine with CSM.       =20
> >>>>>>>>=20
> >>>>>>>> To make it clear here: The only way to boot this box is using CS=
M (as
> >>>>>>>> it is the same with the ASRock boards mentioned earlier). But my
> >>>>>>>> intention is to disable CSM and use a GPT/UEFI environment only!=
 And
> >>>>>>>> GPT/UEFI doesn't work with FreeBSD, neither with 12-CURRENT, nor
> >>>>>>>> 11.2-RELENG.
> >>>>>>>>=20
> >>>>>>>> It would be nice if this could be fixed. I'm more interested in =
the
> >>>>>>>> fix on the recent Fujitsu device than the outdated ASRock crap, =
but
> >>>>>>>> if the fix for the Fujitsu Firmware could fix older issues as a
> >>>>>>>> byproduct, I'd appreciate that.
> >>>>>>>>=20
> >>>>>>>> Kind regards,
> >>>>>>>>  =20
> >>>>>>>=20
> >>>>>>> ok, somehow I have lost that part of the discussion. Well, you wr=
ote
> >>>>>>> that the UEFI boot fails when the first partition starts from sec=
tor
> >>>>>>> 40 - does it mean you have boot when the partition will start from
> >>>>>>> some other sector? I think, there is something else going on.    =
 =20
> >>>>>>=20
> >>>>>> Well, I simply try to describe what I "see" to make things
> >>>>>> disambiguous. I'm not familiar with the deeper insights of disk la=
youts
> >>>>>> on a binary level. So, you explained to me the reason, why ESP (EGI
> >>>>>> partition) starts at block 40. I compared that to the FreeBSD USB =
flash
> >>>>>> image FreeBSD provides, but this is another story since the image =
uses
> >>>>>> MBR scheme as I figured out.
> >>>>>>=20
> >>>>>>  =20
> >>>>>>>=20
> >>>>>>> What you can do is to see if that firmware will offer you EFI she=
ll
> >>>>>>> option, from there you can try to start the bootx64.efi manually =
and
> >>>>>>> see what error you will get. However, the number 1 cause for fail=
ing
> >>>>>>> to start the bootloader in UEFI is secure boot - we do not suppor=
t it
> >>>>>>> and secure boot must be switched off.=20
> >>>>>>>=20
> >>>>>>> However, they seem to claim "The Secure Boot option is available =
in
> >>>>>>> the UEFI/BIOS of most if not all ASRock boards. It is disabled by
> >>>>>>> default.?=20
> >>>>>>>=20
> >>>>>>> Still suggest to double check if thats really the case. Also, if =
the
> >>>>>>> bootx64.efi start will fail and no messages are appearing on scre=
en,
> >>>>>>> then either there is something in firmware logs or you could get =
them
> >>>>>>> from trying to start bootx64.efi from UEFI shell.     =20
> >>>>>>=20
> >>>>>> Since I'm with this problem since 2014 and try from time to time, =
be
> >>>>>> ausred that I tried every possible permutationof all reasonable
> >>>>>> options, even those nonsense, to get rid of that problem.
> >>>>>>=20
> >>>>>> I never had any problems with any other UEFI capable server/workst=
ation
> >>>>>> firmware so far booting FreeBSD off in UEFI-native (GPT partition
> >>>>>> scheme, CSM disabled) so far - until now, when I ran into this Fuj=
itsu
> >>>>>> ESPRIMO Q956 with the most recent firmware (as of lat week, week 2=
9 of
> >>>>>> 2018) having the very same problems.=20
> >>>>>>=20
> >>>>>>=20
> >>>>>>=20
> >>>>>> I figured out something strange on the Fujitsu - and that is the s=
ame
> >>>>>> with the ASRock boards.
> >>>>>>=20
> >>>>>> We/I prepare some USB flash drives to boot a NanoBSD for a very sm=
all
> >>>>>> appliance, but nevertheless, the USB flash device is booted on Fuj=
itsu
> >>>>>> servers with UEFI-only configurations. I assume at this point that
> >>>>>> disabling on the most recent Fujitsu firmwares on reasonable "new"
> >>>>>> hardware (not older than three years) will disable any(!) legacy B=
IOS
> >>>>>> capabilities. The same is assumed for the Fujitus ESPRIMO Q956. I =
can
> >>>>>> not speak for the ASRock A77 Pro4/m boards mentioned above/earlier,
> >>>>>> they are from 2012/2013 and "quite old".
> >>>>>>=20
> >>>>>> The NanoBSD image of ours doesn't have a "freebsd-boot" partition.=
 The
> >>>>>> partition scheme of the flash device is GPT. The layout looks like
> >>>>>> this:
> >>>>>>=20
> >>>>>> gpart show -l da4     =20
> >>>>>> =3D>      40  15425456  da4  GPT  (7.4G)     =20
> >>>>>>      40      2000    1  efiboot0  (1.0M)
> >>>>>>    2040   1453584    3  disk1a  (710M)
> >>>>>> 1455624      4096    5  disk3  (2.0M)
> >>>>>> 1459720  13965776       - free -  (6.7G)
> >>>>>>=20
> >>>>>> I created the flash with md, gpart and dd straightforward, efiboot=
0 is
> >>>>>> the ESP partition and its format/content is created via dd
> >>>>>> if=3D/boot/boot1.efifat of=3D/dev/da4p1 - I presume this is very s=
imple.
> >>>>>>=20
> >>>>>> This USB flash device boots(!) successfully (UEFI!) on both the AS=
Rock
> >>>>>> boards and the Esprimo Q956!
> >>>>>>=20
> >>>>>> But any SSD prepared the same way doesn't. Why?=20
> >>>>>>=20
> >>>>>> On the ASRock, I recall having fiddled around with HDD also for a =
while
> >>>>>> conatining Windows 7/SP1 and FreeBSD. Windows7 booted, FreeBSD - I
> >>>>>> can't remember.=20
> >>>>>>=20
> >>>>>> In the lack of proper hardware I'm unable to check whether USB-att=
ached
> >>>>>> HDD or SSD will boot or HDD will boot (just in case the local SATA=
 has
> >>>>>> problems booting UEFI and USB not).
> >>>>>>=20
> >>>>>> Kind regards,
> >>>>>>=20
> >>>>>> Oliver=20
> >>>>>>  =20
> >>>>>=20
> >>>>> Am. well. I think the suggestion to test out FAT32 is still good on=
e to
> >>>>> test. This is because it is known that some vendors do not support
> >>>>> booting FAT12/FAT16 from HDD (the likely reason is that UEFI
> >>>>> specification does not tell which FAT must be supported, and only h=
int
> >>>>> about FAT12/FAT16 in context of removable devices).   =20
> >>>>=20
> >>>> I prepared yesterday a GTP/ZFS-only 11.2-RELENG on the ESPRIMO Q956.=
 It
> >>>> took me a time to circumvent the installer and I had to install the
> >>>> system manually. In that strain, I also "tried" to establish the ESP=
 with
> >>>> FAT32, as Allen Jude suggested earlier. I didn't find any ad hoc hel=
p how
> >>>> to find out the format (FAT12/16/32) of the ESP, so I assume when us=
ing
> >>>> 12-CURRENT's or 11.2-RELENG's installer with AUTO-ZFS and GPT (UEFI)
> >>>> (only!) the resulting ESP is FAT12 or FAT16 (300mb by default). I al=
so
> >>>> assume, that when dd'ing the /boo/boot1.efifat image to a partition,=
 the
> >>>> format is FAT, but not FAT32. Therefore, I refomatted the manually
> >>>> created ESP (using "gpart add -t efi ...") using "newfs_msdos -F 32 =
-b
> >>>> xxx ...". I had to fiddle around a bit with option -b to fit in a pr=
oper
> >>>> format to meet a 512mb ESP - I'm not sure whether this is the proper
> >>>> option to deal with. When using the default and only -F32, the size =
of
> >>>> the partition has to be 4G at least I assume. Having done that, I co=
pied
> >>>> the the content of boot1.efifat (mdconfig -t vnode ..., I guess we k=
now
> >>>> the drill ...) to the newly formatted ESP to /boot/efi/ ...
> >>>>=20
> >>>> Having so far no knowledge of how to asure that the created ESP is F=
AT32,
> >>>> I assume it is FAT32.
> >>>>=20
> >>>> The result is negative on the ESPRIMO Q956. When disabling the CSM, =
the
> >>>> box is not willing to boot from SSD with the ESP prepared as decribe=
d.
> >>>> So, a chance that this might still be due to a misconfiguration lies=
 now
> >>>> within the -b option of newfs_msdos - if the -b option is assumed the
> >>>> proper option?
> >>>>=20
> >>>> At the moment, the ESP of the Esprimo is subject to changes, if you =
wish,
> >>>> but not in size, since it is limited to 512mb.
> >>>>=20
> >>>> Thanks and kind regards,
> >>>>=20
> >>>> Oliver   =20
> >>>=20
> >>> Yea, i was hoping fstyp command would report the FAT type, but it doe=
s not
> >>> (request for feature?:)   =20
> >>=20
> >> FYI, the file(1) command is very good at disecting a disk image to tell
> >> you what the MBR looks like, and at looking at partitions if pointed at
> >> them with the -s option.  It should be able to detect FAT12/16/32.
> >>=20
> >> root@x230a:/home/ISO/x # file -s /dev/md2s1
> >> /dev/md2s1: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "BSD4.4  ",
> >> root entries 512, sectors 1600 (volumes <=3D32 MB) , sectors/FAT 5,
> >> sectors/track 63, heads 1, serial number 0xbd4111ee, label: "EFISYS   =
  ",
> >> FAT (12 bit), followed by FAT
> >>  =20
> >>>=20
> >>> However, the more annoying idea would be to install some OS which will
> >>> boot with UEFI on this machine, then copy boot1.efi from freebsd to it
> >>> (the default program the UEFI will load is ESP:EFI/boot/bootx64.efi  =
in
> >>> case of UEFI64 and ESP:EFI/boot/bootia32.efi for EFI32. However, we do
> >>> not support EFI32.
> >>>=20
> >>> note that boot1.efi alone will not do much but printing on screen how=
 it
> >>> will search for freebsd, but for the purpose of the test it would suf=
fice
> >>> - that would give us confirmed working ESP file system (since the oth=
er os
> >>> would be able to boot) and then we can confirm if boot1.efi itself is
> >>> OK.   =20
> >>  =20
> >=20
> > Some new results.
> > I installed RedHat 7.5 and inestigated the ESP.
> >=20
> > - The ESP starts at block 2048, while FreeBSD's ESP starts at block 40.
> > - size is both 200mb if installed automatically. I forgit to investigat=
e the
> >  FAT format, but this might be unnecessary as shown further in this pos=
t.
> > - RedHat's ESP contains ~ 10 MB of data in two
> > folders, /efi/boot, /efi/redhat. copying FreeBSD's BOOTX64.efi over
> > RedHat's doesn't change anything, also renaming /efi/boot/fbx64.efi of
> > RedHat's installation. But renaming /efi/redhat renders RedHat to fail =
the
> > boot process on the Fujitsu with the signs of the built-in testprogram =
as
> > reported.
> >=20
> > I took the liberty and installed 11.2-RELENG again, ZFS only, UEFI boot=
 only
> > (CSM in firmware disabled, but there is still a gptzfsboot-prepared
> > partition for later use, just for the record). Booting UEFI-only fails =
as
> > reported. On this installation I copied the RedHat ESP completely into
> > FreeBSD's ESP, renamed /efi/boot/BOOTX64.efi to /efi/boot/BOOTX64.efi.rh
> > and copied FreeBSD's BOOTX64.efi to /efi/boot.=20
> > The Esprimo Q956 tries then to boot(!) RedHat's kernel. It seems, that
> > the /efi/redhat folder of the ESP is important, if renamed, the whole
> > process dies as I reported earlier.
> >=20
> > Still unanswered is the question: why is a NanoBSD prepared UEFI-only U=
SB
> > flash booting with CSM disabled (so asumingly UEFI only then) on both
> > ASRock and Fujitsu (as described in more detail initially and earlier),
> > while SSDs fail? Is there a difference? Since FreeBSD boots in UEFI mode
> > from USB flash prepared as described (straight forward, 800k ESP starti=
ng
> > at block 40, the boot1.efifat image dd'ed onto the partition, UFS parti=
tion
> > following, no freebsd-boot partition or MBR/PMBR bootcode applied ever!=
), I
> > think BOOTX64.EFI is technically all right. There must be then an issue
> > with the SATA/SSD/HDD boot pathway.
> >=20
> > Hope I could provide some more details, sorry if it sounds confusing or=
 way
> > too long, but I try to descibe the situation as thorough as possible.
> >  =20
>=20
> OK, this is already good hint. The thing with ESP is that there is =E2=80=
=9Cdefault=E2=80=9D
> file system tree: EFI/BOOT/BOOT<sysname>.EFI, this is noted as default for
> *removable* media, fortunately it is usable for hard disks as well, or at
> least in most cases.
>=20
> Now, for non-removable media, the UEFI does provide boot manager interfac=
e to
> define boot entries, and the fact that renaming efi/redhad directory did
> break the redhat boot, is very loud hint. And this means, this system is
> probably ignoring efi/boot tree on non-removable media and is expecting t=
he
> boot manager entry to be created instead.

This inplication I'd confirm for the recent Fujitsu ESPRIMO Q956 firmware (=
not
tested on ASRock Z77-Pro4 firmware).

>=20
> UEFI boot manager can be configured /usually/ manually via firmware menu,=
 or
> by application, such as efibootmgr. The normal approach is to create
> efi/<vendorname> directory and to copy the application there, then create=
 the
> boot manager configuration.
>=20
> See UEFI specification v2.7, chapter 3 Boot Manager, page 79.
>=20
> What is different in FreeBSD case is that the whole interface to program =
the
> UEFI Boot Manager is currently being developed, so either it has to be do=
ne
> manually or from some other OS (see https://wiki.gentoo.org/wiki/Efibootm=
gr
> <https://wiki.gentoo.org/wiki/Efibootmgr>; for example, first hit from
> google:D).

Well, thanks for this important hint! FreeBSD 12-CURRENT's and FreeBSD
11.2-RELENG's USB flash devices are capable of booting off on Fujitsu's ESP=
RIMO
and ASRock's boards. As a note: after "kldload efirt.ko" I was able to use =
the
already in FreeBSD present toolset efibootmgr(8) and sibblings (the tools do
not do anything useful when booted non-UEFI).

Mounting the ESP of the harddrive (in my case, ada0p1) to /mnt and following
the steps in the examples and having created /efi/freebsd/BOOTx64.efi as
recommended by copy from /efi/boot, let me create a proper boot variable.

To make things sure, I also applied "efibootmgr -a VARIABLENAME".

And ... it worked! Yes, it worked! The ESP is FAT32 formatted, I do not know
whether this will also work with FAT12/16, I should test this case, too.

There is a bug in the manpage of efibootmg(8). It does not explain the opti=
ons
-d and -p, although they could be "implied" by reading carefully. There is =
now
a PR at=20

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D230080

for this issue.

So, it's apity that the handbook has no note I could easily find on this;=20

Thank you very much for your patience and help!

Kind regards,
Oliver
>=20
> rgds,
> toomas
>=20
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180727074558.75b2d730>