年前无聊,把办公室一台闲置的sun-blade-100装了Gentoo,记一下流水帐:
机器基本上是标准配置吧:500M的64位CPU,1G内存,20G硬盘,具体有些啥硬件,可以在OK模式下运行show-devs查看,
因为不能截屏,这里给出lspci的结果:
gentoo-sparc64 ~ # lspci
00:00.0 Host bridge: Sun Microsystems Computer Corp. Ultra IIe
00:03.0 Non-VGA unclassified device: ALi Corporation M7101 Power Management Controller [PMU]
00:05.0 PCI bridge: Intel Corporation 21152 PCI-to-PCI Bridge
00:07.0 ISA bridge: ALi Corporation M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+]
00:08.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 01)
00:0c.0 Bridge: Sun Microsystems Computer Corp. RIO EBUS (rev 01)
00:0c.1 Ethernet controller: Sun Microsystems Computer Corp. RIO GEM (rev 01)
00:0c.2 FireWire (IEEE 1394): Sun Microsystems Computer Corp. RIO 1394 (rev 01)
00:0c.3 USB Controller: Sun Microsystems Computer Corp. RIO USB (rev 01)
00:0d.0 IDE interface: ALi Corporation M5229 IDE (rev c3)
00:13.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

一开始,下载了安装光盘install-sparc64-universal-2006.1.iso来安装,可惜启动到Loading ramdisk的时候就报:Illegal Instruction,然后退回到ok模式:
----------------------------------------------------
Welcome to the Gentoo/Linux SPARC64 InstallCD 2006.1
----------------------------------------------------

boot: 2617
Allocated 8 Megs of memory at 0x40000000 for kernel
Loaded kernel version 2.6.17
Loading initial ramdisk (645031 bytes at 0x67802000 phys, 0x40C00000 virt)...
Illegal Instruction
ok

有人说是OBP的版本太低导致的,我的版本是4.5.9,很老吗?OBP目前只能从solaris的分区(ufs)里升级,
但是升级风险太大,也怕搞挂了公司机器,决定还是尝试其他方法吧。

后发现OBP可以支持网络启动,于是从gentoo境像里找到最新的启动文件:
experimental/sparc/tftpboot/sparc64/gentoo-sparc64-2005.0-20050717.tftpboot
至于如何搭建网络启动环境,可以参考handbook里相关内容。
Ok模式下,键入boot net,开始接收启动文件并引导内核,哈哈。

好容易进入了Linux环境,却发现我下载的2006.1的stage3无法chroot,报错:

FATAL: kernel too old ……
原来2006.1的stage3需要内核版本至少是2.6.9,而网络启动使用的内核是2.4的,汗!决定找一个2.6内核的网络启动境像,发现gentoo官方没有提供,于是找其他的发行版,找了个debian的,2.6倒是有了,却又少了很多必须的命令,无奈之余向开发者求助,得知2006.0的stage3可以,OK,剩下按照手册即可顺利安装。

编译内核的时候,如果不是太确定需要编译的驱动,可以下载开发者提供的config进行修改使用
http://dev.gentoo.org/~weeve/configs/kernel_configs/
虽然是64位的CPU,Gentoo默认是64bit kernel+32bit userland,纯64位目前还不支持,估计是问题太多了。

说一下X的配置,我的显卡是ATI Rage XL使用的是VIDEO_CARDS="mach64",为了达到正确的分辨率和刷新率,需要在Device段添加一行:
Option  "reference_clock" "30 MHz"
30M是我瞎算的,可以根据/var/log/Xorg.0.log进行修改。
Blade-100的鼠标键盘都是USB的,所以没啥问题就驱动了,但是键盘的正常使用还要修改/etc/conf.d/keymaps:
确保KEYMAP="us",不然启动以后键盘是乱的。

> 进入OK模式的组合键STOP-A,在Linux下工作有问题,可以通过echo 0 > /proc/sys/kernel/stop-a禁用。
> 没有JAVA ?! 是的,太讽刺了,SUN的机器上居然不能用Java,开源以后也许会有改观吧