Re: UEFI boot hangs after loader

From: Harry Newton <hn_at_yewbarrow.net>
Date: Sun, 28 Oct 2018 17:45:24 +0000
The patch you emailed fixed it for me ... was there something else I've
missed ?


On 28 October 2018 at 16:40, Warner Losh <imp_at_bsdimp.com> wrote:

>
>
> On Sun, Oct 28, 2018, 10:39 AM Yuri Pankov <yuripv_at_yuripv.net> wrote:
>
>> Jung-uk Kim wrote:
>> > On 18. 10. 24., Warner Losh wrote:
>> >> On Wed, Oct 24, 2018 at 10:33 AM Harry Newton <hn_at_yewbarrow.net>
>> wrote:
>> >>
>> >>> gryphon# efivar -N --hex $(efivar | grep Boot0002)
>> >>> 0000: 01 00 00 00 98 00 55 00 45 00 46 00 49 00 3a 00
>> >>> 0010: 20 00 4b 00 69 00 6e 00 67 00 73 00 74 00 6f 00
>> >>> 0020: 6e 00 44 00 61 00 74 00 61 00 54 00 72 00 61 00
>> >>> 0030: 76 00 65 00 6c 00 65 00 72 00 20 00 32 00 2e 00
>> >>> 0040: 30 00 31 00 2e 00 30 00 30 00 00 00 02 01 0c 00
>> >>> 0050: d0 41 03 0a 00 00 00 00 01 01 06 00 00 14 03 05
>> >>> 0060: 06 00 03 00 04 01 2a 00 01 00 00 00 01 00 00 00
>> >>> 0070: 00 00 00 00 40 06 00 00 00 00 00 00 90 90 90 90
>> >>> 0080: 00 00 00 00 00 00 00 00 00 00 00 00 01 01 7f ff
>> >>> 0090: 04 00 01 04 4e 00 ef 47 64 2d c9 3b a0 41 ac 19
>> >>> 00a0: 4d 51 d0 1b 4c e6 4b 00 69 00 6e 00 67 00 73 00
>> >>> 00b0: 74 00 6f 00 6e 00 44 00 61 00 74 00 61 00 54 00
>> >>> 00c0: 72 00 61 00 76 00 65 00 6c 00 65 00 72 00 20 00
>> >>> 00d0: 32 00 2e 00 30 00 31 00 2e 00 30 00 30 00 00 00
>> >>> 00e0: 7f ff 04 00 00 00 42 4f
>> >>> gryphon#
>> >>>
>> >>
>> >> Perfect. I'll decode this and see if I can figure out where we're
>> going AFU.
>> >
>> > It looks familiar.
>> >
>> > http://docs.freebsd.org/cgi/mid.cgi?eadf5d63-a65a-338e-
>> a3e0-f91b410052fa
>>
>> I have an output looking similar, but not exactly:
>>
>> 0000: 01 00 00 00 62 00 55 00 45 00 46 00 49 00 20 00
>> 0010: 4f 00 53 00 00 00 04 01 2a 00 01 00 00 00 28 00
>> 0020: 00 00 00 00 00 00 00 40 06 00 00 00 00 00 f1 84
>> 0030: d7 13 ca da e8 11 94 1d 30 85 a9 40 0a 5c 02 02
>> 0040: 04 04 30 00 5c 00 45 00 46 00 49 00 5c 00 42 00
>> 0050: 4f 00 4f 00 54 00 5c 00 42 00 4f 00 4f 00 54 00
>> 0060: 58 00 36 00 34 00 2e 00 45 00 46 00 49 00 00 00
>> 0070: 7f ff 04 00 aa 55 18 0f
>>
>> Same problem with ASUS P8H77-I.
>>
>
> Do the latest fixes help?
>
> Warner
>
>>
>> >>> On 24 October 2018 at 15:09, Warner Losh <imp_at_bsdimp.com> wrote:
>> >>>
>> >>>>
>> >>>>
>> >>>> On Wed, Oct 24, 2018 at 7:05 AM Harry Newton <hn_at_yewbarrow.net>
>> wrote:
>> >>>>
>> >>>>> Booted with the installer image makes efibootmgr to work as you
>> said:
>> >>>>>
>> >>>>> gryphon# efibootmgr -v
>> >>>>> BootCurrent: 0002
>> >>>>> Timeout : 2 seconds
>> >>>>> BootOrder : 0001, 0002
>> >>>>> Boot0001* UEFI OS
>> >>>>>
>> >>>>> HD(1,GPT,b19ccd5d-7c6a-11e7-ae3e-28b2bde107e4,0x28,0x640)/
>> File(\EFI\BOOT\BOOTX64.EFI)
>> >>>>> ada0p1:/EFI/BOOT/BOOTX64.EFI (null)
>> >>>>>
>> >>>>> However it (efibootmgr) hangs and doesn't return to the shell,
>> though it
>> >>>>> is
>> >>>>> interruptible with ^C.
>> >>>>>
>> >>>>> The partition listed against Boot0001 is my efi partition.
>> >>>>>
>> >>>>
>> >>>> Can you do something like:
>> >>>>
>> >>>> sudo efivar -N --hex `sudo efivar | grep Boot0002`
>> >>>>
>> >>>> so I can have an example of a naughty boot variable? That's almost
>> >>>> certainly causing the heart-burn.
>> >>>>
>> >>>> Warner
>> >>>>
>> >>>>
>> >>>>
>> >>>>> /H
>> >>>>>
>> >>>>> On 23 October 2018 at 22:51, Kyle Evans <kevans_at_freebsd.org> wrote:
>> >>>>>
>> >>>>>> Hi,
>> >>>>>>
>> >>>>>> I suspect 4th vs. lua has no impact here, given the output shown --
>> >>>>>> can you throw one of the installer images [0] on some removable
>> media
>> >>>>>> and give that a shot for booting? If that works, we can explore
>> UEFI
>> >>>>>> variables from there.
>> >>>>>>
>> >>>>>> efibootmgr will only work on a successful UEFI boot,
>> unfortunately- if
>> >>>>>> we didn't make uefi loader -> kernel transition, then we don't have
>> >>>>>> access to runtime services.
>> >>>>>>
>> >>>>>> Thanks,
>> >>>>>>
>> >>>>>> Kyle Evans
>> >>>>>>
>> >>>>>> [0]
>> >>>>> https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-
>> IMAGES/12.0/
>> >>>>>>
>> >>>>>> On Tue, Oct 23, 2018 at 4:23 PM Harry Newton <hn_at_yewbarrow.net>
>> wrote:
>> >>>>>>>
>> >>>>>>> I set LOADER_DEFAULT_INTERP=4th and went in /usr/src/stand and
>> >>>>> re-made
>> >>>>>> the
>> >>>>>>> binaries in /boot but this doesn't solve the problem.  It did copy
>> >>>>>>> /boot/loader_4th.efi to /boot/loader.efi which is (according to
>> >>>>> uefi(8)
>> >>>>>>> which is what is called from /boot/boot1.efi and which contains
>> the
>> >>>>>> strings
>> >>>>>>> I see on the console before the hang.  But it must then call /
>> read
>> >>>>>>> something else and I don't think it can find it.  Not sure why it
>> >>>>> doesn't
>> >>>>>>> produce an error message.  I *think* it may be something to do
>> with
>> >>>>> EFI
>> >>>>>>> variables, but as efibootmgr doesn't work I can't explore this,
>> >>>>> despite
>> >>>>>>> efirt being in the kernel.
>> >>>>>>>
>> >>>>>>> Suggestions received welcomed, and new suggestions / leads to
>> follow
>> >>>>> also
>> >>>>>>> very much welcomed.
>> >>>>>>>
>> >>>>>>> /H
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> On 23 October 2018 at 21:33, Harry Newton <hn_at_yewbarrow.net>
>> wrote:
>> >>>>>>>
>> >>>>>>>> Right ... I've the binaries in /boot, freshly made.  This might
>> be
>> >>>>> a
>> >>>>>> silly
>> >>>>>>>> question ... do I not need to copy them (or dd the boot1.efifat
>> >>>>> image)
>> >>>>>> to
>> >>>>>>>> the EFI partition ?
>> >>>>>>>>
>> >>>>>>>> /H
>> >>>>>>>>
>> >>>>>>>> On 23 October 2018 at 21:30, Toomas Soome <tsoome_at_me.com> wrote:
>> >>>>>>>>
>> >>>>>>>>> you should have the binaries in boot - just ln (or copy) one to
>> >>>>>> loader.efi
>> >>>>>>>>>
>> >>>>>>>>> rgds,
>> >>>>>>>>> toomas
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> On 23 Oct 2018, at 23:22, Harry Newton <hn_at_yewbarrow.net>
>> wrote:
>> >>>>>>>>>
>> >>>>>>>>> Yes ... so as everything is built, can I just alter
>> >>>>>> LOADER_DEFAULT_INTERP
>> >>>>>>>>> in /etc/make.conf and then reinstall just the loader and boot
>> >>>>> parts
>> >>>>>> onto
>> >>>>>>>>> the UEFI partition ?  If so, how ?
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> On 23 October 2018 at 21:17, Toomas Soome <tsoome_at_me.com>
>> wrote:
>> >>>>>>>>>
>> >>>>>>>>>> ok, in that case I’d suggest to test out if forth based one is
>> >>>>> still
>> >>>>>>>>>> working - at least you can get the bootable system. And then
>> >>>>> there
>> >>>>>> is a
>> >>>>>>>>>> chance to debug the lua version too (note it should be possible
>> >>>>> to
>> >>>>>> chain
>> >>>>>>>>>> /boot/loader_lua.efi).
>> >>>>>>>>>>
>> >>>>>>>>>> rgds,
>> >>>>>>>>>> toomas
>> >>>>>>>>>>
>> >>>>>>>>>>> On 23 Oct 2018, at 23:08, Harry Newton <hn_at_yewbarrow.net>
>> >>>>> wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>> So it's got FORTH in it, but my loader is lua based, and also
>> >>>>>> doesn't
>> >>>>>>>>>>> appear to read loader.rc.
>> >>>>>>>>>>>
>> >>>>>>>>>>> /H
>> >>>>>>>>>>>
>> >>>>>>>>>>> On 23 October 2018 at 21:03, Toomas Soome <tsoome_at_me.com>
>> >>>>> wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>>> hm. in that case, whats the content of /boot/loader.rc ?
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> rgds,
>> >>>>>>>>>>>> toomas
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> On 23 Oct 2018, at 23:01, Harry Newton <hn_at_yewbarrow.net>
>> >>>>> wrote:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> If boot menu is the screen where you get the options for
>> >>>>> various
>> >>>>>>>>>> kernels
>> >>>>>>>>>>>> and the picture of the daemon head, no.  It stops at the
>> >>>>> point in
>> >>>>>> my
>> >>>>>>>>>> email
>> >>>>>>>>>>>> — though not as I said just before the kernel is loaded but
>> in
>> >>>>>> point
>> >>>>>>>>>> of
>> >>>>>>>>>>>> fact before the menu.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> I've also rebuilt the kernel and still can't use efibootmgr
>> >>>>> which
>> >>>>>> is
>> >>>>>>>>>>>> puzzling me.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> /H
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> On 23 October 2018 at 20:56, Toomas Soome <tsoome_at_me.com>
>> >>>>> wrote:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>> Do you get boot menu? if so, press esc to get to ok prompt,
>> >>>>> then
>> >>>>>> type
>> >>>>>>>>>>>>> start - if its bootfort based loader, it will load the
>> >>>>> kernel and
>> >>>>>>>>>> modules.
>> >>>>>>>>>>>>> lsmod will then list the loaded files.
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> If the loader prompt is still usable, then next command
>> >>>>> would be:
>> >>>>>>>>>> boot
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> rgds,
>> >>>>>>>>>>>>> toomas
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>> On 23 Oct 2018, at 20:45, Harry Newton <hn_at_yewbarrow.net>
>> >>>>>> wrote:
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> Just upgraded my Asus UX303L (amd64) from 11-STABLE to
>> >>>>>> 12.0-BETA1
>> >>>>>>>>>>>>> r339529
>> >>>>>>>>>>>>>> by source.  Have a problem with booting which hangs after:
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> FreeBSD EFI boot block
>> >>>>>>>>>>>>>> Loader path: /boot/loader.efi
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> Initializing modules: ZFS UFS
>> >>>>>>>>>>>>>> Probing 5 block devices ... done
>> >>>>>>>>>>>>>> ZFS found the following pools: zroot
>> >>>>>>>>>>>>>> UFS found no partitions
>> >>>>>>>>>>>>>> Consoles: EFI console
>> >>>>>>>>>>>>>> FreeBSD/amd64 EFI loader, Revision 1.1
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>   Command line arguments: loader.efi
>> >>>>>>>>>>>>>>   EFI version 2.31
>> >>>>>>>>>>>>>>   EFI Firmware: American Megatrends (rev 4.654)
>> >>>>>>>>>>>>>>   Console: efi(0)
>> >>>>>>>>>>>>>>   Load Path: HD(4, GPT [ ... ]
>> >>>>>>>>>>>>>>   Load Device: Pci Root [ ... ]
>> >>>>>>>>>>>>>>   Boot Current: 0001
>> >>>>>>>>>>>>>>   Boot Order: 0001 [x]
>> >>>>>>>>>>>>>>   Boot Info Path: HS(1, GPT,  [ ... ]
>> >>>>> /\EFI\BOOT\BOOTX64.EFI
>> >>>>>>>>>>>>>> -
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> So it gets into loader.efi which runs but stops I think
>> just
>> >>>>>> before
>> >>>>>>>>>>>>> loading
>> >>>>>>>>>>>>>> the kernel.  Partitions:
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> =>       40  250069600  ada0  GPT  (119G)
>> >>>>>>>>>>>>>>        40       1600     1  efi  (800K)
>> >>>>>>>>>>>>>>      1640       1024     2  freebsd-boot  (512K)
>> >>>>>>>>>>>>>>      2664       1432        - free -  (716K)
>> >>>>>>>>>>>>>>      4096    4194304     3  freebsd-swap  (2.0G)
>> >>>>>>>>>>>>>>   4198400  245870592     4  freebsd-zfs  (117G)
>> >>>>>>>>>>>>>> 250068992        648        - free -  (324K)
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> and the EFI partition is FAT 12.
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> I can't provide (at the moment) any output from efibootmgr:
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> root_at_gryphon:~ # efibootmgr -v
>> >>>>>>>>>>>>>> efibootmgr: efi variables not supported on this system.
>> >>>>> root?
>> >>>>>>>>>> kldload
>> >>>>>>>>>>>>> efirt?
>> >>>>>>>>>>>>>> root_at_gryphon:~ # kldload efirt
>> >>>>>>>>>>>>>> kldload: can't load efirt: module already loaded or in
>> >>>>> kernel
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> which I don't understand.
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> I'm going to rebuild the kernel (currently GENERIC) and see
>> >>>>> if
>> >>>>>> that
>> >>>>>>>>>>>>> allows
>> >>>>>>>>>>>>>> me to load efirt / use efibootmgr.
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> In the meantime, I should be very grateful for any advice.
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> ( Currently booting using a 11-RELEASE memstick image and
>> >>>>>> dropping
>> >>>>>>>>>> into
>> >>>>>>>>>>>>> its
>> >>>>>>>>>>>>>> loader to get to the installed 12-STABLE ).
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> /Harry
>> >
>>
>>
>>


-- 
Harry Newton
Received on Sun Oct 28 2018 - 16:45:27 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC