One of the primary hurdles that needed overcoming was the network driver (it was a bit flaky in modern kernels). It'd randomly timeout/shutdown/etc.. after some measure of network activity. Turns out this issue was not the tulip driver itself (As I had thought), but rather the Galileo PCI chip (and its driver). There's a patch that fixes it now (credit goes to Peter Horton), and I was finally able to get some gentoo stages that had been sitting on my RaQ2 off and uploaded.
There's still the issue of the kernel size limitation, so 2.6 kernels are out of the question for now. There's a bootloader being coded, but it requires re-flashing the cobalt-rom, not something everyone is keen on doing, I'm sure.
Anyways, the main things:
- First, there is no installation guide for these systems. I haven't decided if I'm going to write a separate install guide for Cobalt systems, or re-arrange the existing Gentoo/MIPS Install guide to fit cobalt-specific things in it, so if you plan on trying this, make sure you know how to install gentoo manually. This is not a n00b-friendly procedure, and it is thusly advised that anyone not familiar with installing gentoo on a semi-unsupported system to stay far away.
- There is no gentoo netboot yet. Cobalt netboots are a bit different than the SGI versions. The SGI ones can simply have the initrd embedded within the kernel, whereas the cobalt ones need the initrd fetched and mounted via NFS. I haven't tried this yet, and have no idea when I'll get around to doing so.
- No guarantees. This machine's support is experimental right now. A few people have manually installed gentoo on these systems, but probably not without dealing with hurdles. Hopefully the stages I have will help in this endeavour.
Now, the fun parts:
- Stages are available here:
http://dev.gentoo.org/~kumba/mips/cobalt/stages/200401/ - Kernel:
Cobalt systems will use mips-sources, however the kernel needs several patches in order to work properly. I'll be adding these patches to mips-sources-2.4.21, 2.4.22, and 2.4.23 shortly. In the meantime, those curious as to what these patches are and what they do, look here and scan the README file:
http://dev.gentoo.org/~kumba/mips/cobalt/patches/
I've also uploaded a config for a mips-sources-2.4.22 kernel, as well as a kernel already compiled (with a modules tarball). This kernel has all the patches mentioned above applied. You can find this here:
http://dev.gentoo.org/~kumba/mips/cobalt/kernel/
(Unpack the tarball in /, as it'll dump everything into lib/modules/2.4.22-20031015). - LCD Panel:
I'll be adding utilities for writing text to the front LCD panels and reading button input shortly. These utilities will be available in sys-apps/lcdutils in the Portage tree. Please note that in order to merge this package on a cobalt, you will need to symlink /etc/make.profile to /usr/portage/profiles/cobalt-mips-1.4. (The profiles will be undergoing a name change soon, I'll re-post more info when this happens). If you aren't using this profile, the package will error out on you (I rigged it to do so). - Gentoo make.conf:
For convience, I've also uploaded a sample /etc/make.conf to my dev site as well. These machines are little-endian, not big-endian like their larger SGI cousins. Keep this in mind.
http://dev.gentoo.org/~kumba/mips/cobal ... /make.conf
Those interested in assisting on getting this machine to work better, let me know, either here, via email, or on IRC (irc.freenode.net, #gentoo-mips). Given time, this should help make these kinds of machines more useful (Newer kernels, newer tools == fun!).
--Kumba
uname -a:
Code: Select all
Linux udun 2.4.22-mipscvs-20031015 #3 Sat Jan 31 22:52:19 EST 2004 mips Nevada V10.0 FPU V10.0 MIPS Cobalt GNU/LinuxCode: Select all
CPU revision is: 000028a0
FPU revision is: 000028a0
Primary instruction cache 32kB, physically tagged, 2-way, linesize 32 bytes.
Primary data cache 32kB 2-way, linesize 32 bytes.
Linux version 2.4.22-mipscvs-20031015 (root@isengard) (gcc version 3.3.2) #3 Sat Jan 31 22:52:19 EST 2004
Determined physical RAM map:
memory: 09000000 @ 00000000 (usable)
On node 0 totalpages: 36864
zone(0): 36864 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,115200 root=/dev/hda5
Calibrating delay loop... 249.03 BogoMIPS
Memory: 143708k/147456k available (1303k kernel code, 3748k reserved, 96k data, 76k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 8192 (order: 3, 32768 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
Checking for 'wait' instruction... available.
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Cobalt Board ID: 6
Activating ISA DMA hang workarounds.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
pty: 256 Unix98 ptys configured
Cobalt LCD Driver v2.10
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xc800000 (irq = 7) is a ST16650V2
rtc: SRM (post-2000) epoch (2000) detected
Real Time Clock Driver v1.10f
Linux Tulip driver version 0.9.15-pre12 (Aug 9, 2002)
PCI: Enabling device 00:07.0 (0045 -> 0047)
tulip0: Old format EEPROM on 'Cobalt Microserver' board. Using substitute media control info.
tulip0: EEPROM default media type Autosense.
tulip0: Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
tulip0: MII transceiver #1 config 1000 status 7809 advertising 01e1.
eth0: Digital DS21143 Tulip rev 65 at 0xb2000000, 00:10:E0:00:26:DC, IRQ 4.
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 00:09.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: VIA vt82c586a (rev 27) IDE UDMA33 controller on pci00:09.1
ide0: BM-DMA at 0xcc00-0xcc07, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xcc08-0xcc0f, BIOS settings: hdc:pio, hdd:pio
hda: QUANTUM FIREBALL EX3.2A, ATA DISK drive
hdb: WDC WD200BB-75AUA1, ATA DISK drive
blk: queue 80215680, I/O limit 4095Mb (mask 0xffffffff)
blk: queue 802157c0, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 6306048 sectors (3229 MB) w/418KiB Cache, CHS=6256/16/63, UDMA(33)
hdb: attached ide-disk driver.
hdb: host protected area => 1
hdb: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=38792/16/63, UDMA(33)
Partition check:
/dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 >
/dev/ide/host0/bus0/target1/lun0: p1 p2 p3
Initializing Cryptographic API
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 76k freed
Adding Swap: 524276k swap-space (priority -1)
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,5), internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,66), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
eth0: Setting full-duplex based on MII#1 link partner capability of 45e1.Code: Select all
system type : MIPS Cobalt
processor : 0
cpu model : Nevada V10.0 FPU V10.0
BogoMIPS : 249.03
wait instruction : yes
microsecond timers : yes
tlb_entries : 48
extra interrupt vector : yes
hardware watchpoint : no
VCED exceptions : not available
VCEI exceptions : not available

