Kernel Creation (was Mwave Winmodem)

ME dugan at passwall.com
Tue Dec 10 18:41:18 PST 2002


ME said:
[chop]
(Sorry, let me address the other Q's too)

> Shorter Rankin said:
>> OK so you want another rookie question?
>> I went to www.kernel.org and got
>> linux-2.4.20.tar.gz (new kernel
>> sources). Copied the tarball to
>> /usr/src ran gzip -cd linux-2.4.20.tar.gz | tar xvf -
>> So far so good. Now if I run configure am I
>> just installing the new kernel or am I
>> recompiling the whole system?

after you configure, and then:
# make clean && make dep && make bzImage && make modules && make
modules_install

(Which is a string of commands for your shell such that the rest of the
commands will not proceed if any one of the preceeding ones fails to
work.)

When you do this, you are only compiling a new kernel. Generally
speaking, the "whole system" often refers to the kernel and all of the
applications that suport its working.

Think of the kernel as this big program that manages memory, processes,
arbitration of access to hardware by applications (to/from). When you
compile a kernel, you compile a "program" (a special program) that is
often from 284kB to ~4MB or more (estimated). All of the other
qapplications should remain unchanged.

So, assuming you have apache running on the machine before the new
kernel, then after you boot with the new kernel (assuming you have all
of the support necessaryu for apache to run (networking, interface
support for your interfaces, etc.) then apache should start up when you
reboot with no alterations.

I give the above as an example, since I dont really know what you meant
by "whole system" and figure you can answer this yourself now. :-)

>> The existing kernel is 2.4.18-14
>> RH 8 demo. Do I need to
>> create a symbolic link somewhere?

Often, after I download a new kernel to /usr/src , I will make sure any
folder "linux" is renamed to a folder that describes the name. (*then* I
will unpack the new kernel in /usr/src. Why? Sometimes, kernel src trees
extract to a dir called "linux" and that could extract and overwrite the
contentsof such a filder if it were there. (If, there was a symlink from
/usr/src/linux to another location, I would instead delete it.)

After you extract your kernel source, you may want to move it to a new
dir. I often use the naming scheme "linux-2.4.x" where the kernel
version follows "linux-". This allows me to keep multiple source trees.
After the source tree is moved, then I create a new symlink from
/usr/src/linux to the dir.

There was an older method withere /usr/include dirs were linked to linux
header files, but it is beyond the scope of this e-mail which is too
long anyway. :-/

>> Can I run menuconfig and if so
>> from what directory? Among
>> other things I want to build in
>> support for an old Iomega
>> Zip 100 parallel drive.

You would run :
# make menuconfig
from the base dir of the new linux source. Some of the basic information
was provided in the previous e-mail. You may want to read a kernel
compiling how-to for really good information on making a new kernel...

*however*, you may allready have support for the older IOMega zip drives
over parallel ports. You can try:
# modprobe ppa

or

# modprobe imm

Two different drivers. If one does not work, then rmmod it and modprobe
the other.

Hope this helps.

-ME




-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/CM$/IT$/LS$/S/O$ !d--(  ) !s !a   (-----) C  $(    ) U    $( $) P $>
L   $(  ) E W   $( ) N  o K w $>  >    O-@ M $ V-$>- !PS !PE Y  PGP
t at -(  ) 5 @ X@ R- tv- b   DI    D  G--@ e >  >     h(  )>  r*>? z?
------END GEEK CODE BLOCK------
decode: http://www.ebb.org/ungeek/ about: http://www.geekcode.com/geek.html
  Campus IT(/OS Security): Operating Systems Support Specialist Assistant





More information about the talk mailing list