rx2600 installation success/steps

Kevin Day kevin at your.org
Mon Jun 3 15:12:22 UTC 2013


It took a while, but I got 9.1-RELEASE installed on an HP rx2600. Here are the steps it took.

1) Prepare the hardware.

The system was ridiculously picky about which USB keyboards it would use. Out of our giant pile, I only found one Dell USB keyboard that it would work with. Plugging in any other keyboard would throw up a machine check exception, and instantly reboot.

You'll probably be better off using a serial console for everything anyway - by default the freebsd console won't come out on the VGA console.


2) Make the ciss controller work.

For some reason the ciss controller that shipped with this system (ciss0: <Compaq Smart Array 5300>) has an issue in the PERFORMANT transport mode. If you try to boot the default kernel, it either hangs probing the controller or detects no drives. So, when the boot loader comes up on the install CD, break to the loader and run:

set hw.ciss.force_transport=1

to force it into SIMPLE mode. This was later changed (after 9.1-RELEASE shipped) here: http://svnweb.freebsd.org/base?view=revision&revision=247279 so this may no longer be necessary on future releases.

You'll need to also add this to /boot/loader.conf on your root partition after installation so it takes effect permanently on the next boot.


3) Do the install.

The new installer doesn't automatically create an EFI partition anymore, so you need to manually do this when you're partitioning.

It also doesn't write the MBR correctly (it forces the 'active' flag to be set which is a no-no for EFI), so you'll need to fix this after installing but before rebooting.

My steps were to create an EFI partition using the installer, then go to a shell and do:

mkdir /efi
newfs_msdos -F 12 /dev/gpt/EFI
mount_msdosfs /dev/gpt/EFI /efi
mkdir -p /efi/efi/boot
cp /boot/loader.efi /efi/efi/boot/bootx64.efi
mkdir /efi/boot
cp /boot/* /efi/boot
mkdir /efi/boot/kernel
cp /boot/kernel/kernel /efi/boot/kernel
mkdir /efi/boot/defaults
cp /boot/defaults/* /efi/boot/defaults
echo 'hw.ciss.force_transport="1"' >/efi/boot/loader.conf
echo 'vfs.root.mountfrom="ufs:/dev/gpt/root"' >>/efi/boot/loader.conf
umount /efi

Then according to the very helpful debugging documentation here ( http://people.freebsd.org/~lstewart/misc/gpart_debug/ ) I manually edited the first sector of /dev/da0 so that the byte at offset 0x1be is 0x00 instead of 0x80, the system's EFI shell will now correctly see the EFI partition.

sysctl kern.geom.debugflags=16
dd if=/dev/zero of=/dev/da0 bs=1 seek=446 count=1
sysctl kern.geom.debugflags=0

If you do anything that causes gpart to write to the disk, you'll need to do this again before rebooting or you won't be able to boot. be careful!


4) While I can get a working console from the install disc, I don't after installation. During boot I see some obvious signs of problems:

eval: cannot open /dev/ttyv0: No such file or directory
eval: cannot open /dev/ttyv0: No such file or directory

The boot seems successful but stops here without a login prompt:

Updating motd:.
Starting sshd.
Starting cron.
Starting background file system checks in 60 seconds.

Sun Jun  2 10:29:42 UTC 2013

If I have networking running, i can ssh in. One very weird thing is that the number of ttyu* devices seems to change every time I reboot. Sometimes I have 0-2, going all the way up to 0-5 occasionally. The tty that the actual system console is appears to change on every reboot. 

I edited /etc/ttys to turn "on" ttyu1 through ttyu3, and added a ttyu4 and ttyu5 so that all the serial consoles will work, and this occasionally works. When it doesn't, I hard hang the system at the point it should be spawning terminals, so I'm guessing some of the incorrect ttys are not really working when they appear.

It seems that every time I warm-restart I gain another tty, but then it goes back to "normal" on a cold restart. Possibly an EFI bug, but I do have the latest firmware here so I'm not sure.


I'm still no closer to getting my rx8620 working, but this was a good success today!




More information about the freebsd-ia64 mailing list