Re: New loader_lua.efi causes kernels to hang at boot

From: Dustin Marquess <dmarquess_at_gmail.com>
Date: Tue, 31 Aug 2021 06:29:27 UTC
On Mon, Aug 30, 2021 at 4:33 AM Konstantin Belousov <kib@freebsd.org> wrote:

> On Sun, Aug 29, 2021 at 08:27:02PM -0500, Dustin Marquess wrote:
> > I am upgrading a -CURRENT box from a build that's exactly 2 weeks old to
> > one I built about 2 hours ago. After installkernel I updated the
> bootloader
> > the same way I normally do:
> >
> > # mount_msdosfs /dev/da8p1 /mnt
> > # cp /mnt/EFI/BOOT/BOOTX64.efi /mnt/EFI/BOOT/BOOTX64.bak
> > # cp loader_lua.efi /mnt/EFI/BOOT/BOOTX64.efi
> > # umount /mnt
> >
> > After rebooting, however, the kernel hangs right after:
> >
> > real memory  = 137438953472 (131072 MB)
> > avail memory = 133651951616 (127460 MB)
> > ACPI APIC Table: <LENOVO SV-INT  >
> >
> > It never makes it to this line:
> >
> > FreeBSD/SMP: Multiprocessor System Detected: 32 CPUs
> > FreeBSD/SMP: 2 package(s) x 8 core(s) x 2 hardware threads
> >
> > So I rebooted a selected kernel.old at the boot menu and.. same thing.
> > That's strange!
> >
> > So I booted off a USB stick, mounted the EFI partition and copied
> > BOOTX64.bak back to BOOTX64.efi and now the machine booted normally.
> >
> > So for some reason the newer loader_lua.efi is causing both the new
> kernel
> > AND the old kernel to hang, but the older loader_lua.efi seems to work
> with
> > both no problem.
>
> Show your loader.conf.
>
> Try to add
> exec="copy_staging enable"
> line to it, does it hide the problem?
>

Indeed, it does!

Full loader.conf is:

comconsole_speed="115200"
console="comconsole"
boot_serial="1"
zfs_load="YES"
vfs.root.mountfrom="zfs:zroot/ROOT/default"
net.isr.maxthreads="32"
net.isr.bindthreads="1"
net.isr.maxqlimit="60480"
net.link.ifqmaxlen="90000"
kern.eventtimer.et.LAPIC.quality="1"
hw.pci.do_power_nodriver="3"
vfs.zfs.arc_max="8G"
zpool_cache_load="YES"
zpool_cache_type="/etc/zfs/zpool.cache"
zpool_cache_name="/etc/zfs/zpool.cache"
hint.apic.0.clock="0"
hint.atrtc.0.clock="0"
hint.attimer.0.clock="0"
hint.hpet.0.legacy_route="1"
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
if_cxgbe_load="NO"
if_vlan_load="YES"
if_tap_load="YES"
if_bridge_load="YES"
if_epair_load="NO"
if_lagg_load="YES"
vmm_load="YES"
ioat_load="YES"
hw.x2apic_enable="1"
hw.cxgbe.nrxq="32"
hw.cxgbe.ntxq="32"
hw.cxgbe.fl_pktshift="0"
hw.cxgbe.cong_drop="1"
hw.cxgbe.pause_settings="0"
hw.cxgbe.rdmacaps_allowed="0"
hw.cxgbe.iscsicaps_allowed="0"
hw.cxgbe.fcoecaps_allowed="0"
cc_htcp_load="YES"
machdep.hyperthreading_allowed="1"
machdep.hyperthreading_intr_allowed="1"
cpu_microcode_load="YES"
cpu_microcode_name="/boot/firmware/intel-ucode.bin"
vm.pmap.pti="0"
machdep.mitigations.rngds.enable="0"
machdep.mitigations.taa.enable="0"
machdep.mitigations.mds.disable="0"
machdep.mitigations.ssb.disable="0"
machdep.mitigations.ibrs.disable="1"
exec="copy_staging enable"