Построение и установка нового ядра
5.2. Построение и установка нового ядра
First, let us take a quick tour of the kernel build
directory. All directories mentioned will be relative to
the main /usr/src/sys directory, which is also
accessible through /sys. There are a number of
subdirectories here representing different parts of the
kernel, but the most important, for our purposes, are
i386/conf, where you will edit your custom
kernel configuration, and compile, which is the
staging area where your kernel will be built. Notice the
logical organization of the directory tree, with each
supported device, filesystem, and option in its own
subdirectory. Also, anything inside the i386
directory deals with PC hardware only, while everything
outside the i386 directory is common to all
platforms which FreeBSD could potentially be ported to.
Note: If there is not a
/usr/src/sys directory on your system, then the
kernel source has not been been installed. Follow the
instructions for installing packages to add this package
to your system.
Next, move to the i386/conf directory and copy
the GENERIC configuration file to the name you want to
give your kernel. For example:
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
Traditionally, this name is in all capital letters and,
if you are maintaining multiple FreeBSD machines with
different hardware, it is a good idea to name it after
your machine's hostname. We will call it MYKERNEL for
the purpose of this example.
Note: You must execute these and all of the
following commands under the root account or you will get
``permission denied'' errors.
Now, edit MYKERNEL with your favorite text editor. If
you are just starting out, the only editor available will
probably be vi, which is too complex to explain
here, but is covered well in many books in the
bibliography. Feel free to change the
comment lines at the top to reflect your configuration or the
changes you have made to differentiate it from GENERIC.
If you have build a kernel under SunOS or some other BSD
operating system, much of this file will be very familiar
to you. If you are coming from some other operating
system such as DOS, on the other hand, the GENERIC
configuration file might seem overwhelming to you, so
follow the descriptions in the
Configuration File
section slowly and carefully.
Note: If you are trying to upgrade your kernel from an
older version of FreeBSD, you will probably have to get a new
version of config(8) from the same place you got the new
kernel sources. It is located in /usr/src/usr.sbin, so
you will need to download those sources as well. Re-build and install
it before running the next commands.
When you are finished, type the following to compile and
install your kernel:
# /usr/sbin/config MYKERNEL
# cd ../../compile/MYKERNEL
# make depend
# make
# make install
The new kernel will be copied to the root directory as
/kernel and the old kernel will be moved to
/kernel.old. Now, shutdown the system and
reboot to use your kernel. In case something goes wrong,
there are some
troubleshooting instructions at the end of this
document. Be sure to read the section which explains how
to recover in case your new kernel
does not boot.
Note: If you have added any new devices (such
as sound cards) you may have to add some
device nodes to your
/dev directory before you can use them.
Назад | Содержание | Вперед
|