Solved Boot hangs on cherrytrail uefi system (installer + preinstalled stick), no dmesg written

olidietzel

New Member


Messages: 4

Edit: Solved, I had to disable the uarts in /boot/device.hints

After disabling ACPI and APIC via /boot/loader.conf.local I saw the entropy harvester tried to harvest nonexistent uarts... :)

In /boot/device.hints I had to replace the UART hints there with "disabled" settings:
Code:
hint.uart.0.disabled="1"
hint.uart.1.disabled="1"
/Edit

I need an idea on how to debug a hanging FreeBSD (10.3 and 11rc1) boot process.

I want to make a home server with firewall/router function out of a Cherry Trail z5-8300 mini PC (Beelink z83 / bt3, 64bit UEFI installed). Ubuntu 16.04 and OpenBSD 5.9 install fine into eMMC, but my preferred OS FreeBSD (more packages, same great PF) hangs on boot, always on or after a "ppc0: cannot reserve I/O port range" Message, see cam screenshot:



This happens if I boot a working install stick and if I boot from a tested working preinstalled Sandisk stick.

Nothing is written in /var/run/dmesg.boot.

How can I make the boot process more verbose in order to identify what exactly happens? Seems there is a -v option for the kernel boot stage, but where and how may I set it?

https://www.freebsd.org/doc/handbook/boot-introduction.html#boot-kernel

Edit: Managed to boot -v :)

But this didn't give me a lot more info. Seems the Kernel hangs while testing legacy hardware. Stuck at or after non existing com port.

Do I have to build a legacy free kernel or is there some other trick?

 
Last edited by a moderator:

tobik@

Daemon
Developer

Reaction score: 1,377
Messages: 1,909

OP
OP
O

olidietzel

New Member


Messages: 4

Update:

There seems to exist a patch for Cherry Trail uarts

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

diff --git a/sys/dev/uart/uart_bus_pci.c b/sys/dev/uart/uart_bus_pci.c
index 4166222..13dd919 100644
--- a/sys/dev/uart/uart_bus_pci.c
+++ b/sys/dev/uart/uart_bus_pci.c
@@ -128,6 +128,10 @@ static const struct pci_id pci_ns8250_ids[] = {
{ 0x8086, 0x1c3d, 0xffff, 0, "Intel AMT - KT Controller", 0x10 },
{ 0x8086, 0x1d3d, 0xffff, 0, "Intel C600/X79 Series Chipset KT Controller", 0x10 },
{ 0x8086, 0x1e3d, 0xffff, 0, "Intel Panther Point KT Controller", 0x10 },
+{ 0x8086, 0x228a, 0xffff, 0, "Intel Cherryview SIO HSUART#1", 0x10,
+ 24 * DEFAULT_RCLK, 2 },
+{ 0x8086, 0x228c, 0xffff, 0, "Intel Cherryview SIO HSUART#2", 0x10,
+ 24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x2a07, 0xffff, 0, "Intel AMT - PM965/GM965 KT Controller", 0x10 },
{ 0x8086, 0x2a47, 0xffff, 0, "Mobile 4 Series Chipset KT Controller", 0x10 },
{ 0x8086, 0x2e17, 0xffff, 0, "4 Series Chipset Serial KT Controller", 0x10 },
 

Arptastic

New Member

Reaction score: 1
Messages: 1

Hi All,

Appreciate this thread happened long ago but it's one of the highest ranking results for this issue and so would like to potentially help others facing the same issue.

I was attempting to install pfsense on a machine affected by this issue earlier today. I wrote the installer to a key, booted it and was getting the same error message.

To allow the installation to continue, press space on boot to pause the boot menu, press 3 to go into the loader.

You can then override the UART settings and boot normally:

Code:
set hint.uart.0.disabled="1"
set hint.uart.1.disabled="1"
boot
After installation you'll need to edit the /boot/device.hints file with the edits as mentioned by OP.

Quick edit: seems creating /boot/loader.conf.local and adding the two lines there is more suitable for pfsense, as device.hints gets replaced on a firmware update!

Many Thanks

Adrian
 

Attachments

Last edited:

pgauret

New Member


Messages: 3

Just faced a very similar situation with the Atomic Pi board running FreeBSD 12.0.

In my case setting the uart to disabled didn't work. Instead I managed to boot by issuing
Code:
unset hint.uart.1.at
boot
Once the install finished I just commented the relevant entry in /boot/device.hints

Hope this is as helpful to others as the previous posts on this issue were to me.
 
Top