custom amd64 kernel

b. f. bf1783 at
Tue Jul 21 22:41:41 UTC 2009

>Frankly, I have no idea how to configure the kernel from GENERIC... I
>have installed, in the past and recently, Intel i386 kernels without
>problem but this amd64 thingy is incomprehensible for me... the default
>GENERIC example holds HAMMER as the cpu; mine is Turion with some other
>name for the cpu.
>Changing that does not fix things either.

I'd guess not -- in fact, it should break things.  HAMMER is the name
for a whole class of cpus supported by the amd64 port, as explained in
the comment in src/sys/amd64/conf/NOTES -- which you read before
configuring a custom kernel, right?  Leave it alone.  Turions should
be supported with HAMMER.

>make buildkernel generates error messages regarding "undefined
>reference" to "critical_enter" and "critical_exit" in functions
>"sysarch" and "cpu_set_user_tls"

>The GENERIC (default) kernel works except of errors re ACPI - how to get
>rid of those?

You may not be able to get rid of them easily.  They may be harmless,
or they may be errors that will compromise your machine's performance.
 They may be due to problems with FreeBSD's implementation of ACPI, or
with your machine's BIOS.  We need to know more before we can guess at
the cause(s).  Try setting


in /boot/loader.conf.  Then reboot and record the error messages.
They should be in the output of dmesg(8) , or in /var/run/dmesg.boot.
Follow the instructions in Chapter 11.16 of the FreeBSD Handbook.

>How can I capture the output errors? and/or how to make a custom kernel
>for amd64 ?

For the first question, run script(1) before running "make
buildkernel" to dump the output to a text file that you can examine,
or post to the list.  Make sure that you are using a clean source tree
that is up-to-date, and that you've cleaned out /usr/obj beforehand.
If you are building from sources that are much newer or much older
than what you have installed on the machine, then you will have to
build either a full world or a kernel toolchain before building the
kernel.  Consult src/UPDATING for details.

There is no single answer to the second question.  It depends on what
you want in your kernel, and your hardware, and what sources you are
using.  That's why it's a custom kernel, and not one-size-fits-all.
Again, you've read the relevant sections of the Handbook,
src/UPDATING, NOTES in src/sys/conf and src/sys/amd64/conf, and maybe
parts of the source code, right?  If you haven't, then you shouldn't
be doing this.


More information about the freebsd-questions mailing list