Kernel Creation (was Mwave Winmodem)

ME dugan at passwall.com
Fri Dec 13 15:05:51 PST 2002


Shorter Rankin said:
> Thanks for this. I'm still interested in recompiling the kernel
> but not in the next 15 minutes. Suprising how easy it was
> to support the Zip 100 parallel drive. I just wish that
> Iomega had mentioned that sdb4 was the device
> name I needed.

sdb is scsi disk device "b" and 4 is the partition on that disk.
The paralel zip stuff makes the drive look like a scsi device, even if you
dont have a scsi bus.

>>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.
>
> Sorry for the poor terminology. My question is about a new
> kernel vs. a whole new source tree. If I'm compiling a new
> kernel and haven't gotton an entire new source tree,
> what is it that gets compiled? IOW does the make utility
> drop down below the kernel directories?

I do not think it does or should. Generall, just "making" something stays
in the local src tree and may read libs and header files from outside (to
compile the src) but generally should not modify content outside the
source tree. In some applications, a "make install" then installs and
alter content outside the source tree, but that is a different matter.

When you make a kernel, you only make and modify files in the kernel
source tree. If you copy the kernel to another folder, modify your boot
record to include a ref to the new kernel, "make modules_install" then you
are modifying stuff outside the kernel source tree. Of course, you should
copy the "System.map" from the root level of the kernel source tree into
some common directory (like /boot) and give it some name like:
"System-2.4.20" so that you know which kernel it was for.

> Several years ago I checked a book out of the public
> library - a book about Linux networking. Enclosed CD
> has an old copy (1996, 1997?) of Slackware Linux.
> I installed it so I could follow along. Then I recompiled
> the kernel using make menuconfig. All of my hardware
> was recognized, but Xwindows never started - error
> messages complained about missing libraries. I'm
> sure the Slackware installation routine didn't check
> for unresolved dependencies.

That should not have happened, unless you forgot to compile support for
different binary formats into the kernel (not likely if everything else
worked.) You may have omitted the copy of the System.map file as that can
cause problems with many apps that have intimate relationships with
hardware.

Generally speaking, "X" should not stop working just because you compile a
new kernel.

Now-a-days, there are special video driver enhancements in the kernel, and
also 3rd-party modules that need to be enabled/installed/compiled any time
you rebuild a new kernel, but these generally only give you more advanced
features - they generally dont kill X and prevent it from starting.

This is a good problem to work on in-list or at an installfest. :-)

If you update libraries (especially on older systems) you would sometimes
need to issue an "ldconfig" as root, but I dont see any obvious reason for
this when building a kernel with similar options to the previous kernel -
unless a require binary options in the kernel was disabled.

> If I do recompile the kernel on my RH8 machine
> by hand then I lose the safety net RH has in
> their installation routine - checking for
> unresolved dependencies.

Sorry, you will need to have a RedHat user answer this. I am a Debian guy.

> Also thanks for uname -a. That returns
> what I thought it would.

Yeah, kernel versions are helpful, and that gives you info about your
current kernel. :-)

> Nother rookie question. I'm
> getting way too many 'command
> not found' errors. Let's say I
> would go to the Iomega 'support' CD
> and type the name of a setup script.
> Error msg "-bash: command not found:"
> But if I type "bash setup" then the
> script runs. Does this mean that
> bash is not my default shell
> (and how can I find out what is)?

Likely, it is a security feature. If the app "setup" is located in the
"resent working directory" then many systems disable execution of files in
present dir for security reasons. If you wish to run a program in the
current dir, try:
../apptorun
say you have "setup" in your PWD, then you can type:
../setup
see if that works for you..


If you really get fed up with the preceeding "./" before files to run in
the PWD, then there are ways to make your system run loacl apps too.


-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