9. NetBSDで
Indigo R3000
を動かす
>> bootp()kernel
Obtaining kernel from server xserve
3245520+0+98272 entry: 0x80002000
[ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
[ 1.0000000] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
[ 1.0000000] 2018 The NetBSD Foundation, Inc. All rights reserved.
[ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[ 1.0000000] The Regents of the University of California. All rights reserved.
[ 1.0000000] NetBSD 8.99.25 (GENERIC32_IP12) #0: Sun Oct 7 00:47:57 UTC 2018
[ 1.0000000] naruaki@:/usr/obj.sgimips/sys/arch/sgimips/compile/GENERIC32_IP12
[ 1.0000000] total memory = 32768 KB
[ 1.0000000] (0 reserved for ARCS)
[ 1.0000000] avail memory = 28744 KB
[ 1.0000000] WARNING: module error: sequencer: can't find builtin dependency `midi'
[ 1.0000000] mainbus0 (root): SGI-IP12 [SGI, IP12], 1 processor
[ 1.0000000] cpu0 at mainbus0: MIPS R3000A CPU (0x230) Rev. 3.0 with MIPS R3010 FPC Rev. 4.0
[ 1.0000000] cpu0: 32KB/4B direct-mapped Instruction cache, 64 TLB entries
[ 1.0000000] cpu0: 32KB/4B direct-mapped write-through Data cache
[ 1.0000000] int0 at mainbus0 addr 0x1fb801c0
[ 1.0000050] pic0 at mainbus0 addr 0x1fa00000
[ 1.0000050] pic0: Revision B: dblk (0x2), iblk (0x8)
[ 1.0000050] pic0: Indigo R3000, board revision 1
[ 1.0000050] pic0: cache disabled, store partial, bus drive
[ 1.0000050] gio0 at pic0
[ 1.0000050] light0 at gio0: SGI LG2 (board revision 2)
[ 1.0000050] wsdisplay0 at light0 kbdmux 1
[ 1.0000050] hpc0 at gio0: SGI HPC1.5 (onboard)
[ 1.0000050] zsc0 at hpc0 offset 0xd10
[ 1.0000050] zstty0 at zsc0 channel 1 (console i/o)
[ 1.0000050] zstty1 at zsc0 channel 0
[ 1.0000050] zsc1 at hpc0 offset 0xd00
[ 1.0000050] zsms0 at zsc1 channel 1: baud rate 4800
[ 1.0000050] wsmouse0 at zsms0 mux 0
[ 1.0000050] zskbd0 at zsc1 channel 0: baud rate 600
[ 1.0000050] wskbd0 at zskbd0 mux 1
[ 1.0000050] sq0 at hpc0 offset 0x100: SGI Seeq 8003
[ 1.0000050] sq0: Ethernet address 08:00:69:06:59:03
[ 1.0000050] wdsc0 at hpc0 offset 0x11f: WD33C93B (20.0 MHz clock, BURST DMA, SCSI ID 0)
[ 1.0000050] wdsc0: microcode revision 0x0c, Fast SCSI
[ 1.0000050] scsibus0 at wdsc0: 8 targets, 8 luns per target
[ 1.0000050] dpclock0 at mainbus0 addr 0x1fb80e00
[ 1.7853010] scsibus0: waiting 2 seconds for devices to settle...
2004年にサポートされてから
ほとんどだれも動かしてない?
とりあえず動くところまで修正してPR
NetBSD Problem Report #53654
Revive IP12(Indigo R3000) kernel on NetBSD/sgimips
10. HDDから起動
できない?
BOOT(8) NetBSD/sgimips System Manager's Manual BOOT(8)
NAME
boot -- sgimips system bootstrapping procedures
DESCRIPTION
Silicon Graphics MIPS-based computers all feature essentially similar
firmware systems. However, as of the Indigo R4x00 series (IP20), quasi-
ARCS (Advanced RISC Computing Specification) compatible features are
also
present. All known PROM implementations support loading executables
from
disk devices, as well as from the network via BOOTP and TFTP.
BUGS
NetBSD does not support booting from disk on systems lacking an
ARCS-compatible firmware (presently supported systems include
Personal Iris and Indigo R3000).
It is possible to work around this by creating a sufficiently large volume
header and placing the kernel in it, or by network booting.
21. 良かったこと
• カーネルを書く人は結構いるが、ブートローダーを書く人はあまりいな
いので良い経験になった
• SCSIドライバがどのようにファイルを読んでいるのか勉強になった
• ブートローダはある意味簡易カーネルとも言えるので、
カーネルのデバッグにブートローダの知識が役立った
• NetBSD/sgimipsのTODOリストから課題を一個消せた
(sekiya)
* grtwo needs cursor and hardware color fill support
* ip12 needs ROM-based bootloader
* hpc devices need real probe routines
* port newport driver to x.org
• NetBSD以外のOSSなOSではIndigo R3000をサポートしていないので、
カーネルの修正を含め、動くようになってめっちゃ感謝された
22. スペシャル
サンクス
Frankさん
Dear Naruaki,
On 08/25/2018 01:41 PM, Frank Scheiner wrote:
> I'll try to do more testing as soon as I find out how to use the
> non-original disk.
Ok, in the end I used another narrow SCSI disk (a ST39216N, the original
disk is a ST1280N) that just worked.
As I don't have my Indys at hand currently, I followed "Installing
without sysinst" ([1]) and installed NetBSD (NetBSD-daily/HEAD
/201808230630Z) on disk from my working diskless NetBSD installation -
actually two times, as I didn't anticipate that one needs to reserve some
space at the beginning of the disk for the SGI volume header as
mentioned on [2]. :-D
The result is working:
```
>> boot -f dksc(0,1,8)irisboot dksc(0,1,0)/netbsd
56784+0+1832 entry: 0x80368000
NetBSD/sgimips 8.99.24 Yet another Bootstrap, Revision 1.0 (Sun Aug 19
08:53:34 UTC 2018)
2829712+82768 [185024+176400]=0x31fa74
[ 1.0000000] arcemu: unknown console "", using serial
[ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005,
[ 1.0000000] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
Again much thanks for making NetBSD on Indigo R3K
possible again! If you need me to test future revisions,
just let me know. Cheers, Frank