1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00

Sigh.. Finally add a 6.0 section on what you need to do to actually

configure a new kernel.
This commit is contained in:
Jordan K. Hubbard 1994-12-28 02:39:29 +00:00
parent 0cd1222834
commit 57d7186a4c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=5254

View File

@ -3,10 +3,10 @@
Frequently Asked Questions
For Version 2.0
Please mail all suggestions and additions to <FreeBSD-FAQ@FreeBSD.ORG>
Please mail all suggestions and additions to <FAQ@FreeBSD.ORG>
Revision: $Id: FreeBSD.FAQ,v 1.11 1994/11/25 19:40:25 gclarkii Exp $
Revision: $Id: FreeBSD.FAQ,v 1.12 1994/12/05 08:02:14 gclarkii Exp $
All entries are assumed to be relevant to FreeBSD 2.0.
Any entries with a <XXX> are under construction.
@ -608,6 +608,60 @@ may ftp to ftp.gbdata.com and grab them from ~/pub/perl/libs.tar.gz.
6 Kernel Configuration
----------------------
6.0: Ok, so how DO I compile my own kernel, anyway?
Before you can compile a kernel, you need either the complete srcdist
or, at the minimum, the kerndist loaded on your system. This provides
the necessary sources for building the kernel, as we have a policy of
NOT shipping our kernels in linkable object form as most commercial
UNIX vendors do. Shipping the source takes a bit more space, but it also
means that you can refer to the actual kernel sources in case of difficulty
or to further your understanding of what's *actually* happening.
Anyway, to answer the question, once you have the kerndist or srcdist
loaded, do this:
6.0.1: cd /usr/src/sys/i386/conf
6.0.2: cp GENERIC MYKERNEL
6.0.3: vi MYKERNEL
6.0.4: config MYKERNEL
6.0.5: cd ../../compile/MYKERNEL
6.0.6: make all
6.0.7: make install
6.0.8: reboot
Step 6.0.2 may not be necessary if you already have a kernel configuration
file from a previous release of FreeBSD 2.x. - simply bring your old one
over and check it carefully for any drivers that may have changed boot
syntax or been rendered obsolete.
A good kernel config file to look into is LINT, which contains entries for
*all* possible kernel options and documents them fairly well. The GENERIC
kernel config file is used to build the initial release you probably loaded
(unless you upgraded in-place) and contains entries for the most common
configurations. It's a pretty good place to start from.
If you don't need to make any changes to GENERIC, you can also skip step
6.0.3, where you customize the kernel for your configuration. Step 6.0.7
should only be undertaken if step 6.0.6 succeeds. This will copy
the new kernel image to /kernel and BACK UP YOUR OLD ONE IN /kernel.old!
It's very important to remember this in case the new kernel fails to work
for some reason - you can still select /kernel.old at the boot prompt to
boot the old one. When you reboot, the new kernel will boot by default.
If the compile in 6.0.6 falls over for some reason, then it's recommended
that you start from step 6.0.4 but substitute GENERIC for MYKERNEL. If you
can generate a GENERIC kernel, then it's likely something in your special
configuration file that's bad (or you've uncovered a bug!). If the build
of the GENERIC kernel does NOT succeed, then it's very likely that your
sources are somehow corrupted.
Finally, if you need to see your original boot messages again to compile
a new kernel that's better tailored to your hardware, try the `dmesg' command.
It should print out all the boot-time messages printed by your old kernel,
some of which may be quite helpful in configuring the new one.
6.1: When I compile a kernel with multi-port serial code, it tells me
that only the first port is probed and the rest skipped due to
interrupt conflicts. How do I fix this?