SV: UEFI boot fail on higher resolutions (Re: Acer E3-112 and UEFI)

2015-07-18 Thread Anders Bolt-Evensen
-Opprinnelig melding-
Fra: owner-freebsd-curr...@freebsd.org
[mailto:owner-freebsd-curr...@freebsd.org] På vegne av Jakob Alvermark
Sendt: tirsdag 30. juni 2015 20.53
Til: freebsd-current@freebsd.org
Emne: Re: UEFI boot fail on higher resolutions (Re: Acer E3-112 and UEFI)

On Wed, February 4, 2015 15:04, Jakob Alvermark wrote:

 On 31 dec 2014, at 16:24, Jakob Alvermark wrote:


 On Tue, December 30, 2014 17:00, Nathan Whitehorn wrote:



 On 12/30/14 06:40, Jakob Alvermark wrote:


 Hi,



 Have been playing with this machine for a while now.
 It is a quad core Pentium N3540 (ValleyView/Bay Trail), 8 GB RAM. 
 It  came with a Broadcom WiFi card which I swapped for an Intel 
 which is supported by FreeBSD. Also swapped the hard drive for an SSD.

 When first trying to boot FreeBSD with UEFI it would not boot.
 It stops after the loader is trying to start the kernel.
 My workaround now is using refind, http://www.rodsbooks.com/refind/ 
 to set the screen resolution to 800x600. (Native is 1366x768) Only 
 then will it boot using UEFI. I tried setting it to 1024x768, then 
 it crashes. If it helps I can get the backtrace.

 [Not sure what's going on here]




 A follow up on this:


 I tried this on my desktop machine (AMD FX-8350, Radeon HD 5450) to 
 see if it has the issue, and it has! I went on to try it on my desktop 
 machine at work (Core i3-4130, Radeon HD 4350) and it boots!

 On the Acer, resolution set to 1024x768:


 FreeBSD EFI boot block

 Loader path: /boot/loader.efi
 Consoles: EFI console
 Image base: 0x7502f000
 EFI version: 2.40
 EFI Firmware: INSYDE Corp. (rev 21522.39)


 ---
 Start @ 0x802e1000 ...
 EFI framebuffer information:
 addr, size  0x8000, 0x30 dimensions  1024 x 768
stride
 1024
 masks   0x00ff, 0xff00, 0x00ff, 0xff00

 ---


 kernel trap12 with interrupts disabled


 Fatal trap 12: page fault while in kernel mode
 cpuid = 0; apic id = 00 fault virtual address = 0x13 fault code
 = supervisor read data, page not present
 instruction pointer   = 0x20:0x80a20834 stack pointer
 = 0x28:0x81604170
 frame pointer   = 0x28:0x81604290 code segment
 = base 0x0, limit 0xf, type 0x1b
 = DPL 0, pres 1, long 1, def32 0, gran 1
 processor eflags = resume, IOPL = 0 current process   = 0
 ()
 [ thread pid 0 tid 0]
 Stopped at  kvprintf+0xd4:movzbl   (%r14),%eax


 




 On the home desktop resolution 1024x768:


 FreeBSD EFI boot block

 Loader path: /boot/loader.efi
 Consoles: EFI console
 Image base: 0xb08ac000
 EFI version: 2.31
 EFI Firmware: American Megatrends (rev 4.653)


 ---
 Start @ 0x802e1000 ...
 EFI framebuffer information:
 addr, size  0xc000, 0x30 dimensions  1024 x 768
stride
 1024
 masks   0x00ff, 0xff00, 0x00ff, 0xff00

 ---
 kernel trap12 with interrupts disabled


 Fatal trap 12: page fault while in kernel mode
 cpuid = 0; apic id = 00 fault virtual address = 0x13 fault code
 = supervisor read data, page not present
 instruction pointer   = 0x20:0x80a20654 stack pointer
 = 0x28:0x81603d70
 frame pointer   = 0x28:0x81603e90 code segment
 = base 0x0, limit 0xf, type 0x1b
 = DPL 0, pres 1, long 1, def32 0, gran 1
 processor eflags = resume, IOPL = 0 current process   = 0
 ()
 [ thread pid 0 tid 0]
 Stopped at  kvprintf+0xd4:movzbl   (%r14),%eax


 


 On the work desktop:


 FreeBSD EFI boot block

 Loader path: /boot/loader.efi
 Consoles: EFI console
 Image base: 0xbb7aa000
 EFI version: 2.31
 EFI Firmware: American Megatrends (rev 4.654)


 ---
 Start @ 0x802e1000 ...
 EFI framebuffer information:
 addr, size  0xe000, 0x30 dimensions  1024 x 768
stride
 1024
 masks   0x00ff, 0xff00, 0x00ff, 0xff00

 And then it boots normally.



 Does anyone have any clues on what's going on here?


 (This all typed manually from screenshots taken with my phone, there 
 might be typos.)

Another update!

As I found out the EFI loader has the capability to change screen modes I
dumped refind and started playing with this again.
mode 5 gives me 1024x768 and a panic:

---
kernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00
fault virtual address  = 0x1f2d0ec
fault code = supervisor read data, page not present
Instruction pointer= 0x20:0x8030003d
stack pointer  = 0x28:0x81616f70
frame pointer  = 0x28:0x0
code segment   = base 0x0, limit 0xf, type 0x1b
   = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags   = resume, IOPL = 0
current process= 0 ()
---

What struck me then was this line:
instruction pointer= 0x20:0x8030003d
and the fact that:
EFI framebuffer information:

Segmentation fault running ntpd

2015-07-18 Thread David Wolfskill
Lousy timing (no pun intended -- it's early in the day for me),
given the recent MFC, but as I was booting my laptop to yesterday's
head:

FreeBSD g1-245.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #127  
r285652M/285652:1100077: Fri Jul 17 04:30:16 PDT 2015 
r...@g1-245.catwhisker.org:/common/S3/obj/usr/src/sys/CANARY  amd64

to build today's head (@r285670; still in progress as I type), I
happened to note [Oh, great -- we can no longer copy/paste from
console now??!?  Fine, I'll transcribe by hand :-(]:

...
bound to 172.17.1.245 -- renewal in 43200 seconds.
pid 544 (ntpd), uid 0: exited on signal 11 (core dumped)
Starting Network: lo0 em0 iwn0 lagg0.
...

Trying to examine the /ntpd.core, I see:
root@g1-245:/ # gdb `which ntpd` ntpd.core 
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as amd64-marcel-freebsd...(no debugging symbols 
found)...
Core was generated by `ntpd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libcrypto.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypto.so.7
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x0008011cd6a0 in sbrk () from /lib/libc.so.7
[New Thread 801c07400 (LWP 100122/unknown)]
[New Thread 801c06400 (LWP 100120/unknown)]
(gdb) bt
#0  0x0008011cd6a0 in sbrk () from /lib/libc.so.7
#1  0x0008ccbd4f34 in ?? ()
#2  0x0005 in ?? ()
#3  0x000801800448 in ?? ()
#4  0x0008011ca888 in sbrk () from /lib/libc.so.7
#5  0x0008018000c8 in ?? ()
#6  0x0008018000c0 in ?? ()
#7  0x0208 in ?? ()
#8  0x000801c32fb0 in ?? ()
#9  0x0001 in ?? ()
#10 0x000801cc20c8 in ?? ()
#11 0x0030 in ?? ()
#12 0x000801cc20c8 in ?? ()
#13 0x7fffe480 in ?? ()
#14 0x0008011cd240 in sbrk () from /lib/libc.so.7
#15 0x0280 in ?? ()
#16 0x0008014bbc70 in malloc_message () from /lib/libc.so.7
#17 0x0008018000c0 in ?? ()
#18 0x000801800448 in ?? ()
#19 0x0032 in ?? ()
#20 0x000801800458 in ?? ()
#21 0x0008014bbc68 in malloc_message () from /lib/libc.so.7
#22 0x000801cc2000 in ?? ()
---Type return to continue, or q return to quit---
#23 0x0008014bba60 in malloc_message () from /lib/libc.so.7
#24 0x000801cc20d8 in ?? ()
#25 0x00a0 in ?? ()
#26 0x0208 in ?? ()
#27 0x7fffe4d0 in ?? ()
#28 0x0008011bdd7a in _malloc_thread_cleanup () from /lib/libc.so.7
Previous frame inner to this frame (corrupt stack?)
(gdb) 

which seems... well, not especially useful, as far as I can tell.


This is (as mentioned above) on my laptop; as such, it is expected to
wander from one network to another.  Accordingly:

* Since it could be connected to a network I do not control, I use a
  packet filter (IPFW, in my case) to reduce my exposure from a
  possibly-hostile network.

* Rather than enabling ntpd in /etc/rc.conf, I use
  /etc/dhclient-exit-hooks to start ntpd after the laptop has a DHCP
  lease.  (For networks I control, I also set up the DHCP server to
  advertise what NTP server the DHCP clients should use, but the code in
  dhclient-exit-hooks merely prefers that, rather han requiring it.)

* In my world-view -- at least for networks I control -- DNS zone files
  are the Source of Truth with respect to hostname - IP address
  correspondence, and Dynamic DNS is Evil.  I populate my zone files
  with appropriate A  PTR records so that every assignable DHCP
  address has a PTR record, and the hostname to which it points has
  an A record that points back to that IP address.  Accordingly, I
  also use /etc/dhclient-exit-hooks so the laptop can find out what
  its hostname is, and set it accordingly.

Mind, I've been doing the above for well over a decade, so that doesn't
qualify as new.

And most of the time, it Just Works (which is a significant reason I
keep doing it).

A couple of other things that are more recent, and possibly of
relevance:

* As alluded to above, I have the em0  wlan0 (iwn(4)) NICs set up using
  Link Aggregation in failover mode.  In practice, I rarely use
  the em0 (wired) NIC -- I had originally done that based on a
  misperception of how I thought things were set up at work, and
  then just left the configuration alone and 

Re: -current broken when src is on NFS

2015-07-18 Thread Simon J. Gerraty
O'Connor, Daniel dar...@dons.net.au wrote:
 However, Crochet _does_ build on the NFS client _and_ when the source
 tree isn't in /usr/src which makes this issue very strange :-/

I've seen similar errors in rescue... (no NFS) though I cannot 
quite recall the cause other than it seems very sensitive
to MAKEOBJDIRPREFIX value.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org