<<O>>  Difference Topic DebianKernelBuilding (r1.12 - 22 Nov 2003 - KirkStrauser)
Changed:
<
<
META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
>
>
META TOPICPARENT KirkStrauser
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.

As such, my method for building new kernels is a little more complicated than it is on most systems.

Line: 109 to 109

-- KirkStrauser - 13 Sep 2002

Added:
>
>
META TOPICMOVED KirkStrauser? date="1069521785" from="Main.DebianKernelBuilding" to="Computing.DebianKernelBuilding"
 <<O>>  Difference Topic DebianKernelBuilding (r1.11 - 13 Sep 2002 - KirkStrauser)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 28 to 28

Variables Used Below

Changed:
<
<
$version
The main kernel version, i.e. 2.4.19, i.e.
$local
The local kernel revision as mentioned above, i.e. myhost1
$fullVersion
The concatenated $version and $local strings, i.e. 2.4.19myhost1
>
>
Name Example Explanation
$version 2.4.19 The main kernel version, i.e. 2.4.19, i.e.
$local myhost1 The local kernel revision as mentioned above, i.e. myhost1
$fullVersion 2.4.19myhost1 The concatenated $version and $local strings, i.e. 2.4.19myhost1

Download The Source

 <<O>>  Difference Topic DebianKernelBuilding (r1.10 - 13 Sep 2002 - TWikiGuest)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 59 to 59

ln -s kernel-source-$version linux
Changed:
<
<
  • Extract and additional kernel module TarBall you may wish to install.
>
>
  • Extract any additional kernel module TarBalls you may wish to install.

tar xvzf nvidia-kernel-src.tar.gz
 <<O>>  Difference Topic DebianKernelBuilding (r1.9 - 13 Sep 2002 - KirkStrauser)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 59 to 59

ln -s kernel-source-$version linux
Changed:
<
<
  • Extract and additional kernel module TarBalls you may wish to install.
>
>
  • Extract and additional kernel module TarBall you may wish to install.

tar xvzf nvidia-kernel-src.tar.gz
 <<O>>  Difference Topic DebianKernelBuilding (r1.8 - 13 Sep 2002 - TWikiGuest)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 6 to 6

First, pick a local kernel revision. Something like {hostname}{revision} is good. This way, you can install multiple versions of the same kernel, each with their own configuration and modules directory, and switch between them at will.

Changed:
<
<
Variables used here are:
>
>

First-Time Only Setup

You'll need to have installed a few packages before you can begin. In all likelihood, most of them are already present on your system. If they're not, it's a simple matter to install them.

  • kernel-package
  • initrd-tools
  • cramfsprogs
  • gcc
  • libc-dev
  • debianutils
  • make
  • libdb3-dev
  • libncurses-dev

You can install all of these in one batch by typing:

apt-get install kernel-package initrd-tools cramfsprogs gcc libc-dev debianutils make libdb3-dev libncurses-dev

Variables Used Below


$version
The main kernel version, i.e. 2.4.19, i.e.
$local
The local kernel revision as mentioned above, i.e. myhost1
$fullVersion
The concatenated $version and $local strings, i.e. 2.4.19myhost1
Changed:
<
<
You'll need to have installed a few packages before you can begin:
>
>

Download The Source


Changed:
<
<
  • kernel-source-$version
  • kernel-package
    • For make-kpkg
  • initrd-tools
    • For mkinitrd, which is called by the '--initrd' option to make-kpkg
  • cramfsprogs
    • For mkcramfs, which is called by mkinitrd
>
>
  • Get a list of kernels available for installation. This command will show you a list of possibilities.
apt-get install kernel-source
  • Download the Debian source package for the version you've chosen:
apt-get install kernel-source-$version

Build Your Kernel!


Once you've installed those, you're ready to start:

Changed:
<
<
  • export PATCH_THE_KERNEL="YES"
    • Tells make-kpkg to apply any extra kernel patches you've installed before configuration and building
  • cd /usr/src
  • tar xvjf kernel-source-$version.tar.bz # If you haven't already done so
  • ln -s kernel-source-$version linux
  • tar xvzf nvidia-kernel-src.tar.gz
    • An example of unpacking additional kernel modules
  • cd linux
  • make-kpkg --config {config|xconfig|menuconfig} configure
    • This substitutes for the normal 'make {whatever}config' step. It patches the kernel with your local additions before running the config tool.
  • make-kpkg clean
  • make-kpkg --us --uc --initrd --append-to-version $local kernel_image
  • make-kpkg --us --uc --append-to-version $local modules_image
  • cd ..
  • ls -lart *.deb
>
>
  • Go to the source parent directory.
cd /usr/src
  • Extract the kernel package you downloaded earlier.
tar xvjf kernel-source-$version.tar.bz
  • Make linux a symlink to the kernel source. This isn't absolutely necessary, but it's a very common practice:
