Before we start, we first list what hardware requirements are needed to successfully install Gentoo on a ia64 box.
Pretty much every IA64 should be able to boot Gentoo. At the moment we only have a LiveCD, so the machine must have a CDROM drive installed.
Gentoo Linux installation media
Minimal installation CD
The Gentoo minimal installation CD is a bootable image: a self-contained Gentoo environment. It allows the user to boot Linux from the CD or other installation media. During the boot process the hardware is detected and the appropriate drivers are loaded. The image is maintained by Gentoo developers and allows anyone to install Gentoo if an active Internet connection is available.
The Minimal Installation CD is called install-ia64-minimal-<release>.iso.
The occasional Gentoo LiveDVD
Occasionally, a special DVD image is crafted which can be used to install Gentoo. The instructions in this chapter target the Minimal Installation CD, so things might be a bit different when booting from the LiveDVD. However, the LiveDVD (or any other bootable Linux environment) supports getting a root prompt by just invoking sudo su - or sudo -i in a terminal.
What are stages then?
A stage3 tarball is an archive containing a profile specific minimal Gentoo environment. Stage3 tarballs are suitable to continue the Gentoo installation using the instructions in this handbook. Previously, the handbook described the installation using one of three stage tarballs. Gentoo does not offer stage1 and stage2 tarballs for download any more since these are mostly for internal use and for bootstrapping Gentoo on new architectures.
Stage3 tarballs can be downloaded from releases/ia64/autobuilds/ on any of the official Gentoo mirrors. Stage files update frequently and are not included in official installation images.
Obtain the media
The default installation media that Gentoo Linux uses are the minimal installation CDs, which host a bootable, very small Gentoo Linux environment. This environment contains all the right tools to install Gentoo. The CD images themselves can be downloaded from the downloads page (recommended) or by manually browsing to the ISO location on one of the many available mirrors.
If downloading from a mirror, the minimal installation CDs can be found as follows:
- Go to the releases/ directory.
- Select the directory for the relevant target architecture (such as ia64/).
- Select the autobuilds/ directory.
- For amd64 and x86 architectures select either the current-install-amd64-minimal/ or current-install-x86-minimal/ directory (respectively). For all other architectures navigate to the current-iso/ directory.
Some target architectures such as arm, mips, and s390 will not have minimal install CDs. At this time the Gentoo Release Engineering project does not support building .iso files for these targets.
Inside this location, the installation media file is the file with the .iso suffix. For instance, take a look at the following listing:
[DIR] hardened/ 05-Dec-2014 01:42 - [ ] install-ia64-minimal-20141204.iso 04-Dec-2014 21:04 208M [ ] install-ia64-minimal-20141204.iso.CONTENTS 04-Dec-2014 21:04 3.0K [ ] install-ia64-minimal-20141204.iso.DIGESTS 04-Dec-2014 21:04 740 [TXT] install-ia64-minimal-20141204.iso.DIGESTS.asc 05-Dec-2014 01:42 1.6K [ ] stage3-ia64-20141204.tar.bz2 04-Dec-2014 21:04 198M [ ] stage3-ia64-20141204.tar.bz2.CONTENTS 04-Dec-2014 21:04 4.6M [ ] stage3-ia64-20141204.tar.bz2.DIGESTS 04-Dec-2014 21:04 720 [TXT] stage3-ia64-20141204.tar.bz2.DIGESTS.asc 05-Dec-2014 01:42 1.5K
In the above example, the install-ia64-minimal-20141204.iso file is the minimal installation CD itself. But as can be seen, other related files exist as well:
- A .CONTENTS file which is a text file listing all files available on the installation media. This file can be useful to verify if particular firmware or drivers are available on the installation media before downloading it.
- A .DIGESTS file which contains the hash of the ISO file itself, in various hashing formats/algorithms. This file can be used to verify if the downloaded ISO file is corrupt or not.
- A .DIGESTS.asc file which not only contains the hash of the ISO file (like the .DIGESTS file), but also a cryptographic signature of that file. This can be used to both verify if the downloaded ISO file is corrupt or not, as well as verify that the download is indeed provided by the Gentoo Release Engineering team and has not been tampered with.
Ignore the other files available at this location for now - those will come back when the installation has proceeded further. Download the .iso file and, if verification of the download is wanted, download the .DIGESTS.asc file for the .iso file as well. The .CONTENTS file does not need to be downloaded as the installation instructions will not refer to this file anymore, and the .DIGESTS file should contain the same information as the .DIGESTS.asc file, except that the latter also contains a signature on top of it.
Verifying the downloaded files
This is an optional step and not necessary to install Gentoo Linux. However, it is recommended as it ensures that the downloaded file is not corrupt and has indeed been provided by the Gentoo Infrastructure team.
Through the .DIGESTS and .DIGESTS.asc files, the validity of the ISO file can be confirmed using the right set of tools. This verification is usually done in two steps:
- First, the cryptographic signature is validated to make sure that the installation file is provided by the Gentoo Release Engineering team
- If the cryptographic signature validates, then the checksum is verified to make sure that the downloaded file itself is not corrupted
Microsoft Windows based verification
On a Microsoft Windows system, chances are low that the right set of tools to verify checksums and cryptographic signatures are in place.
To first verify the cryptographic signature, tools such as GPG4Win can be used. After installation, the public keys of the Gentoo Release Engineering team need to be imported. The list of keys is available on the signatures page. Once imported, the user can then verify the signature of the .DIGESTS.asc file.
This does not verify that the .DIGESTS file is correct, only that the .DIGESTS.asc file is. That also implies that the checksum should be verified against the values in the .DIGESTS.asc file, which is why the instructions above only refer to downloading the .DIGESTS.asc file.
The checksum itself can be verified using the Hashcalc application, although many others exist as well. Most of the time, these tools will show the user the calculated checksum, and the user is requested to verify this checksum with the value that is inside the .DIGESTS.asc file.
Linux based verification
On a Linux system, the most common method for verifying the cryptographic signature is to use the app-crypt/gnupg software. With this package installed, the following commands can be used to verify the cryptographic signature of the .DIGESTS.asc file.
First, download the right set of keys as made available on the signatures page:
gpg --keyserver hkps://keys.gentoo.org --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <email@example.com>" 1 new signature gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model gpg: depth: 0 valid: 3 signed: 20 trust: 0-, 0q, 0n, 0m, 0f, 3u gpg: depth: 1 valid: 20 signed: 12 trust: 9-, 0q, 0n, 9m, 2f, 0u gpg: next trustdb check due at 2018-09-15 gpg: Total number processed: 1 gpg: new signatures: 1
Alternatively you can use instead the WKD to download the key:
wget -O- https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng | gpg --import
--2019-04-19 20:46:32-- https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng Resolving gentoo.org (gentoo.org)... 22.214.171.124 Connecting to gentoo.org (gentoo.org)|126.96.36.199|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 35444 (35K) [application/octet-stream] Saving to: 'STDOUT' 0K .......... .......... .......... .... 100% 11.9M=0.003s 2019-04-19 20:46:32 (11.9 MB/s) - written to stdout [35444/35444] gpg: key 9E6438C817072058: 84 signatures not checked due to missing keys gpg: /tmp/test2/trustdb.gpg: trustdb created gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <firstname.lastname@example.org>" imported gpg: key BB572E0E2D182910: 12 signatures not checked due to missing keys gpg: key BB572E0E2D182910: 1 bad signature gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <email@example.com>" imported gpg: Total number processed: 2 gpg: imported: 2 gpg: no ultimately trusted keys found
Next verify the cryptographic signature of the .DIGESTS.asc file:
gpg --verify install-ia64-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET gpg: using RSA key 0xBB572E0E2D182910 gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <firstname.lastname@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD B1BA BB57 2E0E 2D18 2910
To be absolutely certain that everything is valid, verify the fingerprint shown with the fingerprint on the Gentoo signatures page.
With the cryptographic signature validated, next verify the checksum to make sure the downloaded ISO file is not corrupted. The .DIGESTS.asc file contains multiple hashing algorithms, so one of the methods to validate the right one is to first look at the checksum registered in the .DIGESTS.asc file. For instance, to get the SHA512 checksum:
grep -A 1 -i sha512 install-ia64-minimal-20141204.iso.DIGESTS.asc
# SHA512 HASH 364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024 install-ia64-minimal-20141204.iso -- # SHA512 HASH 0719a8954dc7432750de2e3076c8b843a2c79f5e60defe43fcca8c32ab26681dfb9898b102e211174a895ff4c8c41ddd9e9a00ad6434d36c68d74bd02f19b57f install-ia64-minimal-20141204.iso.CONTENTS
In the above output, two SHA512 checksums are shown - one for the install-ia64-minimal-20141204.iso file and one for its accompanying .CONTENTS file. Only the first checksum is of interest, as it needs to be compared with the calculated SHA512 checksum which can be generated as follows:
As both checksums match, the file is not corrupted and the installation can continue.
Burning a disk
Of course, with just an ISO file downloaded, the Gentoo Linux installation cannot be started. The ISO file needs to be burned on a CD to boot from, and in such a way that its content is burned on the CD, not just the file itself. Below a few common methods are described - a more elaborate set of instructions can be found in Our FAQ on burning an ISO file.
Burning with Microsoft Windows 7 and above
Versions of Microsoft Windows 7 and above can both mount and burn ISO images to optical media without the requirement for third-party software. Simply insert a burnable disk, browse to the downloaded ISO files, right click the file in Windows Explorer, and select "Burn disk image".
Burning with Linux
The cdrecord utility from the package app-cdr/cdrtools can burn ISO images on Linux.
To burn the ISO file on the CD in the /dev/sr0 device (this is the first CD device on the system - substitute with the right device file if necessary):
cdrecord dev=/dev/sr0 install-ia64-minimal-20141204.iso
Users that prefer a graphical user interface can use K3B, part of the kde-apps/k3b package. In K3B, go to Tools and use Burn CD Image.
Booting the installation CD
Once the installation CD is burned, it is time to boot it. Remove all CDs from the CD drives, and insert the Gentoo installation CD. Reboot the system and wait for the EFI firmware to load on the console. The exact option to select will differ depending on the hardware.
Most implementations usually present an option directly on the first menu (the EFI Boot Manager). The exact wording would differ but would usually be something like "CD Boot", "Removable Media Boot" or "Internal Bootable DVD". Select this option.
If the EFI implementation does not present such an option, boot the CD using the EFI Shell. All implementations will present an option to enter the shell on the Boot Manager menu. Select this option. The EFI Shell will display a list of usable block devices (blkn:) and also a list of filesystems the EFI Shell can actually access (fsn:).
In most cases the option will be the fs0: choice; regardless, (provided the CD drive recognizes the CD), one fsn entry for the CD drive (the CD drive's EFI device path will contain CDROM in the wording) will be displayed. Enter fsn:, replacing n as required and including the colon, followed by the Enter key. Next just type
elilo followed by the Enter key.
The ELILO boot message is up next, and asks the user to enter a kernel to boot as well as any additional options to pass to the kernel command line. In most cases just hit the Enter key or wait five seconds. Only one kernel is supplied on the IA64 installation CD, the gentoo kernel.
Several kernel aliases are provided which add extra options to the kernel command line, which may need to be used instead of the default gentoo option depending on the hardware:
- The gentoo-serial option forces a serial console on the first serial port (ttyS0) at 9600bps. This may be required on some older EFI implementations where the kernel can't detect what console to use. Try this option if booting the default gentoo kernel produces no output and if a serial console is used. If the serial console is not connected to the the first serial port then manually select the console by typing gentoo console=ttyS#,9600 where # is the number of the serial port.
- The gentoo-ilo option forces a serial console on the ttyS3 serial port at 9600bps. This should be used when installing using the HP iLO remote console feature.
- The gentoo-sgi option forces a serial console on the ttySG0 serial port at 115200bps. This should only be needed on SGI hardware; if the console is properly selected in the default EFI settings, or when using a video console, then this option should not be required.
It is also possible to provide additional kernel options. They represent optional settings to (de)activate at will.
|acpi=on||This loads support for ACPI and also causes the acpid daemon to be started by the CD on boot. This is only needed if the system requires ACPI to function properly. This is not required for Hyperthreading support.|
|acpi=off||Completely disables ACPI. This is useful on some older systems and is also a requirement for using APM. This will disable any Hyperthreading support of your processor.|
|console=X||This sets up serial console access for the CD. The first option is the device, usually ttyS0 on x86, followed by any connection options, which are comma separated. The default options are 9600,8,n,1.|
|dmraid=X||This allows for passing options to the device-mapper RAID subsystem. Options should be encapsulated in quotes.|
|doapm||This loads APM driver support. This also requires that |
|dopcmcia||This loads support for PCMCIA and Cardbus hardware and also causes the pcmcia cardmgr to be started by the CD on boot. This is only required when booting from PCMCIA/Cardbus devices.|
|doscsi||This loads support for most SCSI controllers. This is also a requirement for booting most USB devices, as they use the SCSI subsystem of the kernel.|
|sda=stroke||This allows the user to partition the whole hard disk even when the BIOS is unable to handle large disks. This option is only used on machines with an older BIOS. Replace sda with the device that requires this option.|
|ide=nodma||This forces the disabling of DMA in the kernel and is required by some IDE chipsets and also by some CDROM drives. If the system is having trouble reading from the IDE CDROM, try this option. This also disables the default hdparm settings from being executed.|
|noapic||This disables the Advanced Programmable Interrupt Controller that is present on newer motherboards. It has been known to cause some problems on older hardware.|
|nodetect||This disables all of the autodetection done by the CD, including device autodetection and DHCP probing. This is useful for doing debugging of a failing CD or driver.|
|nodhcp||This disables DHCP probing on detected network cards. This is useful on networks with only static addresses.|
|nodmraid||Disables support for device-mapper RAID, such as that used for on-board IDE/SATA RAID controllers.|
|nofirewire||This disables the loading of Firewire modules. This should only be necessary if your Firewire hardware is causing a problem with booting the CD.|
|nogpm||This disables gpm console mouse support.|
|nohotplug||This disables the loading of the hotplug and coldplug init scripts at boot. This is useful for doing debugging of a failing CD or driver.|
|nokeymap||This disables the keymap selection used to select non-US keyboard layouts.|
|nolapic||This disables the local APIC on Uniprocessor kernels.|
|nosata||This disables the loading of Serial ATA modules. This is used if the system is having problems with the SATA subsystem.|
|nosmp||This disables SMP, or Symmetric Multiprocessing, on SMP-enabled kernels. This is useful for debugging SMP-related issues with certain drivers and motherboards.|
|nosound||This disables sound support and volume setting. This is useful for systems where sound support causes problems.|
|nousb||This disables the autoloading of USB modules. This is useful for debugging USB issues.|
|slowusb||This adds some extra pauses into the boot process for slow USB CDROMs, like in the IBM BladeCenter.|
|Logical volume/device management|
|dolvm||This enables support for Linux's Logical Volume Management.|
|debug||Enables debugging code. This might get messy, as it displays a lot of data to the screen.|
|docache||This caches the entire runtime portion of the CD into RAM, which allows the user to umount /mnt/cdrom and mount another CDROM. This option requires that there is at least twice as much available RAM as the size of the CD.|
|doload=X||This causes the initial ramdisk to load any module listed, as well as dependencies. Replace X with the module name. Multiple modules can be specified by a comma-separated list.|
|dosshd||Starts sshd on boot, which is useful for unattended installs.|
|passwd=foo||Sets whatever follows the equals as the root password, which is required for dosshd since the root password is by default scrambled.|
|noload=X||This causes the initial ramdisk to skip the loading of a specific module that may be causing a problem. Syntax matches that of doload.|
|nonfs||Disables the starting of portmap/nfsmount on boot.|
|nox||This causes an X-enabled LiveCD to not automatically start X, but rather, to drop to the command line instead.|
|scandelay||This causes the CD to pause for 10 seconds during certain portions the boot process to allow for devices that are slow to initialize to be ready for use.|
|scandelay=X||This allows the user to specify a given delay, in seconds, to be added to certain portions of the boot process to allow for devices that are slow to initialize to be ready for use. Replace X with the number of seconds to pause.|
The CD will check for
do*options, so that options can be overriden in the exact order specified.
Next the user will be greeted with a boot screen and progress bar. If the installation is done on a system with a non-US keyboard, make sure to immediately press Alt+F1 to switch to verbose mode and follow the prompt. If no selection is made in 10 seconds the default (US keyboard) will be accepted and the boot process will continue. Once the boot process completes, the user is automatically logged in to the "Live" Gentoo Linux environment as the root user, the super user. A root prompt is displayed on the current console, and one can switch to other consoles by pressing Alt+F2, Alt+F3 and Alt+F4. Get back to the one started on by pressing Alt+F1.
Extra hardware configuration
When the Installation medium boots, it tries to detect all the hardware devices and loads the appropriate kernel modules to support the hardware. In the vast majority of cases, it does a very good job. However, in some cases it may not auto-load the kernel modules needed by the system. If the PCI auto-detection missed some of the system's hardware, the appropriate kernel modules have to be loaded manually.
In the next example the 8139too module (which supports certain kinds of network interfaces) is loaded:
Optional: User accounts
If other people need access to the installation environment, or there is need to run commands as a non-root user on the installation medium (such as to chat using irssi without root privileges for security reasons), then an additional user account needs to be created and the root password set to a strong password.
To change the root password, use the passwd utility:
New password: (Enter the new password) Re-enter password: (Re-enter the password)
To create a user account, first enter their credentials, followed by the account's password. The useradd and passwd commands are used for these tasks.
In the next example, a user called john is created:
useradd -m -G users john
New password: (Enter john's password) Re-enter password: (Re-enter john's password)
To switch from the (current) root user to the newly created user account, use the su command:
su - john
Optional: Viewing documentation while installing
To view the Gentoo handbook during the installation, first create a user account as described above. Then press Alt+F2 to go to a new terminal.
During the installation, the links command can be used to browse the Gentoo handbook - of course only from the moment that the Internet connection is working.
To go back to the original terminal, press Alt+F1.
The Screen utility is installed by default on official Gentoo installation media. It may be more efficient for the seasoned Linux enthusiast to use screen to view installation instructions via split panes rather than the multiple TTY method mentioned above.
Optional: Starting the SSH daemon
To allow other users to access the system during the installation (perhaps to support during an installation, or even do it remotely), a user account needs to be created (as was documented earlier on) and the SSH daemon needs to be started.
To fire up the SSH daemon on an OpenRC init, execute the following command:
rc-service sshd start
If users log on to the system, they will see a message that the host key for this system needs to be confirmed (through what is called a fingerprint). This behavior is typical and can be expected for initial connections to an SSH server. However, later when the system is set up and someone logs on to the newly created system, the SSH client will warn that the host key has been changed. This is because the user now logs on to - for SSH - a different server (namely the freshly installed Gentoo system rather than the live environment that the installation is currently using). Follow the instructions given on the screen then to replace the host key on the client system.
To be able to use sshd, the network needs to function properly. Continue with the chapter on Configuring the network.