RHEL6 Kernel HOWTO

From Funtoo
Revision as of 12:48, November 18, 2012 by Palica (talk | contribs) (→‎Step 3: Build it)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
   Important

This page describes how to use a non-Funtoo, unofficial kernel. For official Funtoo Linux kernels, see Funtoo Linux Kernels.

Introduction

This HOWTO will show you how to get a RHEL6 kernel running on a Funtoo Linux system.

Step 1: Dependencies

In kernel.spec from kernel-2.6.32-71.18.2.el6.src.rpm say:

# grep BuildRequires kernel.spec 
BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar
BuildRequires: bzip2, findutils, gzip, m4, perl, make >= 3.78, diffutils, gawk
BuildRequires: gcc >= 3.4.2, binutils >= 2.12, redhat-rpm-config
BuildRequires: net-tools, patchutils, rpm-build >= 4.8.0-7
BuildRequires: xmlto
BuildRequires: asciidoc
BuildRequires: sparse >= 0.4.1
BuildRequires: elfutils-libelf-devel zlib-devel binutils-devel
BuildRequires: gnupg
BuildRequires: python
BuildRequires: hmaccalc
BuildRequires: glibc-static

# grep BuildConflicts kernel.spec 
BuildConflicts: rhbuildsys(DiskFree) < 7Gb

It is advised to update sys-fs/udev sys-fs/lvm2 and sys-devel/gcc if they are not at their latest revision:

# emerge -1 sys-fs/udev sys-fs/lvm2 sys-devel/gcc

These are the packages that would be merged, in order:

Calculating dependencies                 ... done!
[ebuild   R   ] sys-devel/gcc-4.4.5  USE="fortran mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -graphite -gtk (-hardened) (-libffi) -multislot (-n32) (-n64) -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla" 0 kB
[ebuild   R   ] sys-fs/udev-160-r1  USE="extras (-selinux)" 0 kB
[ebuild   R   ] sys-fs/lvm2-2.02.75  USE="rc_enable" 0 kB

Total: 3 packages (3 reinstalls), Size of downloads: 0 kB

Step 2: Install kernel sources

The process for installing an RHEL6 kernel has been drastically simplified. Simply perform the following steps:

# emerge -av layman && layman -a init6;

Or copy the ebuild `s yourself from github.

# emerge sys-kernel/rh-sources

This step is to download the latest src.rpm (at the time of writing this page is kernel-2.6.32-71.18.2.el6.src.rpm) uncompresses the source code and will put some patches:

linux-2.6-hotfixes.patch

xfs-list-sort.patch say thx damex from #funtoo channel on FreeNode irc net.

acpi-ec-add-delay-before-write.patch more bugzilla.kernel.org bug #14733

font-8x16-iso-latin-1.patch this patch replaces the font font-8x16 from the linux kernel to a more pleasant and beautiful font was created by Mr. Ka-Ping Yee. Appearance of the font can be seen here Ka-Ping Yee ISO Latin-1 Font in linux kernel

To use this font enable

  -> Device Drivers
      -> Graphics support
        -> Console display driver support
          -> Select compiled-in fonts (FONTS [=y]) 
            [*]   VGA 8x16 font   

or simply enable CONFIG_FONT_8x16 in kernel config.

I have not tested "Module ELF structure verification" CONFIG_MODULE_VERIFY_ELF, "Module signature verification" CONFIG_MODULE_SIG everything besides including the nvidia-drivers, nouveau, broadcom-sta works fine.

Step 3: Build it

Build it as you build any other kernel. There is nothing extraordinary. No special startup options in the grub is required. That's all kids ;) And may the source/force be with you.