On SGI machines, we use the
# emerge arcload dvhtool
Once this has finished, you should find the
Use
(Indy/Indigo2/Challenge S/O2 users) # dvhtool --unix-to-vh /usr/lib/arcload/sashARCS sashARCS(Indigo2 Impact/Octane/Octane2/Origin 200/Origin 2000 users) # dvhtool --unix-to-vh /usr/lib/arcload/sash64 sash64
Now just use
# dvhtool --print-volume-directory ----- directory entries ----- Entry #0, name "sash64", start 4, bytes 55859 #
Now, the
# ARCLoad Configuration # Some default settings... append "root=/dev/sda3"; append "ro"; append "console=ttyS0,9600";# Our main definition. ip28 may be changed if you wish. ip28 {# Definition for a "working" kernel # Select this by setting OSLoadFilename="ip28(working)" working { description "SGI Indigo2 Impact R10000\n\r"; image system "/working"; }# Definition for a "new" kernel # Select this by setting OSLoadFilename="ip28(new)" new { description "SGI Indigo2 Impact R10000 - Testing Kernel\n\r"; image system "/new"; }# For debugging a kernel # Select this by setting OSLoadFilename="ip28(working,debug)" # or OSLoadFilename="ip28(new,debug)" debug { description "Debug console"; append "init=/bin/bash"; } }
Starting with
# dvhtool --unix-to-vh arc.cf arc.cf # dvhtool --unix-to-vh /usr/src/linux/vmlinux new
With this done, now all that's left is to set some options in the PROM. See the
section on
On Cobalt servers, these machines have a much less capable firmware installed on chip. The Cobalt BOOTROM is primitive, by comparison to the SGI PROM, and has a number of serious limitations.
To overcome these limitations, an alternative firmware, called
Okay, with the warnings over now, we'll get on with installing CoLo. First, start by emerging the package.
# emerge colo
With that installed (I hope you read those messages ;-) you should be able to
look inside the
# gzip -9vc /usr/lib/colo/colo-chain.elf > /boot/vmlinux.gz
Now, when the system first boots up, it'll load CoLo which will spit up a menu
on the back LCD. The first option (and default that is assumed after roughly 5
seconds) is to boot to the hard disk. The system would then attempt to mount
the first Linux partition it finds, and run the script
#:CoLo:# mount hda1 load /kernel.gz.working execute root=/dev/hda3 ro console=ttyS0,115200
It is also possible to ask a question, such as which kernel & configuration
you'd like to boot, with a default timeout. This configuration does exactly
this, asks the user which kernel they wish to use, and executes the chosen
image.
#:CoLo:# lcd "Mounting hda1" mount hda1 select "Which Kernel?" 50 Working New goto {menu-option} var image-name vmlinux.gz.working goto 3f @var image-name vmlinux.gz.working goto 2f @var image-name vmlinux.gz.new @lcd "Loading Linux" {image-name} load /{image-name} lcd "Booting..." execute root=/dev/hda5 ro console=ttyS0,115200 boot
See the documentation in
Okay, the Linux installation as it stands now, would boot fine, but assumes you're going to be logged in at a physical terminal. On Cobalt machines, this is particularly bad -- there's no such thing as a physical terminal.
First, pull up an editor and hack away at
# SERIAL CONSOLE #c0:12345:respawn:/sbin/agetty 9600 ttyS0 vt102 # TERMINALS c1:12345:respawn:/sbin/agetty 38400 tty1 linux c2:12345:respawn:/sbin/agetty 38400 tty2 linux c3:12345:respawn:/sbin/agetty 38400 tty3 linux c4:12345:respawn:/sbin/agetty 38400 tty4 linux c5:12345:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux# What to do at the "Three Finger Salute". ca:12345:ctrlaltdel:/sbin/shutdown -r now
First, uncomment the
# SERIAL CONSOLE c0:12345:respawn:/sbin/agetty 115200 ttyS0 vt102# TERMINALS -- These are useless on a headless qube #c1:12345:respawn:/sbin/agetty 38400 tty1 linux #c2:12345:respawn:/sbin/agetty 38400 tty2 linux #c3:12345:respawn:/sbin/agetty 38400 tty3 linux #c4:12345:respawn:/sbin/agetty 38400 tty4 linux #c5:12345:respawn:/sbin/agetty 38400 tty5 linux #c6:12345:respawn:/sbin/agetty 38400 tty6 linux
Now, lastly... we have to tell the system, that the local serial port can be
trusted as a secure terminal. The file we need to poke at is
(/dev/ttyS0 -- the traditional name for the first serial port) # echo 'ttyS0' >> /etc/securetty(Lately, Linux also calls this /dev/tts/0 -- so we add this too) # echo 'tts/0' >> /etc/securetty
Exit the chrooted environment and unmount all mounted partitions. Then type in
that one magical command you have been waiting for:
# exit cdimage ~# cd cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo cdimage ~# reboot
Now that you've installed the bootloader, you're ready to reboot the machine.
(Exit the chroot environment) # exit(Unmount the drives) # umount /gentoo/boot # umount /gentoo(Reboot) # reboot
When you are rebooted, go to the
1) Start System 2) Install System Software 3) Run Diagnostics 4) Recover System 5) Enter Command Monitor Option? 5 Command Monitor. Type "exit" to return to the menu.(Set some options for arcload) (Provide the location of the Volume Header) >> setenv SystemPartition scsi(0)disk(1)rdisk(0)partition(8)(Automatically boot Gentoo) >> setenv AutoLoad Yes(Set the timezone) >> setenv TimeZone EST5EDT(Use the serial console - graphic adapter users should have "g" instead of "d1" (one)) >> setenv console d1(Setting the serial console baud rate. This is optional, 9600 is the ) (default setting, although one may use rates up to 38400 if that is desired. ) >> setenv dbaud 9600
Now, the next settings depend on how you are booting the system.
This is covered here for completeness. It's recommended that users look into
installing
(<root device> = Gentoo's root partition, e.g. /dev/sda3) >> setenv OSLoadPartition <root device>(To list the available kernels, type "ls") >> setenv OSLoader <kernel name> >> setenv OSLoadFilename <kernel name>(Declare the kernel parameters you want to pass) >> setenv OSLoadOptions <kernel parameters>
If you wish to try a kernel without messing with kernel parameters, you may do
so using the
(Booting a kernel, "new", with additional options) # boot -f new root=/dev/sda3 ro
In the example file above, we have one system block defined,
(Select arcload as the bootloader:- sash64 or sashARCS) >> setenv OSLoader sash64(Use the "working" kernel image, defined in "ip28" section of arc.cf) >> setenv OSLoadFilename ip28(working)
Starting with
(If you wish to load from the volume header -- use partition 8) >> setenv OSLoadPartition scsi(0)disk(1)rdisk(0)partition(8)(Otherwise, specify the partition and filesystem type) >> setenv OSLoadPartition scsi(0)disk(1)rdisk(0)partition(0)[ext2]
Now you're ready to enjoy Gentoo! Boot in your Gentoo installation and finish
up with