Skip to content

Instantly share code, notes, and snippets.

@nsafran1217
Last active April 2, 2026 14:21
Show Gist options
  • Select an option

  • Save nsafran1217/c51affd600a221dfd1e22941ad069cb3 to your computer and use it in GitHub Desktop.

Select an option

Save nsafran1217/c51affd600a221dfd1e22941ad069cb3 to your computer and use it in GitHub Desktop.
Install Gentoo IA64 on SGI Altix 350

Getting circa 2022 Gentoo IA64 on an SGI Altix 350

rough notes. I think I'm abandoning Gentoo for T2.

good references:

https://wiki.gentoo.org/wiki/User:NeddySeagoon/HOWTO_Update_Old_Gentoo

https://unix.stackexchange.com/questions/562983/where-to-find-old-portage-snapshots-for-gentoo-upgrade

https://web.archive.org/web/*/https://distfiles.gentoo.org/releases/ia64/*

I stated with SLES 11 SP4 downloaded from https://mirror.rqsall.com/misc/ia64linux/SLES11. This install is straigtfoward, just boot DVD 1 with console=ttySG0,38400n8

I used a stage 3 from archive.org: https://web.archive.org/web/20221218040919/https://distfiles.gentoo.org/releases/ia64/autobuilds/20221130T031653Z/stage3-ia64-openrc-20221130T031653Z.tar.xz

https://wiki.gentoo.org/wiki/Handbook:IA64/Installation/Disks

Follow Gentoo's docs for setting up the disks partition. I did 1GB /boot/efi, 8GB swap, 490GB /. Extract tar into the new disk.

I cloned the gentoo git and checked out a random commit from 2022 with this command. I did this on my main computer since sles didn't have git.

git clone https://github.com/gentoo/gentoo.git git checkout $(git rev-list -n 1 --first-parent --before="2022-12-19" master)

Then I then copied this repo in /var/db/repos/gentoo Now, we should be ready to chroot.

mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"

Once in chroot, we need to setup portage.

cd /etc/portage ln -s ../../var/db/repos/gentoo/profiles/default/linux/ia64/17.0 make.profile

More following Gentoo's instructions.

configure timezone ln -sF /usr/share/zoneinfo/America/New_York /etc/localtime

COnfigure locales nano /etc/locale.gen

Uncomment en_US.UTF-8

locale-gen
eselect locale list
eselect locale set 2
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

start kernel work

cd /usr/src
wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.14.79.tar.xz
tar -xf linux-3.14.79.tar.xz
ln -s linux-3.14.79 linux
cd linux
emerge --ask sys-apps/pciutils
lspci > ~/lspci.txt

cd /usr/src/linux
make localmodconfig

I just held enter and accepted all defaults

make menuconfig

Enable lots of stuff. Make sure you enable SN2 support in Processor type and features. Im sorry but this isnt complete. Make sure you find all the SN2 and Altix devices. There are some in character and scsi.

Processor type and features->System Type = SN2
Device Drivers  --->  
    ATA/ATAPI/MFM/RLL support (DEPRECATED)  --->  
        <*> Silicon Graphics IOC4 IDE support

Device Drivers  --->  
    Character devices  --->  
        <*> SGI IOC4 serial port support

Device Drivers  --->  
    Character devices  --->  
        Serial driver --->
	Lots of SGI stuff and altix stuff. check it all

Device Drivers  --->  
    Serial ATA and Parallel ATA drivers (libata)  --->  
        <*> AHCI SATA support
        <*> ATA BMDMA support

Device Drivers  --->  
    Network device support  --->  
        Ethernet driver support  --->  
            Broadcom devices  --->  
                <*> Broadcom Tigon3 support

Networking support  --->  
    Networking options  --->  
        <*> Packet socket  
        [*]   Packet socket: mmapped IO  
File systems  ---> 
    Native Language Support  ---> 
        <*> NLS ISO 8859-1  (Latin 1; Western European Languages)
Device Drivers
--->Character Devices
-------><*>Hardware Random Number Generator
-----------><*>INTEL HW RNG

Some others that im thinking of:

XFS, NFS, FAT32

compile

There is one patch needed to compile:

in arch/ia64/sn/pci/pcibr/pcibr_dma.c

Change void sn_dma_flush(u64 addr)

to: void sn_dma_flush(unsigned long addr)

make -j$(nproc)
make modules_install
cp vmlinux.gz /boot/vmlinuz

Set your hostname in /etc/hostname

We need to spawn getty on bootup. Edit /etc/inittab Add: c0:12345:respawn:/sbin/agetty --noclear 38400 ttySG0 linux

elilo setup

emerge --ask sys-boot/elilo

edit /etc/elilo.conf

This is mine:

boot=/dev/sdb1
delay=50
timeout=50
default=Gentoo
append="console=ttySG0,38400n8"
relocatable
prompt

image=/boot/vmlinuz
        label=Gentoo
        root=/dev/sdb3
        read-only

image=/boot/vmlinuz.old
        label=Gentoo.old
        root=/dev/sdb3
        read-only

elilo -v --format --debug --efiboot

Now, you should have a working system.

At this point, you will struggle with missing sources trying to use emerge since portage is old.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment