Summary: | options EFIRT: immediate crash of CURRENT with aio boot(clover EFI + rEFInd) | ||
---|---|---|---|
Product: | Base System | Reporter: | Masachika ISHIZUKA <ish> |
Component: | kern | Assignee: | Kyle Evans <kevans> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | ish |
Priority: | --- | Keywords: | crash, regression |
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any |
Description
Masachika ISHIZUKA
2018-08-03 05:44:26 UTC
(In reply to Masachika ISHIZUKA from comment #0) I can boot with aio boot if comment out the 'options EFIRT'. I tested on r337230. Over to committer of r336921. (In reply to Masachika ISHIZUKA from comment #1) Hi, With EFIRT removed (or efi.rt.disabled=1 set in loader.conf(5)), can you try a `kldload efirt` when you hit userland and see if that gives you any meaningful output/panic? (In reply to Kyle Evans from comment #3) Thank you for reply. I'm using kernel without 'options EFIRT'. 'kldload efirt' works fine. # uname -a FreeBSD cucumber.ish.org 12.0-CURRENT FreeBSD 12.0-CURRENT #1 r337230: Fri Aug 3 20:46:38 JST 2018 root@cucumber.ish.org:/usr/obj/usr/src/amd64.amd64/sys/cucumber amd64 cucumber# kldload efirt cucumber# kldstat Id Refs Address Size Name 1 64 0xffffffff80200000 24bb338 kernel 2 1 0xffffffff826bd000 a6d18 iwn6000g2bfw.ko 3 1 0xffffffff82764000 1a0518 radeonkms.ko 4 2 0xffffffff82905000 4c98 iicbb.ko 5 5 0xffffffff8290a000 6bb0 iicbus.ko 6 2 0xffffffff82911000 37e0 iic.ko 7 2 0xffffffff82915000 75f80 drm2.ko 8 1 0xffffffff82d11000 b308 tmpfs.ko 9 1 0xffffffff82d1d000 4850 linprocfs.ko 10 3 0xffffffff82d22000 32c8 linux_common.ko 11 1 0xffffffff82d26000 a200 if_lagg.ko 12 1 0xffffffff82d31000 2388 ums.ko 13 1 0xffffffff82d34000 1780 uhid.ko 14 1 0xffffffff82d36000 25a78 ipfw.ko 15 1 0xffffffff82d5c000 38d08 linux.ko 16 1 0xffffffff82d95000 33508 linux64.ko 17 1 0xffffffff82dc9000 4670 autofs.ko 18 1 0xffffffff82dce000 acf mac_ntpd.ko 19 1 0xffffffff82dcf000 2598 efirt.ko cucumber# grep -i efirt /var/log/messages Aug 4 23:27:00 cucumber kernel: efirtc0: <EFI Realtime Clock> on motherboard Aug 4 23:27:00 cucumber kernel: efirtc0: registered as a time-of-day clock, resolution 1.000000s cucumber# efibootmgr -v BootCurrent: 0000 BootOrder : 0000 +Boot0000* EFI Hard Drive PcieRoot(0x0)/Pci(0x1f,0x2)/Ata(Primary,Master,0x0) Unreferenced Variables: cucumber# (In reply to Kyle Evans from comment #3) I copied GENERIC kernel from another machine and set efi.rt.disabled=1 in /boot/loader.conf, it started up normally. I want to use GENERIC kernel for upcoming 12.0-RELEASE because I want to use freebsd-update, so this workaround is very happy. Thank you. (In reply to Masachika ISHIZUKA from comment #5) Hi, Ok, good. =) Can you try applying the patch at [1] and running that with options EFIRT and efi.rt.disabled=0 or unset? You might be running into the same problem reported by eadler on current@, but manifesting in a different way. If it boots, can you also please confirm that `efivar -l` still works? Thanks, Kyle Evans [1] https://reviews.freebsd.org/D16591 (In reply to Kyle Evans from comment #6) Now committed as r337331; please do let me know if >= r337331 works as-is for you with efi.rt.disabled=0. (In reply to Kyle Evans from comment #7) On my machine, it still panics without 'efi.rt.disabled' in loader.conf. I can boot GENERIC kernel r337331 with 'efi.rt.disabled=1' (In reply to Masachika ISHIZUKA from comment #8) For reference, when you boot GENERIC with UEFI and efirt disabled, what does `sysctl machdep.efi_map` output? (In reply to Kyle Evans from comment #9) cucumber# uname -a FreeBSD cucumber.ish.org 12.0-CURRENT FreeBSD 12.0-CURRENT #10 r337331: Sun Aug 5 07:11:09 JST 2018 root@cucumber.ish.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 cucumber# sysctl machdep.efi_map machdep.efi_map: Type Physical Virtual #Pages Attr ConventionalMemory 000000018000 0x0 0000006c UC WC WT WB BootServicesData 000000084000 0x0 00000010 UC WC WT WB ACPIMemoryNVS 000000094000 0x0 00000004 UC WC WT WB BootServicesData 000000098000 0x0 00000001 UC WC WT WB ACPIMemoryNVS 000000099000 0x0 00000003 UC WC WT WB ConventionalMemory 000000100000 0x0 0003befc UC WC WT WB LoaderData 00003bffc000 0x0 00004004 UC WC WT WB ConventionalMemory 000040000000 0x0 00075014 UC WC WT WB LoaderData 0000b5014000 0x0 00004000 UC WC WT WB LoaderCode 0000b9014000 0x0 0000007a UC WC WT WB ConventionalMemory 0000b908e000 0x0 00000073 UC WC WT WB BootServicesData 0000b9101000 0x0 0000006a UC WC WT WB ConventionalMemory 0000b916b000 0x0 00000001 UC WC WT WB BootServicesData 0000b916c000 0x0 00000a4a UC WC WT WB ConventionalMemory 0000b9bb6000 0x0 00000005 UC WC WT WB BootServicesData 0000b9bbb000 0x0 00001208 UC WC WT WB ConventionalMemory 0000badc3000 0x0 000000ff UC WC WT WB LoaderData 0000baec2000 0x0 00000001 UC WC WT WB ConventionalMemory 0000baec3000 0x0 0000000c UC WC WT WB LoaderCode 0000baecf000 0x0 000000f4 UC WC WT WB BootServicesData 0000bafc3000 0x0 00000200 UC WC WT WB ConventionalMemory 0000bb1c3000 0x0 000000c6 UC WC WT WB BootServicesCode 0000bb289000 0x0 0000013a UC WC WT WB RuntimeServicesCode 0000bb3c3000 0xbb3c3000 00000100 UC WC WT WB RUNTIME RuntimeServicesData 0000bb4c3000 0xbb4c3000 00000100 UC WC WT WB RUNTIME ConventionalMemory 0000bb5c3000 0x0 00000101 UC WC WT WB ACPIMemoryNVS 0000bb6c4000 0x0 00000003 UC WC WT WB ACPIReclaimMemory 0000bb6c7000 0x0 00000080 UC WC WT WB BootServicesData 0000bb747000 0x0 00000065 UC WC WT WB Reserved 0000bba7c000 0x0 00000006 UC ConventionalMemory 0000bba82000 0x0 00000163 WB Reserved 0000bbbe5000 0x0 0000002a UC ConventionalMemory 0000bbc0f000 0x0 00000060 WB Reserved 0000bbc6f000 0x0 00000001 UC ACPIMemoryNVS 0000bbc70000 0x0 00000081 UC Reserved 0000bbcf1000 0x0 0000021e UC ConventionalMemory 0000bbf0f000 0x0 00000009 WB Reserved 0000bbf18000 0x0 00000007 UC ConventionalMemory 0000bbf1f000 0x0 00000062 WB ACPIMemoryNVS 0000bbf81000 0x0 0000001e UC ConventionalMemory 0000bbf9f000 0x0 0000002a WB BootServicesData 0000bbfc9000 0x0 00000001 WB BootServicesCode 0000bbfca000 0x0 00000018 WB ACPIReclaimMemory 0000bbfe2000 0x0 0000001d WB Reserved 0000bc000000 0x0 00002000 UC Reserved 0000bf800000 0x0 00000800 UC Reserved 0000e0000000 0x0 00010000 UC Reserved 0000f0b04000 0x0 00000001 UC Reserved 0000feaff000 0x0 00000001 UC Reserved 0000fec00000 0x0 00000010 UC Reserved 0000fed00000 0x0 00000001 UC Reserved 0000fed1c000 0x0 00000074 UC Reserved 0000fee00000 0x0 00000001 UC Reserved 0000ff000000 0x0 00001000 UC ConventionalMemory 000100000000 0x0 00040000 WB cucumber# (In reply to Masachika ISHIZUKA from comment #10) Hi, FYI- I'm trying to put together a Clover disk to try and reproduce this locally for further debugging. Thank you again for the information. =) Hi, While I'm figuring out a setup for testing this- could you give this patch a shot? https://reviews.freebsd.org/D16618 It fixes a problem reported by others with machines w/o PCID panicking upon entering EFI context in early boot- if no PCID is the case here, we should rule this out before we can proceed. (In reply to Kyle Evans from comment #12) Thank you very much. It can boot normally with D16618 on r337409. (In reply to Masachika ISHIZUKA from comment #13) Ah, good to hear. Thanks! =) Fix for this has been committed in r337773. (In reply to Kyle Evans from comment #15) Thank you for fixing. It is good working on r337885 GENERIC kernel without efi.rt.disabled=1. |