Hi, Did you read make-kpkg documentation especially by Kent West? I think instead of reinventing wheel, suppliment existing good document as patch bug report.
/usr/share/doc/make-kpkg/README.gz (last section is by Kent) For this, use unstable version. Also my Debian Reference has a (good) summary. Bug report is welcome. http://qref.sf.net/Debian/reference/ch-kernel.en.html or http://www.debian.org/doc/manuals/reference/ch-kernel.en.html Lastly, are you aware of following facts (Content from recent post by prominent Debian person. I am worried about mine ...): * kernel header files for user application Some may still say: > The problem under Debian and SuSE is that the Linux kernel is > not installed under /usr/src/linux - so you just need to ensure > that /usr/src/linux links to the directory containing the Linux > kernel sources. ... Colin Watson <[EMAIL PROTECTED]> said: That is absolutely terrible advice. It's a very good way to break a Debian system, and you should ignore it. Linus doesn't recommend this old way of doing things nowadays either. Instead, if you *need* kernel headers for something, alter the Makefiles so that their include path points to <wherever-your-kernel-source-is>/include/linux, etc. Most "normal" programs don't need kernel headers and in fact may break if you use them directly; instead they should be compiled against the headers with which glibc was built, which are the versions in /usr/include/linux and /usr/include/asm. ---- END OF QUOTE --- Do not ask me but it looks like using /usr/src/linux seems to be bad idea. (OOps, I do that in 2nd classic method. Just do not compile any application, this may be OK.. I need to check why this is bad...) On Mon, Oct 14, 2002 at 02:19:48PM -0700, Michael Olds wrote: > 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): OOPs > /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] > > -- ~\^o^/~~~ ~\^.^/~~~ ~\^*^/~~~ ~\^_^/~~~ ~\^+^/~~~ ~\^:^/~~~ ~\^v^/~~~ +++++ Osamu Aoki @ Cupertino CA USA, GPG-key: A8061F32 .''`. Debian Reference: post-installation user's guide for non-developers : :' : http://www.debian.org/doc/manuals/reference/ also http://qref.sf.net `. `' "Our Priorities are Our Users and Free Software" --- Social Contract -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]