/boot/loader.efi and buildkernel

2014-09-23 Thread O. Hartmann

Modules and kernel are built when running make buildkernel, but the other 
contents
of /boot/ aren't. How can I manually - and separately - build the loader,
especially /boot/loader.efi?

I realized that building loader.efi with any kind of optimization beyond 
debugging- or
close-to-debugging level ends up in an unloadable loader.efi on Haswell CPUs 
(IvyBridge
and C2D seem to be unaffected). The system in question is the most recent 
CURRENT,
compiled with system's CLANG 3.4.1.

Regards,
Oliver


signature.asc
Description: PGP signature


Re: /boot/loader.efi and buildkernel

2014-09-23 Thread Harald Schmalzbauer
 Bezüglich O. Hartmann's Nachricht vom 23.09.2014 14:16 (localtime):
 Modules and kernel are built when running make buildkernel, but the other 
 contents
 of /boot/ aren't. How can I manually - and separately - build the loader,
 especially /boot/loader.efi?

Simply cd to src/sys/boot and do 'make clean  make  make
DESTDIR=/altroot', the latter only if you don't want to overwrite
curdev's /boot/ files.
For loader.efi only, it's enough to do 'make clean  make' in the
following directories:
src/sys/boot/ficl
src/sys/boot/efi
src/sys/boot/amd64/efi

From amd64/efi you can 'make install' to just copy loader.efi (or copy
manually from obj/$src/sys/boot/amd64/efi/loader.efi)


 I realized that building loader.efi with any kind of optimization beyond 
 debugging- or
 close-to-debugging level ends up in an unloadable loader.efi on Haswell CPUs 
 (IvyBridge
 and C2D seem to be unaffected). The system in question is the most recent 
 CURRENT,
 compiled with system's CLANG 3.4.1.

This is confirmed for CPUTYPE=core-avx2, see my recent post. My test
machine was haswell as well, but I haven't tested on anything else!

-Harry




signature.asc
Description: OpenPGP digital signature