This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Handbook:PPC/Blocks/Kernel
Architecture specific configuration
Before starting to configure the Linux kernel, run
make pmac32_defconfig
to make sure a kernel is created that boots on most 32-bit PowerPC systems:
root #
cd /usr/src/linux
root #
make pmac32_defconfig
root #
make menuconfig
Make sure to enable support for Amiga partitions if using a Pegasos system, or Macintosh partitions when using an Apple computer.
Users of NewWorld and OldWorld machines will want HFS support as well. OldWorld users require it for copying compiled kernels to the MacOS partition. NewWorld users require it for configuring the special Apple_Bootstrap partition:
'"`UNIQ--pre-00000000-QINU`"'
Don't forget to include support in the kernel for the right Ethernet card! Most newer Apple computers use the SunGEM ethernet driver. Older iMacs commonly use the BMAC driver.
'"`UNIQ--pre-00000003-QINU`"'
When booting from FireWire, enable the following options.
'"`UNIQ--pre-00000006-QINU`"'
Do not turn off kernel framebuffer support as it is required for a successful boot. When using an NVIDIA based chipset,use the Open Firmware framebuffer. When using an ATI based chipset, select the framebuffer driver based upon the right chipset (Mach64, Rage128 or Radeon).
'"`UNIQ--pre-00000009-QINU`"'
To select more than one framebuffer device, it may default to a less than optimal driver. Either use only one framebuffer device or specify which to use by passing the driver to use to the kernel on boot by appending a video line such as
video=radeonfb
.Compiling and installing
With the kernel is configured, it is time to compile and install it. Exit the configuration menu and run the following commands:
root #
make && make modules_install
It is possible to enable parallel builds using
make -jX
with X being the number of parallel tasks that the build process is allowed to launch. This is similar to the instructions about /etc/portage/make.conf earlier, with the MAKEOPTS
variable.When the kernel has finished compiling, copy the kernel image to /boot/ as shown below. When using a separate boot partition, as on Pegasos computers, be sure that it is mounted properly. When using BootX to boot, we'll copy the kernel later.
Yaboot and BootX expect to use an uncompressed kernel unlike many other boot loaders. The uncompressed kernel is called vmlinux and it is placed in /usr/src/linux/ after the kernel has finished compiling. When using a Pegasos machine, the Pegasos firmware requires a compressed kernel called zImage which can be found in /usr/src/linux/arch/powerpc/boot/images/.
root #
cd /usr/src/linux
For Apple and IBM:
root #
cp vmlinux /boot/kernel-3.16.5-gentoo
For Pegasos:
root #
cp arch/powerpc/boot/images/zImage /boot/kernel-3.16.5-gentoo