Linux Kernel 3.12 Released, Install it in Ubuntu & Linux Mint

Last updated: November 5, 2013

Linux Kernel 3.12

Linus Torvalds finally announced Linux Kernel 3.12. Here’re the new features and how to install / upgrade to Kernel 3.12 in Ubuntu 13.10, Ubuntu 12.04, Ubuntu 12.10 and Linux Mint.

Linus Torvalds wrote on the mailing list (read the announcement):

I was vacillating whether to do an rc8 or just cut the final 3.12, but
since the biggest reason to *not* do a final release was not so much
the state of the code, as simply the fact that I’ll be traveling with
very bad internet connection next week, I didn’t really want to delay
the release. Sure, we had a number of driver reverts, and there was an
annoying auto-NUMA memory corruption fix series, but none of it was
really worth delaying 3.12 for.

But the fact that I’m going to be (effectively) off-line next week
means that I’m *not* opening the merge window for 3.13 yet …

What’s New in Linux Kernel 3.12:

  • The Radeon open-source kernel graphics driver has improved Dynamic Power Management, but it won’t be until Linux 3.13 where Radeon DPM is enabled by default along with HDMI audio.
  • A brand new DRM/KMS driver in the form of the Snapdragon MSM driver written by Rob Clark to go along with his reverse-engineered Freedreno driver for Qualcomm Snapdragon/Adreno graphics.
  • Run-time GPU power management so NVIDIA Optimus systems can dynamically power on/off the secondary GPU.
  • Experimental DRM render nodes support done by David Herrmann over the summer.
  • AMD Berlin APU support as the first APU built upon AMD’s Heterogeneous System Architecture (HSA).
  • The EXT4 file-system now supports aggressive extent caching and better recovery capabilities.
  • Random F2FS, XFS, and Btrfs file-system improvements. This kernel does deliver on disk improvements.
  • zRAM has been promoted out of the staging area of the kernel. ZRAM supports a compressed block device in RAM to avoid paging to disk and is mostly of benefit for systems with limited amounts of system memory.
  • Various staging driver updates and sound driver work and other glorious work.
  • Install / Upgrade Linux Kernel 3.12

    The DEBs for Linux Kernel 3.12 has been made into kernel-ppa. Press Ctrl+Alt+T on keyboard to open terminal and follow the steps below to download and install them.

    1. Download DEBs for this kernel:

    For 32-bit Ubuntu, Linux Mint and alternatives run commands below one by one:

    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_i386.deb
    
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb
    
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_i386.deb

    For 64-bit Ubuntu, Linux Mint and alternatives run commands below one by one:

    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
    
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb
    
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb

    2. For both 32-bit & 64-bit install the Kernel via:

    sudo dpkg -i linux-headers-3.12.0-*.deb linux-image-3.12.0-*.deb

    Once installed, restart your computer and done.

    If for some reason the new kernel does not work properly, run command below to remove Linux Kernel 3.12:

    sudo apt-get purge linux-image-3.12.0-* linux-headers-3.12.0-*

    Twitter

    I'm a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to let me know if the tutorial is outdated! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via ubuntuhandbook1@gmail.com Buy me a coffee: https://ko-fi.com/ubuntuhandbook1 |

    13 responses to Linux Kernel 3.12 Released, Install it in Ubuntu & Linux Mint

    1. Hi, I tried this with my fresh installed Ubuntu 13.10 64-Bit. But after I type in the last command, I get the message that there wasn’t found an archiv “linux-image-3.12.0-*.deb”. Any idea?

      • Try downloading the packages (linux-headers-3.12.0-xxx-generic_amd64.deb, linux-headers-3.12.0-xxx_all.deb, linux-image-3.12.0-xxx_amd64.deb) from kernel ppa web page.

        Then in terminal, run:

        cd ~/Downloads/ && sudo dpkg -i linux-headers-3.12.0-*_amd64.deb linux-headers-3.12.0-*_all.deb linux-image-3.12.0-*_amd64.deb

        It will install the packages on 64 bit Ubuntu and its derivatives.

    2. should i update to 3.12 from 3.2 as it is not well tested, i am using ubuntu 12.04 LTS and it is working well, will i get some performance improvement on my hardware, l am using dual core processor B950, 500GB 7200RPM HDD, and 2 GB ram and integrated intel HDD, is there any improvment in battery management and startup time, i have somewhat old hardware. should i install it or it, please guide

      • There’s no big improvements on your devices, but Kernel 3.12 brings faster file-systems. It’s safe to try out this kernel. If something goes wrong, boot up with previous kernel in Grub boot loader (Advanced menu) and run the last command in article to remove Kernel 3.12

    3. Shreyas Srivatsa November 14, 2013 at 8:17 pm

      Hi,

      I am a regular user of Ubuntu with no developer skills. I have Nvidia GT540M on my Acer TimelineX 5830TG laptop. I have been unsuccessfull in installing the 3.12 kernel in my laptop running on Ubuntu 12.04.3. Could you tell me if I am doing something wrong by looking at the installation log below,

      shreyas@FaithV3:~$ sudo dpkg -i linux-headers-3.12.0-*.deb linux-image-3.12.0-*.deb
      (Reading database … 290176 files and directories currently installed.)
      Preparing to replace linux-headers-3.12.0-031200 3.12.0-031200.201311031935 (using linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb) …
      Unpacking replacement linux-headers-3.12.0-031200 …
      Preparing to replace linux-headers-3.12.0-031200-generic 3.12.0-031200.201311031935 (using linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb) …
      Unpacking replacement linux-headers-3.12.0-031200-generic …
      Preparing to replace linux-image-3.12.0-031200-generic 3.12.0-031200.201311031935 (using linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb) …
      Done.
      Unpacking replacement linux-image-3.12.0-031200-generic …
      Examining /etc/kernel/postrm.d .
      run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      Setting up linux-headers-3.12.0-031200 (3.12.0-031200.201311031935) …
      Setting up linux-headers-3.12.0-031200-generic (3.12.0-031200.201311031935) …
      Examining /etc/kernel/header_postinst.d.
      run-parts: executing /etc/kernel/header_postinst.d/dkms 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      ERROR (dkms apport): kernel package linux-headers-3.12.0-031200-generic is not supported
      ERROR (dkms apport): kernel package linux-headers-3.12.0-031200-generic is not supported
      Error! Bad return status for module build on kernel: 3.12.0-031200-generic (x86_64)
      Consult /var/lib/dkms/nvidia-319/319.32/build/make.log for more information.
      Error! Bad return status for module build on kernel: 3.12.0-031200-generic (x86_64)
      Consult /var/lib/dkms/nvidia-319-updates/319.32/build/make.log for more information.
      Setting up linux-image-3.12.0-031200-generic (3.12.0-031200.201311031935) …
      Running depmod.
      update-initramfs: deferring update (hook will be called later)
      Not updating initrd symbolic links since we are being updated/reinstalled
      (3.12.0-031200.201311031935 was configured last, according to dpkg)
      Not updating image symbolic links since we are being updated/reinstalled
      (3.12.0-031200.201311031935 was configured last, according to dpkg)
      Examining /etc/kernel/postinst.d.
      run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      run-parts: executing /etc/kernel/postinst.d/dkms 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      ERROR (dkms apport): kernel package linux-headers-3.12.0-031200-generic is not supported
      Error! Bad return status for module build on kernel: 3.12.0-031200-generic (x86_64)
      Consult /var/lib/dkms/nvidia-319-updates/319.32/build/make.log for more information.
      ERROR (dkms apport): kernel package linux-headers-3.12.0-031200-generic is not supported
      Error! Bad return status for module build on kernel: 3.12.0-031200-generic (x86_64)
      Consult /var/lib/dkms/nvidia-319/319.32/build/make.log for more information.
      run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      update-initramfs: Generating /boot/initrd.img-3.12.0-031200-generic
      run-parts: executing /etc/kernel/postinst.d/pm-utils 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      run-parts: executing /etc/kernel/postinst.d/update-notifier 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.12.0-031200-generic /boot/vmlinuz-3.12.0-031200-generic
      Generating grub.cfg …
      Found linux image: /boot/vmlinuz-3.12.0-031200-generic
      Found initrd image: /boot/initrd.img-3.12.0-031200-generic
      Found linux image: /boot/vmlinuz-3.8.0-33-generic
      Found initrd image: /boot/initrd.img-3.8.0-33-generic
      Found linux image: /boot/vmlinuz-3.8.0-32-generic
      Found initrd image: /boot/initrd.img-3.8.0-32-generic
      Found linux image: /boot/vmlinuz-3.8.0-31-generic
      Found initrd image: /boot/initrd.img-3.8.0-31-generic
      Found linux image: /boot/vmlinuz-3.8.0-29-generic
      Found initrd image: /boot/initrd.img-3.8.0-29-generic
      Found memtest86+ image: /boot/memtest86+.bin
      Found Windows 7 (loader) on /dev/sda1
      Found Ubuntu 13.04 (13.04) on /dev/sda10
      Found Ubuntu 13.10 (13.10) on /dev/sda9
      done

      • Probably your video driver isn’t compatible with this kernel. Try the latest Nvidia proprietary driver or the native packages come with ubuntu by default.

    4. Is there a way to use this script in the “.rpm” based distros? or will this path work for them as well….?

    5. The upgrade wacked my graphics… resolution is way big, I need to run at 1920×1080 to get my menus and operate. Unable to get to the preferences menu to install the Nvidia driver… grr!
      Yes, I can reinstall (mint 13 mate) rather easily preserving my /home but that is a bit of a pain.
      Any ideas? Thanks!

      • If your’re using the proprietary driver, upgrade it to the latest.

        If you can’t solve the problem. You may revert to previous kernel by reboot -> Grub -> Advanced -> select previous kernel. Then remove Kernel 3.12 with the commands mentioned in article.

    6. Worked like a charm and restored my internal display, which turned all black after upgrade to 13.10. Asus Zenbook Prime.

    7. I have Ubuntu 12.04 32 bits but this ocurr:

      sudo dpkg -i linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_i386.deb
      [sudo] password for juanuni:
      (Leyendo la base de datos … 134027 ficheros o directorios instalados actualmente.)
      Preparando para reemplazar linux-headers-3.12.0-031200 3.12.0-031200.201311031935 (usando linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb) …
      Desempaquetando el reemplazo de linux-headers-3.12.0-031200 …
      Preparando para reemplazar linux-headers-3.12.0-031200-generic 3.12.0-031200.201311031935 (usando linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_i386.deb) …
      Desempaquetando el reemplazo de linux-headers-3.12.0-031200-generic …
      Configurando linux-headers-3.12.0-031200 (3.12.0-031200.201311031935) …
      Configurando linux-headers-3.12.0-031200-generic (3.12.0-031200.201311031935) …
      juanuni@juanuni:~$

      No appears grub configuration, I reboot and just old kernel appears in grub …

    8. how to unpack linux-3.12.tar.bz2 and patch with version 3.12.6?