Update gentoo kernel: Difference between revisions

From Bitpost wiki
No edit summary
No edit summary
Line 3: Line 3:
You have to manually configure, compile, and install the kernel source into a kernel binary.
You have to manually configure, compile, and install the kernel source into a kernel binary.
This is to allow you to keep your kernel tuned for your machine.
This is to allow you to keep your kernel tuned for your machine.
== Set up Symlink to Kernel Source ==


Gentoo installs the source here:
Gentoo installs the source here:
Line 8: Line 10:
  /usr/src/linux-#kernelversion#-gentoo-#gentooreleaseversion#
  /usr/src/linux-#kernelversion#-gentoo-#gentooreleaseversion#


Because I have defined the "symlink" USE flag for gentoo-sources in /etc/portage/package.use, it will also symlink the latest downloaded source (whether you want it to or not) to:
I don't use the [symlink] USE flag for gentoo-sources. If you use it, it will symlink the latest downloaded source, as soon as you download it, to:


  /usr/src/linux
  /usr/src/linux


So once you emerge a new kernel source, you ought to install it or change the symlink if you don't have the time to do the kernel install.
I prefer to do this manually when I have time to actually install the kernel, so the pointer to the kernel header files matches the installed kernel - that seems important!  When you are ready to install the kernel, set up the symlink:
 
cd /usr/src
rm linux
ln -s linux-#kernelversion#-gentoo-#gentooreleaseversion# linux


== Steps To Install Kernel ==
== Steps To Install Kernel ==


* Set up the symlink to the kernel as described above.
* su -
* su -
* emerge sys-kernel/gentoo-sources
* emerge sys-kernel/gentoo-sources

Revision as of 15:25, 13 January 2009

In gentoo, everything gets updated via portage using "emerge". For the kernel, emerge only updates the source. You have to manually configure, compile, and install the kernel source into a kernel binary. This is to allow you to keep your kernel tuned for your machine.

Set up Symlink to Kernel Source

Gentoo installs the source here:

/usr/src/linux-#kernelversion#-gentoo-#gentooreleaseversion#

I don't use the [symlink] USE flag for gentoo-sources. If you use it, it will symlink the latest downloaded source, as soon as you download it, to:

/usr/src/linux

I prefer to do this manually when I have time to actually install the kernel, so the pointer to the kernel header files matches the installed kernel - that seems important! When you are ready to install the kernel, set up the symlink:

cd /usr/src
rm linux
ln -s linux-#kernelversion#-gentoo-#gentooreleaseversion# linux

Steps To Install Kernel

  • Set up the symlink to the kernel as described above.
  • su -
  • emerge sys-kernel/gentoo-sources
  • Check the /usr/src/linux symlink and make sure it points to your newly-emerged kernel sources package
  • cd /usr/src/linux
  • make menuconfig (and configure - see Configure MythTV kernel)
  • make && make modules_install
  • mount /boot (if needed)
  • ls /boot
  • cp arch/x86_64/boot/bzImage /boot/kernel-genkernel-x86)64-#kernelversion#-gentoo-#gentooreleaseversion#_mdm-menuconfig
  • emacs /boot/grub/grub.conf (and add your shiny new kernel to the default top of the list)
  • (optional) emerge -av --unmerge "<gentoo-sources-2.6.##"
  • (optional) purge older kernels from /boot/ (and /usr/src/ if previous step didn't do the trick)

Post-kernel-installation Steps

There are certain packages that are kernel-specific, and must be installed AFTER the kernel is updated. Note that this is only necessary if you are changing kernel versions, NOT if you just adjust the settings on an already-installed kernel.

  • install nvidia binary driver
  • install a new ivtv that matches the new kernel version
  • "If your (ntfs3g) driver stops working after you have upgraded your kernel then you should reinstall fuse."
  • lirc (for LCD display, and maybe some day, a remote)  :>

In theory you can use the following to automatically reinstall kernel-dependent modules:

module-rebuild rebuild

But I used a more manual approach, as module-rebuild didn't work:

module-rebuild list                   # to see what it WOULD rebuild
emerge nvidia-drivers
eselect opengl set nvidia
reboot
emacs /etc/portage/package.mask       # adjust ivtv version if needed
                                      # it has to match your kernel version
                                      # comment out ivtv line to get latest version
emerge ivtv
emerge sys-fs/fuse
emerge lirc
update-modules
reboot

Even better, if you have just adjusted the kernel, and not bumped up the version, just do this:

module-rebuild list                   # to see what it WOULD rebuild
emerge nvidia-drivers ivtv sys-fs/fuse lirc
update-modules
eselect opengl set nvidia
reboot

If you've done an emerge of media-video/nvidia-settings, you can run it to adjust the resolution, etc., dynamically in X.