Linux Notes: Itanium (Intel's first 64-bit CPU)

  1. The information presented here is intended for educational use by qualified computer technologists.
  2. The information presented here is provided free of charge, as-is, with no warranty of any kind.
Edit: 2023-08-08

The distro name game: x86, x86-64, x64, ia64 (what does it all mean?)

Getting Linux for an HP rx2660

Linux IA64 distributions list by most recently published update

Gentoo Linux @ Wikipedia

Debian Linux @ Wikipedia

FreeBSD @ Wikipedia

SuSE @ Wikipedia

CentOS @wikipedia

OS Ease of Install (Easiest First)

  OS Type install
over
ilO?
auto
install
success?
install
time
notes
1 OpenVMS binary 100% 100% < 1 hour
  • while OpenVMS is not a version of Linux or Unix,
    it still occupies the top spot for ease of installation
2 SuSE binary 100% 100% 1-2 hours
  • a pc-based terminal emulator is required; a real VT monitor will not work
  • elilo setup was done for me including the boot manager entry (cool)
3 CentOS binary 100% 100% 1-2 hours
  • elilo setup was done for me including the boot manager entry (cool)
  • this is a very old offering from 2008 so did not offer a version of MariaDB
4 Debian binary 100% 95% 2-3 hours
  • installation failed in the final phase (elilo setup); I had to to it manually
5 FreeBSD binary 100% 90% 2-3 hours
  • appeared to install in under 30 minutes. But then I discovered ...
  • that the installer never bothered to create a boot partition.
  • you need to do a manual partitioning using gpart (very unfriendly)
  • you will need to format the partitions with newfs
  • no elilo-like tools exist so you will be setting up the boot partition manually
  • http://www.wonkity.com/~wblock/docs/html/disksetup.html
9 Gentoo source build 5% n/a > 7 hours
  • after the initial boot, the run-time environment quickly shifts to the VGA monitor
  • installation instructions were spotty so I learned a lot the hard way
  • not recommended for anyone other than experts and/or hackers
  • provided the greatest amount of fun and frustration
  • When I finally got this working I was reminded of a line from the movie This Island Earth where the alien says: "you have assembled an interocitor; a feat which few men are capable"
10 Gentoo binary ? ? ?

Gentoo comments, caveats, and gotchas

gotchas

  1. Type very carefully. This command "tar --help" passes one switch to tar while this command "tar -help" passes four switches (h, e, l, p) and will just ignore anything it does not understand
  2. Lots of UNIX sites published their own Gentoo installation guides but you would be wise to ignore everything published before 2014 because that year Gentoo went through major changes
  3. Using "parted" to partition your disks
    • The IA64 handbook instructs you to make a boot partition 32 MB in size which is way too small
      • you will run into problems if you later decide to use "genkernel" which enables initramfs which combine to be ~ 34 MB
    • start parted with the optimal switch as in "parted -a optimal /dev/sda"
    • the first command should be "unit mib"
    • the first partition should start at one, not zero, then run for 128 megabytes (minimum)
    • then choose values that are multiples of 32, 64, 128, or 256 (eg. mkpart 1 65)
  4. The Gentoo handbooks I tried (x86, amd64, ia64) in 2016 all work properly but are not 100% accurate
    • for example, the "export" command after "chroot" changes the prompt but the documentation still show the prompt as "root" (huh?)
  5. If you do not execute the "swapon /dev/sda2" command, tar will fail when it unpacks the stage3 tarball
  6. Do not modify file "make.conf" in the IA64 version. Just inserting "-march=native" will cause numerous errors
    details:
    1. I checked out gcc on other Gentoo distros including i486, i586 and i686 but none of them ever mention (in the help) using "-march=native" although writing a simple hello-world.c program then compiling with "-march=native" seems to work. But the output appeared to be the same as not using the switch at all
    2. The Gentoo installation manual seems to infer that switches "-march" and "-mtune" are synonyms but they are not. The first switch selects the CPU architecture (eg. i586) while the second switch selects a specific optimization within the specified architecture (eg. pentiumiii)
    3. The IA64 version of gcc in 2016 does not support the "-march" switch because this compiler can only generate Itanium code. Viewing verbose help indicates that switch "-mtune" can have only two values: "itanium1" or "itanium2" with the compiler defaulting to "itanium2".
      • if you are seeing a lot of build errors then try using switch "-mtune=itanium1"
      • HP appears to have stopped working on Linux source code (at least from what I can see in the comments area of the IA64 kernel). I can only assume that they worried that free Linux would hurt sales of their own proprietary UNIX product called HP-UX
  7. Many people skip chapter #3 (setting up the network) because it auto-configures via dhcp during the CD or DVD boot. However, you still must copy "/etc/resolv.conf" to the Gentoo hard drive before you execute "chroot". Why? After you execute "chroot" you will be isolated from the previous environment. Failure to do this will cause file retrieval failures when you execute "emerge-webrsync"
  8. The IA64 Handbook is missing this command in chapter #4
        mkfs.vfat /dev/sda1
    which is required before copying your boot loader in chapter #10. Do not forget to mount this volume before executing "elilo --efiboot" (or consider setting up the boot partition manually; that's what I did on Gentoo as well as Debian
  9. After you issue chroot I suggest you issue the passwd command for root. Failure to do this now will cause problems during your first boot in chapter #11
  10. On your first kernel build you would be wise to do an automatic build via command "genkernel all". This will produce a kernel similar to the one associated with the CD ROM (will auto-detect hardware but boot a little slower). Once everything works properly you could try "make menuconfig" on a subsequent build.
    • for some reason I don't yet understand, the linux image filename must be vmlinuz
  11. The file elilo.efi found on the Gentoo hard-drive is corrupt so copy the file used by the CD or DVD
    • when run by the management processor on the iLo, the program always throws this message: "3 0 0x0002C8 0x0000000000000000 EFI ASSERT error"
    • I don't yet know when this file was built from sources but here's the rub: every file with an ".efi" extension represents an x86 program which must only be run by the x86-based Management Processor associated with the iLO port; but gotcha-6c above indicates that the gcc compiler on this system cannot generate anything other than "ia64" code so if elilo.efi was built with ia64 instructions then no wonder it fails
    • another potential problem: the boot manager needs to read files from a FAT16-formatted boot partition so must be built with that capability
    • testing elilo.efi
      • applying Occam's Razor to the problem:
        • from the EFI utility you should create an empty directory under EFI called hack then copy elilo.efi to it
        • now instruct the management processor to execute this file
          • you should see a complaint about missing file: "/EFI/hack/elilo.conf" then the boot manager should drop into interactive mode prompting you to manually enter an image
          • if you do not see the complaint then booting is not getting this far
            • some have placed trace messages in the boot manager (elilo.efi) but this skill is beyond most developers
  12. Here are the contents of elilo.conf on the boot partition (worked on 2016-0-xx)
    default=gentoo1
    prompt
    timeout=50
    message=/EFI/boot/neil.msg
    
    image=/EFI/boot/vmlinuz
      label=gentoo1
      description="choice1"
      root=/dev/sda3
      initrd=/EFI/boot/initramdisk
      append="initrd=initramdisk root=/dev/sda3"
      read-only
    
    image=/EFI/boot/vmlinuz.old
      label=gentoo2
      description="choice2"
      root=/dev/sda3
      append="root=/dev/sda3"
      read-only
  13. and here are the contents of neil.msg on the boot partition (just a simple text file)
      menu:
        gentoo1  (gentoo with ram disk)
        gentoo2  (standalone)

Debian comments, caveats, and gotchas

What's up with elilo on Linux distros?

Overview 2016
 Back to Home
Neil Rieck
Waterloo, Ontario, Canada.