[ubuntu-devel-discuss bcc'd]<br><br>Hello everyone,<br>I am interested in doing some kernel development and testing, which means a lot of patching and packaging of kernels. I'm pretty used to the manual way of patching a kernel, configuring, and installing it but for my current project this process must be 100% non-interactive. For the most part make-kpkg (from kernel-package) has made this a breeze, but I still seem to be getting some undesired interactions (nag screens) when I try to install a kernel that is rolled with make-kpkg.<br>

<br>Before I go on with details about my make-kpkg endeavors, I'm also interested in knowing more about how Ubuntu does this, since it could be that I'm simply going about this the wrong way. I was unable to find thorough documentation on Ubuntu or Debian's release process for kernels, so any pointers would be greatly appreciated.<br>

<br>Here's an example how my simple shell script calls make-kpkg:<br><span style="font-family: courier new,monospace;">cd /usr/src</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">apt-get source linux-source-2.6.30</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">cp test.config linux-2.6.30/.config</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">cd linux-2.6.30</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">make-kpkg clean</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">MAKEFLAGS="CONCURRENCY_LEVEL=2" \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">          setarch i386 make-kpkg \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">          --append-to-version="-custom" --revision="123" \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">          --arch="i386" \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">          --rootcmd fakeroot \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">          --config oldconfig \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">          --initrd --bzImage kernel_image</span><br>

<br>...and off it goes. Eventually a .deb file appears in the parent directory. And then I try to install it (using dpkg -i) and am prompted to abort due to pre-existing modules for my kernel version (in spite of clobber_modules = yes and silent_modules = yes) or installation of an initrd/initramfs kernel (in spite of do_initrd = yes and warn_initrd = no) or lack of a vmlinuz link in a pristine environment (in spite of do_symlinks = yes). I have my /etc/kernel-{img,pkg}.conf files below for further scrutiny, but needless to say I am a bit confused as to why I am prompted when I explicitly configure make-kpkg to package the kernel in such a way as to omit those kinds of warnings.<br>

<br>I should also note that I do not have a ~/.kpackage directory or any special environment variables that would override the settings in the .conf files.<br><br>My /etc/kernel-img.conf:<br># Kernel image management overrides<br>

# See kernel-img.conf(5) for details<br><br>link_in_boot = yes<br>do_symlinks = yes<br>minimal_swap = yes<br>clobber_modules = yes<br>warn_reboot = no<br>silent_modules = yes<br>silent_loader = yes<br><br># don't try to update the bootloader<br>

do_bootloader = no<br><br># prevent any warnings about installing an initrd kernel<br>do_initrd = yes<br>warn_initrd = no<br><br>My /etc/kernel-pkg.conf:<br># Kernel package management overrides<br># See kernel-pkg.conf(5) for details<br>

<br># This file is used by kernel-package (>2.0) to provide a means of the site<br># admin to over-ride settings in the distributed debian/rules. Typically<br># this is used to set maintainer information, as well as the priority<br>

# field. However, one may hack a full makefile in here (you should<br># really know what you are doing here if you do that, though)<br><br># Please change the maintainer information, as well as the Debian version<br># below, (and maybe the priority as well, especially if you are uploading<br>

# an official package)<br><br># The maintainer information.<br>maintainer := Nobody<br>email := nobody@nowhere<br><br><br># Priority of this version (or urgency, as dchanges would call it)<br>priority := Low<br><br>link_in_boot = yes<br>

kimage = bzImage<br>root_cmd = fakeroot<br>do_clean = yes<br><br>I'd appreciate any advice on using make-kpkg to make kernel packages which are non-interactive. If there are some example configurations out there, I'd love to know. Thanks!<br>