OK, you have a new kernel, patch or otherwise.. and You're saying, how the *($#^@&*$^&^ hell do I get this running.. everything I try results in failure -UGH-.. Here goes Kyng R-Thurs guide to kernel compiling.. FIRST: read the readme.. then, refer to this.. if you can, print this out somehow.. Ok, first things first.. backup your old kernel.. its under /usr/src somewhere, probably /usr/src/linux. *** NOTE: for slackware 2.0, its under /usr/src/linux-1.0.9, so all you need to do is: under /usr/src: NOTE** VERY IMPORTANT INFORMATION FOLLOWS THIS ** (the followeing is ONLY needed if you feel like removing all extra uneeded files from a previous kernel IF you are ugprading buy using a full kernel upgrade, not a patch.. if you choose to remove your old kernel, do so only at your on risk... patch upgrades should NOT remove their kernel) ** tar cvf ~/oldkernel.tar linux gzip -9 ~/linux.tar now you are backed up... next, you need to get rid of your old kernel.. under /usr/src do: READ ABOVE NOTE FIRST ********** rm -rf linux ******************************* continue on ***************************** next, unzip your kernel.. NOT THE PATCH. If you are JUST using patches, go to the next ***** line.. go to the directory where your kernel zip is.. then do: tar xzvf /where the kernel gz is / where : where the kernel gz file is = the directory it is located in, and the kernelfilename.gz = the real name, i.e. kernel1.1.24+ide.tar ******************************* Patches, etc.. ***************************** if you have any patches, leave them zipped.. if you didnt, read on.. if they are still zipped, skip to the next ******** line.. go to the in which they are located, and for each one, do: gzip -9 patch , where number = a number, i.e. patch24, etc.. ******************************* Readin On ***************************** next, if you are patchin, go to /usr/src and do: zcat //patch??.gz | patch -p0 this should work fine.. the ?? are wildcards, and can be left alone... if you have patch files named patch9.gz, etc, it SHOULD still work.. if anything, you could do each one individually, like this: **** NOTE **** if you recieve an error, or may have, you will have to check, by doing this: find linux -name '*.rej' -o -name '*#' this well find any rejections of a patching operation.. if you find these, I suggest HEAVILY that you upgrade by patch one patch at a time, and then doing the above command after every patching, to find out eactly where you are getting an error.. zcat //patch#.gz | patch -p0 , where #=the number i.e: zcat ~/patch12.gz | patch -p0 zcat ~/patch13.gz | patch -p0 etc.. ok, now, if everything went right continue.. otherwise, read each readme file that came with the patch file.. you well have to unzip it and untar it to read it.. if you need help with this, refer to previous information in this article on how to untar and unzip.. and, if everything went right for patching, do the following to remove any space wasting files.. find linux -name '*.orig' -o name '*~' |xargs rm -f ***************************************************************************** ok, now to the compiling! ... FIRST: ask yourself these questions: do you have a soundcard? network cards? cd rom drives? strange serial ports? bus mice? something different, like a tape drive? scsi? ide? if you are not familiar with your hardware, ask a few local gurus to help you identify your system.. and if they come over, ask them to make sure your installing everything right.... If you answered yes, look around in : /usr/src/linux/drivers and /usr/src/linux/include/linux for some .h files relating to your hardware.. you well probably have to edit the file, and each file includes full documentation.... < and the people rejoice! > **************************** after the .h experience *********************** NOTE: you may not need to edit a .h file.. I didnt.. **************************************************************************** next, go to /usr/include and do: rm -rf linux rm -rf asm ln -s /usr/src/linux/include/linux . (make sure you have the period!) ln -s /usr/src/linux/include/asm . (ditto) ***************************** Make City ************************************ go under /usr/src/linux and do: make mrproper then: make config now, it asks you a billion questions.. here we go: kernel math emulation? (only answer YES if you DONT have a math-co) normal harddisk support (no if you have only SCSI hard drives.. yes if you have ide, rll, mfm, esdi, etc.. ) Xt hard disk support? (only for MFM, RLL, ESDI? type drives on an 8 bit controller. Answer no if you have a 16bit card, or you have only IDE or SCSI, or IDE and SCSI only) Networking support? (If you have a LAN card, serial line, PPP, etc that you want answer yes.. ) I suggest always answering YES to this option. Limit Memory to below 16M? (only YES if your physical memory, not swap, is below 16 megs.. NO if you have 16+ megs) *** NOTE *** if your motherboard design prevents you from caching any ram above 16 meg, (most with 64k cache) answer yes. If you have 128k or 256k cache, and greater than 16 megs of ram, you should be able to answer no. SysV IPC? YES use -m486 flag? (only if you have a 486.. type doesnt matter, could be sx,dx,dlc,slc,dx2,dlc2,slc2,slc3,pentium,etc.... if you have a 486 yes, penitum: yes, 386: no) Next, it pops up networking options: TCP/IP ? Yes IP forwarding/gatewaying: YES the next questions, as it states, are safe to leave untouched. SCSI support? (do you have scsi? (2 or 3 also..) if so, YES, if not, no) as for the SCSI options, I have never done them.. they should be self explanitory, and easy.. maybe Ill get a scsi drive someday... Networking Device Support options. Network device support? (answer yes if you plan to do any networking outside of the local host.. i.e. LAN's.. No if you plan to only do PPP, Slip, etc.. ) Dummy net driver? No (not really needed.. you may choose yes if you feel you well be programming for network items later, however, loopback is generally all you need for programming.. I suggest NO on this one.) SLIP? (Yes if you plan to get SLIP.. no if you dont, since it takes up memory) CSLIP? Same response as SLIP PPP? Same response as SLIP Load balancing? NO Want alpha drivers? (your discretion.. I choose no) the next series ask for specific network card support.. answer yes if you have one, no if you dont.. OTHER ISA Cards refers to other ISA network cards, not other ISA cards in general.. 3com cards? if you have one, yes, if not, no PLIP? No (unless you have PLIP, which to my knowledge, is like SLIP) EISA and on board controllers? this includes on motherboard ide and scsi.. if you have it, yes, if not no apricot? if you have it, yes, if not no pocket and portable? if you have it, yes, if not no CD Rom options.. make SURE you looked at the .h file for your cd rom drive, refer to earlier information in this article for their locations Sony? (if you have one, yes, if not, no) Mitsumi? (if you have one, yes, if not, no) Matushita/Panasonic/(Some Creative Labs too) (if you have one, yes, if not, no) File Systems: minix? yes extended? no second extended? yes xiafs? (if you use it, yes, if not, no) msdos? yes, if you have dos on another partition on your hard drive.. if you have only 4 megs of ram, and no dos partition, and plan to access only dos floppies, you may want to answer NO to this and use mtools for accessing Dos diskettes.. I suggest YES on this one.. /proc? yes nfs? yes, if you have a physical network.. nfs stands for Networked File Systems.. I choose NO, and have no problems.. this should be YES if you have a LAN, or otherwise.. iso9660? if you have a cdrom drive, yes, if not, no os/2 hpfs? (if you have an hpfs drive, yes, if not, no) system V and coherent? (if you have coherent, yes.. NOTE: this does not pertain to the system V utils question you answered yes to earlier.. if you answered yes to that, you don not neccesarily have to answer yes to this question (I didn't), if not no) parallel printer support? if you have a parallel printer, yes, if not no logitech bus mouse? (yes if you do, no if you dont) ps/2 mouse? (yes if you do, no if you dont) microsoft busmouse (NOT THE SERIAL ONE) (yes if you do, no if you dont) Atixl busmouse? (ouch) (yes if you do, no if you dont) selection? if you want it... I don't, as I never use it.. its more of a hinderance on my system.. NO if you have a busmouse.. QIC-02? yes if you do, no if you dont Qic 117? yes if you do, no if you dont Sound card options? Sound card support? yes if you have one, no if you dont.. kernel profilling? no If you answered YES to sound card support, read on.. if not, skip to the next ********** line... Full driver? no Disable? No Pro Audio Spectrum 16? Yes if you do, no if you dont Soundblaster? Yes for all sound blaster's, including pro's, 16's, Awe32, etc.. this also include's all the cards that have sound blaster emulation. Gravis? yes if you do, no if you dont MPU-401? probably a big NO, unless you KNOW you have it.. be 100% on this on, please.. soundblaster pro? yes if you do, including emulation, no if you dont.. sb 16? yes if you do, no if you dont digitized voice? YES, no matter what MIDI? if you wish.. I choose yes.. some might choose no if they know they dont have it.. Fm synthesiser? yes if you do, no if you dont It then goes on to ask about irq's, etc.. if you have a non standard irq for your card (on sbpro, 5 is NOT the standard for linux... ! ) you WELL need to edit the .h files.. I ended up setting the card to the default linux options to get it to work properly.. DMA buffer size? do what it suggests.. Ok, now you are DONE with the config! *************************************************************************** go under /usr/src/linux and do: make dep then do: make clean **************************************************************************** Next, know what type of boot device you use.. if you use lilo from the hard disk, do: make zlilo if you boot off of floppy, boot a boot disk in your boot floppy drive, and do: make zdisk if you require a different setup than the two most common ones above, and YOU KNOW what you are doing, do: make zImage (as a note, I use make zlilo) **************************************************************************** Almost Done! REBOOT! Note: safe ways to reboot: type ctrl-alt-del, or type reboot at the prompt.. it well give you instructions on rdev after you reboot.. then, you are up to a new kernel! (NOTE: certain questions under CONFIG may change if you are installing a different kernel than 1.1.24.. I will update this file with each new kernel release...) Kyng R-Thur kyngrthr@hebron.connected.com KrT NOTE: This has revisions, with great thanks, to Juha Laiho, who revised a few options in this, and pointed out a few BLARING points.. since I wrote this entire article in 20 minuts while on IRC.. Hope you have fun with your new kernel, and good luck compiling..