Gentoo is a Linux distribution reminiscent of a BSD distribution, for x86, PowerPC (including Power Macintosh), MIPS (like the SGI Indy), Sparc, and Sparc64/UltraSparc systems. It uses a system called "portage" for installing software, which like ports will download source code, patch it, and compile it using the preselected options for your system. Unlike BSD the preferred method of installation is to start with a VERY small system and then build everything. The initial bootstrap process involves first building binutils, then gcc, and then glibc - Then building binutils and gcc again. The idea behind the system is that all software is optimized for your architecture, which gives you the fastest possible system. You can install instead the "Gentoo Reference Platform" (or GRP) which is a collection of precompiled packages, and which also implies the use of a program called "genkernel" which generates (as the name implies) a Linux kernel binary which supports all of the usual gentoo features, such as hardware detection.

Gentoo also has a distinctive init system. It uses sysvinit like others, but it has a custom method of handling init scripts. First of all, your init scripts have dependencies. Rather than the typical SVR4 method of handling your init scripts, where they are loaded (and unloaded) based on the alpha order of the names of symbolic links to the actual scripts, the load order is based on dependence. You use a script called rc-update to manage your runlevels, though generally speaking only a single runlevel is used.

Also unlike BSD, your portage tree is typically maintained via rsync rather than CVS. All you have to do is "emerge sync" and portage is updated. Want to install a package? "emerge packagename". Emerge calls another script called ebuild which can be used on files with a .ebuild extension to carry out various steps of the installation. Binary packages can also be created and emerged, so if you have many similar systems, you can carry binary packages to them, and emerge them.

Gentoo generally runs a fairly cutting-edge version of the latest release kernel, with such patches as the preemptive kernel patch, as well as the low latency patch. Standard available kernels also include XFS, openMosix and User-Mode Linux flavors. Now that kernel 2.6 has been released (and XFS is being merged into the 2.4 kernel), expect the XFS branch to dissappear.

Gentoo finished their port of portage to MacOS X and made the announcement in their newsletter for July 19, 2004. The system is fully functional but many packages have not yet been properly ported/patched, amongst them GCC 3.3, which is currently the default compiler for gentoo linux. However, users can currently utilize the GCC 3.3 build which comes with Xcode, Apple's (free) development environment. The plan is to develop a system which will build Darwin from scratch, allowing you to perform gentoo-style builds with your chosen optimizations. A cocoa interface, livecd creation, and iSync integration (in order to distribute compiled packages to other systems) are all in th e works.

  1. Gentoo Weekly Newsletter: July 19, 2004 (