Thanks Joyce, Added a line: Why would I want to rebuild the kernel, and will just add quotes from anyone who responds here. For me "My kernel went from an original 1,263,333KB to 861,587KB," with the exact same setup.
I also included your link. Best Wishes! Mike Olds www.buddhadust.org -----Original Message----- From: Joyce, Matthew [mailto:[EMAIL PROTECTED]] Sent: Monday, October 14, 2002 4:41 PM To: 'Michael Olds'; Debian-User@Lists. Debian. Org Subject: RE: Rebuilding the Kernel Mini HOW TO I found this document bery useful. http://newbiedoc.sourceforge.net/system/kernel-pkg.en.html I did not follow it to the letter, but I did manage to rebuild the kernel first time with no problems. Perhaps also a section on why someone might want to rebuild, I found the pcmcia so much easier in 2.4.18. Other reasons, for me were, enabling sound, video/frame buffering, and removing stuff I just did not need, like scsi drivers. Matthew Joyce -----Original Message----- From: Michael Olds [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 15 October 2002 7:21 AM To: Debian-User@Lists. Debian. Org Subject: Rebuilding the Kernel Mini HOW TO Hello, This is still a draft. This is a request for advanced users to take a look see and add comments or suggestions. The idea is a step by step instruction for Fresh New to Linux/Debian users, with the hope that they will be encouraged to attempt a rebuild of their kernel almost first thing after initial install. I use a technique which is a blend of using a file manager along with a terminal so I can see where I am at and yet do what I need to do in the terminal. This is a good way to work into using the terminal. <!--\*#---------REBUILD KERNEL------------#*\--!> References: read (NOTE: we need a source for these as they are not created on a new install or by unpacking the kernel-source...and should they be in /usr/src/linux/ anyway): /usr/src/linux/Documentation/initrd.txt /usr/src/linux/Documentation/modules.txt /usr/src/linux/README /usr/src/linux/README.Debian http://qref.sourceforge.net/Debian/reference/ch-kernel.en.html This is good for using the make menuconfig method http://infocom.cqu.edu.au/Units/aut99/85321/Resources/Print_Resources/Textbo ok/chap13/ http://www.google.com/search?q=%22kernel+headers%22+linus+quote&hl=en&lr=&ie =UTF-8&start=10&sa=N http://www.linuxfromscratch.org/faq/#AEN334 http://www.uwsg.iu.edu/hypermail/linux/kernel/0007.3/0587.html http://www.linuxorbit.com/modules.php?op=modload&name=Sections&file=index&re q=viewarticle&artid=532 This is good for using the make xconfig method Bear in mind that debian does things a bit differently than other distros. What is that difference? In essence, in stead of reconfiguring the kernel and replacing it directly, the reconfigured kernel is made into a package (.deb) primarily so that the rebuild will remain integrated into the debian package system so that future updates of the kernel can be made using dpkg. (I have stated this in these boldly confident terms not being sure that this is the essence at all...hoping for confirmation or education...mo) R: The way that kernel headers are handled on a debian system may be different to other distros, so clarification would be worthwhile just to avoid confusion. <---Step-by-Step---> [ ]A. Before 1: Download and create a recovery floppy from: http://www.toms.net/rb/ [ ]1.a. Download the latest kernel source package (use a Debian source; or make sure you have read all the documentation above) to /usr/src (this is where it will be installed if you use dselect, a package manager, synaptic or aptitude). Best practices seem to indicate that the package be built outside of /usr/src so creating /usr/src/linux and creating a sym-link from /linux to /usr/src/kernel~ as in step 1.d below seems to be the way to handle this.) [ ]1.b. if no /usr/src/linux dir exists, make it $ cd /usr/src $ mkdir linux [ ]1.c. change directory to /usr/src and unpack the source package -- use the unpacking tools with your file manager, or: $ su #enter root password $ cd /usr/src $ tar --bzip2 -xvf kernel-source-2.4.18.tar.bz2 (or latest) [ ]1.d create a symbolic link to /usr/src/linux $ ln -s /usr/src/kernel-source-2.4.18 /usr/src/linux [ ]2. Just to be professional: go to "/etc/kernel.pkg.conf" and modify the file by inserting your "Kernel Source Maintainer Name" and e-mail address. [ ]3. Make sure [ ]"expectk" if you want to use the user friendly: make xconfig [ ]"debhelper" [ ]"modutils" [ ]"libncurses5-dev" [ ]"bin86" [ ]"libc6-dev" [ ]"debianutils" [ ]"make" [ ]"bzip2" and [ ]"kernel-package" are installed. R Notes: don't use gcc 3.x, but something like gcc 2.95. Which I do not understand. Clarification? [ ]4. (on 2nd and subsequent rebuilds) Copy old configuration file to /usr/src/kernel-source-2.4.18 $ cd /usr/src/kernel-source-2.4.18 $ cp /boot/config-2.4.18-386 .config # get current config as default [ ]5. # cd to /usr/src/linux $ make menuconfig or make xconfig and make your selections To do this you need to have some familiarity with your hardware and what you are intending to use the system for. This you need to work out yourself. Once this is figured out, it might be helpful, on the first rebuild, to make your updates with reference to the original configuration, (called config-2.4.18bf24 (or your kernel version)) which you should find under /root using the "M" (module) option where a module was used and building the feature into the kernel (*) or [y] option where it was built into the kernel. Use the HELP option for brief explanations. This at least until you understand which can be safely changed under your setup. Note: If you're using --initrd, make sure "Compressed ROM file system support" is built in, or you'll get a kernel panic (need CramFS). (Side note: I see that answers my question about how to get it in there...sorry!) [ ]6.a. [ ]# make-kpkg clean 6.b. [ ]# make-kpkg -revision=<!--insert your own personal rebuild version number here: i.e.: -revision=0001) --initrd kernel_image (see NOTES below: do not use --initrd if you do not use). OR: # make-kpkg -revision=mydomain.0001 kernel_image Note: If you don't want "--initrd" leave out that option, and make sure /etc/lilo.conf doesn't have it either for that build. Conversely, if you do want it, make sure to add an 'initrd=/initrd.img' line to the image=/vmlinuz stanza of your /etc/lilo.conf and be sure to run # lilo -a after. [ ]6. A new kernel.version-0001_i386.deb will be placed in the /usr/src directory [ ]7. Install the new kernel using # dpkg -i kernel-image-2.4.18_mydomain.0001_i386.deb [ ]8. Reboot <---Notes---> NOTES: make-kpkg kernel_image actually does make oldconfig and make dep. Do not use --initrd if initrd is not used. The current Debian initrd boot script requires a cramfs kernel patch, if you obtain kernel source from non-Debian archives; see http://bugs.debian.org/149236. As I understand it, initrd is used in situations where many computers use a highly modularized kernel, or where an individual has his file system loaded as a module. This requires the use of a virtual RAM disk in order to run smoothly, and that is what initrd enables (Experts are requested to make this explanation more lucid.) On an SMP machine, set CONCURRENCY_LEVEL according to kernel-pkg.conf(5). Next mini: how to recover when nothing said here works. <!--\*#------------------------------#*\--!> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]