On 27 Feb 2002, Bill Moseley wrote:
> I had started the process of building a kernel yesterday before being so > rudely interrupted by sleep. > > I'm currently running 2.2.20 but upgrading to 2.4.17. I had tried once > before to use a kernel-image, but ended up with a kernel-panic that I never > followed up on. This system was installed Woody and upgraded to Sid. > > I'd like to try using kernel-image-2.4.17-k7 for the experience of using a > packaged kernel, and then also I'd have a very close .config to start with > when I want to build my own kernel from source. > So, I'd like to avoid the kernel panic this time with the > kernel-image-2.4.17-k7 package. What steps do I need to take to make sure > I will end up with a bootable image? Someone mentioned that moving to the > more modular 2.4 kernel might have been the problem - something about not > setting up initrd? > I'd also like to also use lilo.conf to be able to select which kernel (I > can figure this out, but I mention it as I'm not sure if just apt-get'ing > the kernel-image will do this by default). > Anyway, last time I just apt-get install kernel-image-2.4.17-k7, but > perhaps that was not enough. I poked around looking for docs, but mostly > found info about compiling my own. Any pointers? Hi Bill, i would personally not bother at all with the precompiled images. It is a very straightforward matter to compile your own kernel. You also don't need a .config file to start with. When you start up make menuconfig or make xconfig it will present you with its list of default settings. If you were to make no changes at all but simply exit and save you would get a default .config. In most cases choosing options using xconfig is very straightforward, unless you have exotic hardware. You can (and should) generally turn off entire subsystems which are enabled by default like usb or sound if you don't have the appropriate hardware. If you need to enable them, you probably should look at te appropriate howtos (if they exist). Examples of the kinds of issues that come up are a) Do I compile it into the kernel or as a module? As a rule of thumb, devices external to the base system (device drivers etc) are a good choice to compile as modules. Sometimes they need to be loaded in a particular order. b) If you are dualbooting with a Windows installation, you might want to enable fat32/ntfs filesystem read support. c) You'll want to disable pcmia if you are not using it. This seems to be something that doesn't have a proper default. At least it I don't explicly disable it, the kernel compile process always stops and asks me questions during compilation. d) You should enable ext3 support. It is simple to configure and works fine with 2.4.17. e) In some cases you can't enable some option till you have enabled another. It is sometimes not obvious (and not well documented) what that other option should be. f) You'll need to need to know in advance which drivers are needed by your sound card, ethernet card, etc. For this, it can be helpful to have another networked machine handy so you can use Google. If you want to send me a copy of your .config (as an email attachment) if you are not sure about something, and a description of your hardware I can make specific suggestions. I don't know what initrd is, but that has never affected me, and I've built kernels on several different systems AMD/Intel with 100% success (no issues whatsoever). The first time I did it I had just finished reading the docs and didn't know anything more than you do now. It is quite easy as long as you are careful. Don't let anyone convince you otherwise. Sincerely, Faheem Mitha.