Earlier, someone asked how to build the new linux-2.4.0 kernel.
Here is the way I would (actually did) build it.

You should build 2.4.0 together with a library that supports
its new features, like 32 bit uids, etc.  Thus it is best to build 
it with glibc-2.2.

1. Uncompress the linux-2.4.0 source in /usr/src/linux.  Make sure
that /usr/include/{linux,asm} are soft links to
/usr/src/linux/include/{linux,asm}.  Run 'make menuconfig' to set the
link /usr/src/linux/include/asm and to create the file /usr/src/linux/
include/linux/version.h.

2. Uncompress the glibc-2.2 source in /usr/src/glibc-2.2 and inside this
new directory, uncompress glibc-linuxthreads-2.2.  Create the directory
/usr/src/glibc_tmp, and build glibc inside this directory.  You need to read
both /usr/src/glibc-2.2/INSTALL and /usr/src/glibc-2.2/FAQ before you do
the build, to determine if you have the right tools for the build.
Do a 'configure; make; make install', to replace your existing dynamic
libraries in /lib with the 2.2 libs, and to replace your headers in 
/usr/include with the 2.2 headers.  The kernel headers in /usr/src/linux/
include are used during the glibc build.

3. Now you are ready to build the other tools needed to build the 2.4.0
kernel (build properly to take advantage of all the new features), 
and build them against the new 2.2 library.  Gcc-2.95.2 (egcs-1.1.2)
will not build (work?) anymore, specially when the application has 
c++ code, since several new data structures in gcc-2.95.2/libio/streambuf.h 
have changed in glibc-2.2.  You need the Bruno Haible patches for 
/usr/include/g++-3 and gcc-2.95.2/libio (see the glibc-2.2 FAQ).  Better
still build the new gcc-2.95.3.test1 compiler and use this to build the
tools and the kernel.  The instructions in gcc-2.95.3.test1/install/
directory will guide you in building the new prerelease 2.95.3 compiler.
Gcc-2.95.3 does not have the streambuf problem anymore.  Once gcc-2.95.3
is built, you are ready to build the tools.  What tools are these? 

4. Read the file /usr/src/linux/Documentation/Changes to determine what
tools are needed for the 2.4.0 kernel.  In particular, modutils-2.4.0
util-linux-2.10o and e2fsprogs-1.19 need to be built.  Some other tools 
(like ppp) need to be built, depending on what you want to do.

5. Now you are ready to build the 2.4.0 compiler.  In /usr/src/linux,
do the following:

make menuconfig ; make dep ; make clean ; make bzImage

This will create a new kernel in /usr/src/linux/arch/*/bzImage, which
you need to move to the standard location (/vmlinuz or /boot/vmlinuz)
and install using lilo or boot using loadlin.

6. Then maybe, if you still have some energy left, you might want to build
the other utilities (netkit-0.17, textutils, sh-utils, etc.) against
your spanking new kernel/library.

Now if you think you want to go through this exercise, you might want 
to volunteer to help me build AdmuLinux-2.0.  I did not say it was going 
to be easy, but since you asked ...

PMana


--------
This mail sent through IMP: mail.ateneo.net

_
Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph
To leave: send "unsubscribe" in the body to [EMAIL PROTECTED]

Reply via email to