From owner-freebsd-current@freebsd.org Sun Oct 28 16:40:31 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D46D10D8AB7 for ; Sun, 28 Oct 2018 16:40:31 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ua1-x92e.google.com (mail-ua1-x92e.google.com [IPv6:2607:f8b0:4864:20::92e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CB1B98C5F6 for ; Sun, 28 Oct 2018 16:40:30 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ua1-x92e.google.com with SMTP id w19so2126719uaj.3 for ; Sun, 28 Oct 2018 09:40:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=udEbEbNS4ukONaMbk7viQ50V+Jl12H3tcGkGVe+o1QI=; b=D5TAWl1i89Nr8Mb5EIXYb5VpDhGnwVCpK6jU5uZQZGdUffases0R4gYk75vtZbCxcO Al5JE+xIHe3i/tEFEuHbUTY7h6BBs68eqZv4tIaFlpPxAJs0UPDuMgl0VR6/Nnit7zTA vjPd5fDXMl6xMDx4ftDR7V5PpoaPis1T93Zrx/WYp5TDYTU2qab2sa5PHS4shlPidkLf IaxPhYlYP3qGOTSUUAcGaEbxC8zOn7YVRZVE0v+0CWZLjYYaImbikbTaCTlmMJI5hFLY 5KJtS/F8Jz/0VDvtL6GAovAsTqHAWsKumRSLKe5ToPyNX3Fhd80Wu2YVUzhNk80wW38s +4KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=udEbEbNS4ukONaMbk7viQ50V+Jl12H3tcGkGVe+o1QI=; b=WT5g9H2sfYYmoakM40oaNdOw7yhEuu1eCQJBNHtg9ZF90I8siSPiARb28MT5nvUFAt PiFdSaSDitVvFCiwIYRkdbYIOFm7nFQCknemEJpjVYjzu163ZMZHfC9aOxZgP5WysSwU D0D9SLq+/5Mg1XYW7xb7ygUI9lj4hS9Em1XrxKsalg/bhau7Yp22HTmXQpUOxIZWRtC7 7xx36LLZ5L9oDv7qaJ80MJv0IpuBpRqcBB2jkeI8q/wSeJA/N61TW3hKE0e79fC1h0+h bpEwAPYfxoX62wfmqdjgRoK4UlC7zqXlFdq22yR5L0O2XMH03cV8WxXjoPDyfEIqQnOQ LGfg== X-Gm-Message-State: AGRZ1gJjOtXwbZ+FOs7Y7YiVkcZ0GlcupsriTeJTykGj7Jl2HWyu21Ix DWbXltwWhXHEmJ+AwHgf48asRemWumKGOzFsManZXQ== X-Google-Smtp-Source: AJdET5fZd3FG8s/ZCL2ZQ23DpszRO+i3V5UpK+Sf1mk0gmQST5JS6A6hnbOnUIUrneEjkUpsPIGxCU+yZfFOaGL/pQU= X-Received: by 2002:ab0:53c3:: with SMTP id l3mr4789468uaa.16.1540744829713; Sun, 28 Oct 2018 09:40:29 -0700 (PDT) MIME-Version: 1.0 References: <2950121D-C985-4F2E-A512-FB73CFDF48BC@me.com> <4457A5DC-A577-4782-B1E8-306236908D5D@me.com> <2c936e35-7bcf-95f9-f99d-60d3c9408d39@FreeBSD.org> In-Reply-To: From: Warner Losh Date: Sun, 28 Oct 2018 10:40:17 -0600 Message-ID: Subject: Re: UEFI boot hangs after loader To: Yuri Pankov Cc: Jung-uk Kim , Harry Newton , Kyle Evans , Toomas Soome , FreeBSD Current Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Oct 2018 16:40:31 -0000 On Sun, Oct 28, 2018, 10:39 AM Yuri Pankov wrote: > Jung-uk Kim wrote: > > On 18. 10. 24., Warner Losh wrote: > >> On Wed, Oct 24, 2018 at 10:33 AM Harry Newton 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 goin= g > AFU. > > > > It looks familiar. > > > > http://docs.freebsd.org/cgi/mid.cgi?eadf5d63-a65a-338e-a3e0-f91b410052f= a > > 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 wrote: > >>> > >>>> > >>>> > >>>> On Wed, Oct 24, 2018 at 7:05 AM Harry Newton > wrote: > >>>> > >>>>> Booted with the installer image makes efibootmgr to work as you sai= d: > >>>>> > >>>>> 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 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 UE= FI > >>>>>> 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 hav= e > >>>>>> 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 > wrote: > >>>>>>> > >>>>>>> I set LOADER_DEFAULT_INTERP=3D4th and went in /usr/src/stand and > >>>>> re-made > >>>>>> the > >>>>>>> binaries in /boot but this doesn't solve the problem. It did cop= y > >>>>>>> /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 t= he > >>>>>> strings > >>>>>>> I see on the console before the hang. But it must then call / re= ad > >>>>>>> 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 wi= th > >>>>> 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 > 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 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 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 wrote= : > >>>>>>>>> > >>>>>>>>>> ok, in that case I=E2=80=99d suggest to test out if forth base= d 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 possibl= e > >>>>> to > >>>>>> chain > >>>>>>>>>> /boot/loader_lua.efi). > >>>>>>>>>> > >>>>>>>>>> rgds, > >>>>>>>>>> toomas > >>>>>>>>>> > >>>>>>>>>>> On 23 Oct 2018, at 23:08, Harry Newton > >>>>> 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 > >>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> hm. in that case, whats the content of /boot/loader.rc ? > >>>>>>>>>>>> > >>>>>>>>>>>> rgds, > >>>>>>>>>>>> toomas > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> On 23 Oct 2018, at 23:01, Harry Newton > >>>>> 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 > >>>>>>>>>>>> =E2=80=94 though not as I said just before the kernel is loa= ded 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 > >>>>> 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 > >>>>>> 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 ju= st > >>>>>> before > >>>>>>>>>>>>> loading > >>>>>>>>>>>>>> the kernel. Partitions: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> =3D> 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@gryphon:~ # efibootmgr -v > >>>>>>>>>>>>>> efibootmgr: efi variables not supported on this system. > >>>>> root? > >>>>>>>>>> kldload > >>>>>>>>>>>>> efirt? > >>>>>>>>>>>>>> root@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 se= e > >>>>> 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 > > > > >