Hi,
Quote:
Excerpt /usr/src/linux-2.6.21.5/README;
INSTALLING the kernel:
- If you install the full sources, put the kernel tarball in a
directory where you have permissions (eg. your home directory) and
unpack it:
|
I usually do a '~#user mkdir /home/build' as a ~#/home/user. That way I can move to an from the build user space without problems. That way you will be able to compile the kernel independent of the root. Of course you would become root to to the install portion, 'make modules_install' or copy the 'bzImage' to the /boot. Or modify the '/etc/lilo.conf' and then write the 'lilo'.
Code:
~#gws@odin:~$ ls ../build
hdb_backup/ slackware-current/
I sometimes create a build in my /home directory. This is just ease of use. But if I want someone else to have access then I create in the /home/build and provide permissions.
Quote:
Excerpt /usr/src/linux-2.6.21.5/README;
Do NOT use the /usr/src/linux area! This area has a (usually
incomplete) set of kernel headers that are used by the library header
files. They should match the library, and not get messed up by
whatever the kernel-du-jour happens to be.
|
This warning is sometimes ignored by users but should not present you with a problem if you use the build technique.
Quote:
Excerpt /usr/src/linux-2.6.21.5/README;
BUILD directory for the kernel:
When compiling the kernel all output files will per default be
stored together with the kernel source code.
Using the option "make O=output/dir" allow you to specify an alternate
place for the output files (including .config).
Example:
kernel source code: /usr/src/linux-2.6.N
build directory: /home/name/build/kernel
To configure and build the kernel use:
cd /usr/src/linux-2.6.N
make O=/home/name/build/kernel menuconfig
make O=/home/name/build/kernel
sudo make O=/home/name/build/kernel modules_install install
Please note: If the 'O=output/dir' option is used then it must be
used for all invocations of make.
|
This should be self defining but;
They are speaking of a build area that is independent of the 'usr/src/linux'. Most programmers use this technique so as not to mess with the original space or tree.
The build is independent of the '/usr/src/linux-2.6.N' directory.
Notice the 'sudo'! You could also do a 'su' if you haven't modified the '/etc/sudoers' file to include yourself. You will have to provide the root password.
Also remember the lib warning!
You can make your compile unique by editing the 'Makefile' by adding a unique label to the 'EXTRAVERSION ='
option before you compile.
edit: clarify a statement