In the spirit of (at least my intention is to be) constructive, I welcome
any and all further constructive as well as relevant to this specific
subject, matter.
> I got the 2.6.20.
> But I found that is complex to menuconfig.
Yes, rather complex, to say the least (daunting to me at my experience
level). But, as enclosed herein, to generate an entire menuconfig versus
to edit a pre existing config are hugely different from each other.
I focus on how I started by editing a pre existing config which is not so
complex nor did I find it daunting.
> I think you have experience about recompiling the kernel. Do you give
> me some advice? I am a Linux Newbie.
It's been asked and answered many many times.
Next, first I've listed some pointers to self helps. And then it's
portrayed how I *only got my feet wet so far* a.k.a. how I myself getting
started (only, as in no further, not yet than getting started) with kernel
compile.
On the www go to google groups and search there the archives of this group,
alt.os.linux.slackware
Once there, to find: 1. the pointer to this group's FAQ. 2. "2.6 kernel
compile"
Also (If appetite not satisfied there) on the www go to www dot
linuxquestions dot org. At there, find their Slackware forum. And then
search that forum like did at google groups for same terms.
You're now *guaranteed to be swamped* with kernel compile articles, hints,
etc.
And now, next, I've listed the short portrayal of my *getting started* with
2.6 kernel compile.
I've *not enough* experience at kernel compile. I botched it a bunch of
times.
When I succeeded, how/what I did that brought me successfullness:
1. *Very* importantly, there exists a config file for the kernel, I speak
here specifically only of the kernel that's currently being run/used/loaded
(the kernel that your boot loader loaded).
2. So, given #1 above: I had first used (learned how to do) one of
Slackware's 2.6 kernels from /extra or /testing (this is easy, just install
such Slackware package *and* its corresponding module package and perhaps
its corresponding source code package). To get installed/working like I
just said, I needed an initrd. Directions (slackware) are exist as to
howto create the initrd. Success! (works fine with initrd).
3. For no other reason than *I want to begin to learn kernel compiling*, I
want to be rid (do away with or dispense of) of the initrd. Doing so
requires that whatever driver/module support that the initrd provides, said
support in the form of drivers/modules *must now be compiled into the
kernel* (So, I'm about to get my feet wet or getting started at kernel
compiling).
4. So, now we begin to discover the importance of #1 listed above. I forget
the command, though "make menuconfig" and/or "make oldconfig" (?).
Essentially, what we need to do here is to get the menu config dialog up
but do not get it up starting from scratch or without a pre existing
config. A way exists with which to get this menu config dialog up so that
when it comes up (as in #1 above) the menu/dialog is loaded with your
config from #1 above.
So, get the menu up so that you can edit. But get it up with the mentioned
config in it so that what we're doing is we're editing the mentioned config
rather than starting from scratch (from scratch is too daunting, requires
me to both generate and edit a config rather than just edit a config).
So, you'll need to investigate the enclosed self helps in order to get the
correct commands and the order in which to use them. My above mentioned
make commands are not correct since I forgot what they are.
5. In the ways listed so far, now all that we need to do is add into the
config just a few items (in one of my cases it was ext3 filesystem support
and support for my scsi hard drive). Save the new (just slightly altered)
kernel config, have it compile a kernel, using this new config. Get the
newly compiled kernel into bootloader (previous mentioned slackware package
of kernel modules will still be ok to use since we're still using the same
version of 2.6 kernel).
To reiterate, all we did was to use the former (kernel's) config as a base
from which to operate. We then added into this config just a few new
items. Then, compile, which in this particular case adds into the kernel
the support that the initrd formerly handled.
Success! Booted using the newly compiled kernel which does not need an
initrd. In lilo there exists for this kernel *no command to load an
initrd*. Therefore when this kernel is loaded by lilo, an initrd *is not
even looked for*
Success! Success!
That got me at least introduced or getting started to kernel compile (while
also achieving success). (Newly compile a (importantly) *same* version of
kernel while using Mr. Volderki's kernel config as a base for me to add a
few items onto this base config).
Once again, I've *not enough* experience at kernel compile.
Next, beware that it can or might no longer be the same like above given if
we want to compile a *different* or more recent version of kernel.
As to further of/about the all important *config* some more notes, notices:
If you want to compile a significantly later or more recent version of
kernel, beware that some things can get depracated (are no longer in or
have been totally eliminated from the config). Also beware that new things
can get introduced (things that were not ever formerly in the config).
With this case, we're talking that a former kernel version's config may not
work. But if you're advanced enough so as to know what to hack then you
know what can and what cannot be used from a former config and can both
generate and edit accordingly (way beyond my current expertise).
Good luck.
--
Alan B. C. cu
Have fun
Stanislaw