[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[HOWTO] Build and using a custom kernel



Thanks, it looks thorough!
How bout adding this howto to the wiki HOWTO's -
http://wiki.debian.org/DebianLive/Howto?
It will be much more readable, and other people could add more info...

Regards,
Hadar

On Tue, Apr 1, 2008 at 1:56 PM, Erwan Le Gall <elegall at linagora.com> wrote:

> Hi,
>
> This is a little HOWTO about compile and use a custom kernel with
> live-helper. After some issues, our CDs works so we decides to provides
> this help here. Sorry if it's not the better way to do / better place
> to purpose.
>
> We are assuming that we use the kernel version 2.6.24. and we have
> tested on Lenny with live-helper_1.0~a41.
>
> Required: module-assistant, gcc, libncurses-dev (optionnal)
> linux-source-2.6.24
>
>
>
> 1a) First, we need to fetch the kernel sources.
> ------------------------------------------------------------------
> # aptitude install kernel-source-2.6.24
> ------------------------------------------------------------------
> Sources are fetched in  /usr/src/linux-source-2.6.24.tar.bz2
>
> 1b) Using vanilla sources should work too
> ------------------------------------------------------------------
> # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
> ------------------------------------------------------------------
>
>
> 2) Extract sources
> ------------------------------------------------------------------
> # cd /usr/src
> # tar -xjf linux-source-2.6.24.tar.bz2
> ------------------------------------------------------------------
>
>
> 3) Configure the kernel
> Switch to the sources directory.
> ------------------------------------------------------------------
> # cd linux-source-2.6.24
> ------------------------------------------------------------------
>
>
> 3a) with menuconfig (you will need libncurses-dev)
> ------------------------------------------------------------------
> # make menuconfig
> ------------------------------------------------------------------
> Note: don't forget to save configuration
>
> 3b) You can also use the debian/ubuntu configuration, and work from it.
> Configurations are usually stored in /boot and come with the
> linux-image-* packages.
> ------------------------------------------------------------------
> # cp /boot/config-2.6.24 ./.config
> # make menuconfig (optionnal)
> ------------------------------------------------------------------
>
>
> 4) Build the kernel packages
> Important: we need to append something something in our kernel version,
> it will help avoiding conflits with the debian / ubuntu kernels and
> select our kernel in the syslinux menu. It can be everything with
> letters and numbers, like -foobar. in this howto, we will use -dlb.
> Don't forget to add a revision too, it will be usefull for updates:
> ------------------------------------------------------------------
> # fakeroot make-kpkg --initrd --revision=dlb.1.0 \
> --append-to-version=-dlb kernel_image kernel_headers modules
> ------------------------------------------------------------------
>
>
> 5) Build the modules packages
> We need to download some sources in order to get the live cd working.
> We need the lzma, squashfs and aufs modules.
> ------------------------------------------------------------------
> # aptitude install lzma-source squashfs-source aufs-source
> ------------------------------------------------------------------
>
> Prepare work
> ------------------------------------------------------------------
> # cd /usr/src
> ------------------------------------------------------------------
>
> In most cases, we don't need this link, but It can help with broken
> packages.
> ------------------------------------------------------------------
> # rm -rf /usr/src/linux
> ------------------------------------------------------------------
>
> link your source directory to /usr/src/linux
> ------------------------------------------------------------------
> # ln -s linux-source-2.6.24 linux
> ------------------------------------------------------------------
>
> build the modules with module-assistant
> ------------------------------------------------------------------
> # m-a update
> # m-a build -k /usr/src/linux-source-2.6.24 lzma
> # m-a build -k /usr/src/linux-source-2.6.24 squashfs
> # m-a build -k /usr/src/linux-source-2.6.24 aufs
> ------------------------------------------------------------------
>
> 6) Install the packages into our lh directory.
> At this point, you should have some packages in /usr/src
> Here is our /usr/src
> ------------------------------------------------------------------
> debian:~#
> ls /usr/src/
> aufs-modules-2.6.24-dlb_0+20080129-1+dlb.1.0_i386.deb
> aufs.tar.bz2
> linux->linux-source-2.6.24
> linux-headers-2.6.24-dlb_dlb.1.0_i386.deb
> linux-image-2.6.24-dlb_dlb.1.0_i386.deb
> linux-source-2.6.24
> linux-source-2.6.24.tar.bz2
> lzma-modules-2.6.24-dlb_4.43-12+dlb.1.0_i386.deb
> lzma.tar.bz2
> modules
> squashfs-modules-2.6.24-dlb_3.3-3+dlb.1.0_i386.deb
> squashfs.tar.bz2
> ------------------------------------------------------------------
>
> Change to our live-helper directory
> ------------------------------------------------------------------
> cd /home/user/LIVECD/
> lh_config --syslinux-menu enabled # Plus eventually options
> cp -v /usr/src/*.deb config/chroot_local-packages/
> ------------------------------------------------------------------
>
> 7) Configure live helper
> Edit config/root with your favorite text editor. to avoid vi/emacs
> trolls, we will use nano. =)
> ------------------------------------------------------------------
> # nano config/chroot
> ------------------------------------------------------------------
>
> set LH_LINUX_PACKAGES="none"
> set LH_LINUX_FLAVOURS="dlb"
> where dlb is the "append-to-version" from the step 3 without the first
> dash.
>
> Don't forget to add "--syslinux-menu enabled" to lh_config
>
> Now you can lh_build your live CD/USB key and everything should be ok.
>
>
> We will appreciate commentaries / Critics
>
> --
> Erwan Le Gall & Michel Depeige
>
> Groupe LINAGORA - http://linagora.com
> T?l : +33 1 58 18 68 28
> fax : +33 1 58 18 68 29
>
> _______________________________________________
> debian-live-devel mailing list
> debian-live-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/debian-live-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/debian-live-devel/attachments/20080402/94447819/attachment.htm 


Reply to: