lunes, 17 de junio de 2013

Upgrading a debian linux kernel


Download the tar file you want to build/install.

For example has been downloaded from  https://www.kernel.org/pub/linux/kernel/v3.x/testing/
linux-3.10-rc5.tar.bz2 

Untar it to a folder and cd to that folder

Then install make-dpkg it is really useful and performs multiple make commands like make clean, make modules, make modules_install automatically and will create the .deb files.

# apt-get install make-kpkg

Then issue the make commands (these might take a while, make sure you have enough disk space):


#make-kpkg --append-to-version foo     --revision 3.10rc5 --initrd kernel_image modules_image
#fakeroot make-kpkg --append-to-version foo        --revision 3.10rc5 --initrd kernel_image kernel_headers

.deb files are created one directory up to the current, so go there and install them:

# dpkg -i linux-image-3.10.0-rc5foo_3.10rc5_amd64.deb

# dpkg -i linux-headers-3.10.0-rc5foo_3.10rc5_amd64.deb

NOTE: While installing linux-headers you might receive an error where cannot be found the build directory, that is ok just go and create the symlink to the kernel-headers like:


# ln -s /usr/src/linux-headers-3.10.0-rc5foo/ /lib/modules/3.10.0-rc5foo/build

Try to install the headers again!

Finally update the grub2

# update-grub2

You can make sure that your new kernel is listed in grub.cfg as a menuentry:
#vi /boot/grub/grub.cfg
menuentry 'Ubuntu, with Linux 3.10.0-rc5foo' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos2)'
        search --no-floppy --fs-uuid --set=root 5ba53145-aaa1-4c5c-a157-7523ae919646
        linux   /boot/vmlinuz-3.10.0-rc5foo root=UUID=5ba53145-aaa1-4c5c-a157-7523ae919646 ro   quiet
        initrd  /boot/initrd.img-3.10.0-rc5foo
}



reboot now!   .. check your 'uname -r'; kernel  should've been updated.

Enjoy!
.Alex
P.S. There is a place where the sunrise is great ant their flag is ...

No hay comentarios:

Publicar un comentario