ln -s kernel-source-$version linux
  • Extract and additional kernel module TarBalls you may wish to install.
tar xvzf nvidia-kernel-src.tar.gz
  • Tell make-kpkg to apply any extra kernel patches you've installed before configuration and building.
export PATCH_THE_KERNEL="YES"
  • Configure your kernel options. This method substitutes for the normal 'make {whatever}config' step. It patches the kernel with your local additions before running the config tool.
cd linux
make-kpkg --config {config|xconfig|menuconfig} configure
  • Remove any extraneous files from the kernel source before building.
make-kpkg clean
  • Big step #1: build the kernel package.
    • You'll probably get a warning about using the initrd option. This warning does not apply to you, so you can safely ignore it.
make-kpkg --us --uc --initrd --append-to-version $local kernel_image
  • Big step #2: build the module packages.
    • You may get another warning here. Ignore it also.
make-kpkg --us --uc --append-to-version $local modules_image
  • Look at the list of packages built by the previous two steps.

    • There will be, at the least, kernel-image-$fullVersion_10.00.Custom_i386.deb
    • There may also be additional module packages depending on whether you built any.
Changed:
<
<
  • dpkg -i {list of .deb packages from the previous step}
  • lilo -v or update-grub
    • Both commands update your bootloader. Use the command appropriate for the one you have installed.
>
>
cd ..
ls -lart *.deb
  • Almost finished! Install your new kernel and modules packages.
dpkg -i {list of .deb packages from the previous step}
  • Finally, update the bootloader to tell it about your new kernel. Both of these commands update a particular bootloader. Use the command appropriate for the one you have installed.

lilo -v
or
update-grub

-- KirkStrauser - 13 Sep 2002

 <<O>>  Difference Topic DebianKernelBuilding (r1.7 - 13 Sep 2002 - TWikiGuest)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 36 to 36

    • This substitutes for the normal 'make {whatever}config' step. It patches the kernel with your local additions before running the config tool.
  • make-kpkg clean
  • make-kpkg --us --uc --initrd --append-to-version $local kernel_image
Changed:
<
<
  • make-kpkg --us --uc --append-to-version $local modules
>
>
  • make-kpkg --us --uc --append-to-version $local modules_image

  • cd ..
  • ls -lart *.deb
    • There will be, at the least, kernel-image-$fullVersion_10.00.Custom_i386.deb
 <<O>>  Difference Topic DebianKernelBuilding (r1.6 - 13 Sep 2002 - TWikiGuest)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 12 to 12

$local
The local kernel revision as mentioned above, i.e. myhost1
$fullVersion
The concatenated $version and $local strings, i.e. 2.4.19myhost1
Added:
>
>
You'll need to have installed a few packages before you can begin:

  • kernel-source-$version
  • kernel-package
    • For make-kpkg
  • initrd-tools
    • For mkinitrd, which is called by the '--initrd' option to make-kpkg
  • cramfsprogs
    • For mkcramfs, which is called by mkinitrd

Once you've installed those, you're ready to start:


  • export PATCH_THE_KERNEL="YES"
Added:
>
>
    • Tells make-kpkg to apply any extra kernel patches you've installed before configuration and building

  • cd /usr/src
Added:
>
>
  • tar xvjf kernel-source-$version.tar.bz # If you haven't already done so
  • ln -s kernel-source-$version linux

  • tar xvzf nvidia-kernel-src.tar.gz
Added:
>
>
    • An example of unpacking additional kernel modules

  • cd linux
  • make-kpkg --config {config|xconfig|menuconfig} configure
Added:
>
>
    • This substitutes for the normal 'make {whatever}config' step. It patches the kernel with your local additions before running the config tool.

  • make-kpkg clean
Changed:
<
<
  • make-kpkg --us --uc --append-to-version $local kernel_image
>
>
  • make-kpkg --us --uc --initrd --append-to-version $local kernel_image

  • make-kpkg --us --uc --append-to-version $local modules
  • cd ..
  • ls -lart *.deb
Changed:
<
<
  • dpkg -i {list of .deb packages you just created}
  • mkinitrd -o /boot/initrd.img-$fullVersion
>
>
    • There will be, at the least, kernel-image-$fullVersion_10.00.Custom_i386.deb
    • There may also be additional module packages depending on whether you built any.
  • dpkg -i {list of .deb packages from the previous step}

  • lilo -v or update-grub
Added:
>
>
    • Both commands update your bootloader. Use the command appropriate for the one you have installed.

Changed:
<
<
-- KirkStrauser - 12 Sep 2002
>
>
-- KirkStrauser - 13 Sep 2002
 <<O>>  Difference Topic DebianKernelBuilding (r1.5 - 13 Sep 2002 - KirkStrauser)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 6 to 6

First, pick a local kernel revision. Something like {hostname}{revision} is good. This way, you can install multiple versions of the same kernel, each with their own configuration and modules directory, and switch between them at will.

Added:
>
>
Variables used here are:

$version
The main kernel version, i.e. 2.4.19, i.e.
$local
The local kernel revision as mentioned above, i.e. myhost1
$fullVersion
The concatenated $version and $local strings, i.e. 2.4.19myhost1

  • export PATCH_THE_KERNEL="YES"
  • cd /usr/src
  • tar xvzf nvidia-kernel-src.tar.gz
  • cd linux
  • make-kpkg --config {config|xconfig|menuconfig} configure
  • make-kpkg clean
Changed:
<
<
  • make-kpkg --us --uc --append-to-version $localKernelVersion kernel_image
  • make-kpkg --us --uc --append-to-version $localKernelVersion modules
>
>
  • make-kpkg --us --uc --append-to-version $local kernel_image
  • make-kpkg --us --uc --append-to-version $local modules

  • cd ..
  • ls -lart *.deb
  • dpkg -i {list of .deb packages you just created}
Changed:
<
<
  • mkinitrd -o /boot/initrd.img-$kernelVersion$localKernelVersion
>
>
  • mkinitrd -o /boot/initrd.img-$fullVersion

  • lilo -v or update-grub
Deleted:
<
<
Stuff to look at later:

  • AMD 768 RNG

-- KirkStrauser - 12 Sep 2002
 <<O>>  Difference Topic DebianKernelBuilding (r1.4 - 12 Sep 2002 - TWikiGuest)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.

As such, my method for building new kernels is a little more complicated than it is on most systems.

Added:
>
>
First, pick a local kernel revision. Something like {hostname}{revision} is good. This way, you can install multiple versions of the same kernel, each with their own configuration and modules directory, and switch between them at will.

  • export PATCH_THE_KERNEL="YES"
  • cd /usr/src
  • tar xvzf nvidia-kernel-src.tar.gz
  • cd linux
  • make-kpkg --config {config|xconfig|menuconfig} configure
  • make-kpkg clean
Changed:
<
<
  • make-kpkg --us --uc --append-to-version 1 kernel_image
  • make-kpkg --us --uc --append-to-version 1 modules
>
>
  • make-kpkg --us --uc --append-to-version $localKernelVersion kernel_image
  • make-kpkg --us --uc --append-to-version $localKernelVersion modules
  • cd ..
  • ls -lart *.deb
  • dpkg -i {list of .deb packages you just created}
  • mkinitrd -o /boot/initrd.img-$kernelVersion$localKernelVersion
  • lilo -v or update-grub

Stuff to look at later:

  • AMD 768 RNG
Added:
>
>
-- KirkStrauser - 12 Sep 2002
 <<O>>  Difference Topic DebianKernelBuilding (r1.3 - 12 Sep 2002 - KirkStrauser)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.

As such, my method for building new kernels is a little more complicated than it is on most systems.

  • export PATCH_THE_KERNEL="YES"
Changed:
<
<
  • make-kpkg --config (something} configure
>
>
  • cd /usr/src
  • tar xvzf nvidia-kernel-src.tar.gz
  • cd linux
  • make-kpkg --config {config|xconfig|menuconfig} configure

  • make-kpkg clean
  • make-kpkg --us --uc --append-to-version 1 kernel_image
  • make-kpkg --us --uc --append-to-version 1 modules
 <<O>>  Difference Topic DebianKernelBuilding (r1.2 - 12 Sep 2002 - TWikiGuest)

META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.
Line: 7 to 7

  • export PATCH_THE_KERNEL="YES"
  • make-kpkg --config (something} configure
  • make-kpkg clean
Changed:
<
<
  • make-kpkg --us --uc --append-to-version 1 kernel_image modules
>
>
  • make-kpkg --us --uc --append-to-version 1 kernel_image
  • make-kpkg --us --uc --append-to-version 1 modules

Stuff to look at later:

 <<O>>  Difference Topic DebianKernelBuilding (r1.1 - 12 Sep 2002 - TWikiGuest)
Line: 1 to 1
Added:
>
>
META TOPICPARENT KirkStrauser?
I use DebianGnuLinux? as the main OperatingSystem on my WorkStation?. My KernelConfiguration? is a little bit nonstandard, though, as I use KernelPatches? and KernelModules? that are available through Debian, but which are not part of the main kernel tree.

As such, my method for building new kernels is a little more complicated than it is on most systems.

  • export PATCH_THE_KERNEL="YES"
  • make-kpkg --config (something} configure
  • make-kpkg clean
  • make-kpkg --us --uc --append-to-version 1 kernel_image modules

Stuff to look at later:

  • AMD 768 RNG
Revision r1.1 - 12 Sep 2002 - 16:12 - TWikiGuest
Revision r1.12 - 22 Nov 2003 - 17:12 - KirkStrauser