NetBSD 1.5.1 (ARC) runs on Qemu!
Jason Stevens <[email protected]> Wed, 31 Mar 2010 12:04:12 -0400
| Newsgroups | gmane.os.netbsd.ports.arc |
|---|---|
| Message-ID | <[email protected]> |
--0016363b808ca702ae04831ae52a
Content-Type: text/plain; charset=ISO-8859-1
I thought someone may find this interesting, esp considering how rare it is
to find ARC hardware...
First I'm using Windows Vista x64 (yeah yeah, I know.... ) and Qemu 0.12.3
The "qemu-system-mips64el.exe" emulator along with the PROM from
http://hpoussineau.free.fr/qemu/firmware/magnum-4000/
The license file lists the Magnum 4000 firmware as being freeware...
So at any rate, I was able to make a cd image from the 1.5.1 archive, and
have ARC Bios boot the ecoff kernel directly, however there is no 'ram disk'
in the kernel... so to 'solve' that I used Windows NT to build a system
partition, then used the disk image in qemu's i386 emulator to setup the
disk using the x86 version of NetBSD 1.5.1. Once the x86 version was going
to extract the OS, I hit control Z and then manually untarred the MIPS
userland.
I had to fix the fstab, and rc.conf
Now with that out of the way, I am able to use qemu to boot up into the MIPS
stuff... If there is a /netbsd it will crash out the kernel while it's
building the databases. The networking doesn't work at all, its pulling all
zero's for the MAC address. I tried to 'fix' the device driver to use a mac
address that qemu gave Windows NT MIPS, and remove all asserts but to no
avail.
NetBSD 5.0.2 starts up ok, but once it starts to extract the setup files, it
crashes the kernel with a TLB issue... I'll try to extract it on an i386 and
see how that goes.
And before I forget, here is the CLI options I'm using:
qemu-system-mips64el -M magnum -L . -hda netbsd.disk -cdrom netbsd151.iso -m
64 -net nic -net user
In the meantime here is the dmesg:
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.5.1 (GENERIC) #5: Tue Mar 30 20:37:29 PST 2010
root@:/usr/src/sys/arch/arc/compile/GENERIC
MIPS Magnum
total memory = 65536 KB
avail memory = 55492 KB
using 844 buffers containing 3376 KB of memory
mainbus0 (root)
cpu0 at mainbus0: MIPS R4000 CPU (0x400) Rev. 0.0 with software emulated
floatin
g point Rev. 0.0
cpu0: L1 cache: 8KB/16B instruction, 8KB/16B data, direct mapped
cpu0: No L2 cache
pica0 at mainbus0
aclock0 at pica0 slot 0 offset 0x0: mc146818 or compatible
lpt0 at pica0 slot 1 offset 0x0
fdc0 at pica0 slot 2 offset 0x0
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
fd1 at fdc0 drive 1: 1.44MB 80 cyl, 2 head, 18 sec
vxl at pica0 slot 4 offset 0x0 not configured
sn0 at pica0 slot 5 offset 0x0: bufsize 28480 address 00:11:cc:00:00:11
asc0 at pica0 slot 6 offset 0x0: NCR53C94, target 7
scsibus0 at asc0: 8 targets, 8 luns per target
kbc selftest: 1d
pckbd at pica0 slot 7 offset 0x0 not configured
pms at pica0 slot 8 offset 0x0 not configured
com0 at pica0 slot 9 offset 0x0: ns16550a, working fifo
com0: txfifo disabled
com0: console
com at pica0 slot 10 offset 0x0 not configured
isabr0 at mainbus0
isa0 at isabr0 isa_io_base 0xe2000000 isa_mem_base 0xe3000000
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <QEMU, QEMU HARDDISK, 0.12> SCSI3 0/direct
fixed
sd0: mode sense (4) returned nonsense; using fictitious geometry
sd0: 2048 MB, 2048 cyl, 64 head, 32 sec, 512 bytes/sect x 4194304 sectors
sd1 at scsibus0 target 1 lun 0: <QEMU, QEMU HARDDISK, 0.12> SCSI3 0/direct
fixed
sd1: mode sense (4) returned nonsense; using fictitious geometry
sd1: 3665 KB, 3 cyl, 64 head, 32 sec, 512 bytes/sect x 7331 sectors
cd0 at scsibus0 target 2 lun 0: <QEMU, QEMU CD-ROM, 0.12> SCSI3 5/cdrom
removable
boot device: <unknown>
root device: sd0a
dump device (default sd0b):
file system (default generic):
root on sd0a dumps on sd0b
sd0: mode sense (4) returned nonsense; using fictitious geometry
sd0: mode sense (4) returned nonsense; using fictitious geometry
sd0: mode sense (4) returned nonsense; using fictitious geometry
sd0: mode sense (4) returned nonsense; using fictitious geometry
sd0: mode sense (4) returned nonsense; using fictitious geometry
sd0: mode sense (4) returned nonsense; using fictitious geometry
sd0: mode sense (4) returned nonsense; using fictitious geometry
WARNING: preposterous clock chip time
19-19-19, 19:19:19
30-30-30, 30:30:30
-- CHECK AND RESET THE DATE!
root file system type: ffs
sd1: mode sense (4) returned nonsense; using fictitious geometry
sd1: no disk label
--0016363b808ca702ae04831ae52a
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
I thought someone may find this interesting, esp considering how rare it is=
to find ARC hardware...<div><br></div><div>First I'm using Windows Vis=
ta x64 (yeah yeah, I know.... ) and Qemu 0.12.3</div><div><br></div><div>
The "qemu-system-mips64el.exe" emulator along with the PROM from=
=A0<a href=3D"http://hpoussineau.free.fr/qemu/firmware/magnum-4000/">http:/=
/hpoussineau.free.fr/qemu/firmware/magnum-4000/</a></div><div><br></div><di=
v>
The license file lists the Magnum 4000 firmware as being freeware...</div><=
div><br></div><div>So at any rate, I was able to make a cd image from the 1=
.5.1 archive, and have ARC Bios boot the ecoff kernel directly, however the=
re is no 'ram disk' in the kernel... so to 'solve' that I u=
sed Windows NT to build a system partition, then used the disk image in qem=
u's i386 emulator to setup the disk using the x86 version of NetBSD 1.5=
.1. =A0Once the x86 version was going to extract the OS, I hit control Z an=
d then manually untarred the MIPS userland.=A0</div>
<div><br></div><div>I had to fix the fstab, and rc.conf</div><div><br></div=
><div>Now with that out of the way, I am able to use qemu to boot up into t=
he MIPS stuff... =A0If there is a /netbsd it will crash out the kernel whil=
e it's building the databases. =A0The networking doesn't work at al=
l, its pulling all zero's for the MAC address. =A0I tried to 'fix&#=
39; the device driver to use a mac address that qemu gave Windows NT MIPS, =
and remove all asserts but to no avail. =A0</div>
<div><br></div><div>NetBSD 5.0.2 starts up ok, but once it starts to extrac=
t the setup files, it crashes the kernel with a TLB issue... I'll try t=
o extract it on an i386 and see how that goes.</div><div><br></div><div>
And before I forget, here is the CLI options I'm using:</div><div>qemu-=
system-mips64el=A0-M magnum -L . -hda netbsd.disk -cdrom netbsd151.iso -m 6=
4 -net nic -net user</div><div><br></div><div>In the meantime here is the d=
mesg:</div>
<div><div>Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001</div>
<div>=A0=A0 =A0The NetBSD Foundation, Inc. =A0All rights reserved.</div><di=
v>Copyright (c) 1982, 1986, 1989, 1991, 1993</div><div>=A0=A0 =A0The Regent=
s of the University of California. =A0All rights reserved.</div><div><br></=
div><div>NetBSD 1.5.1 (GENERIC) #5: Tue Mar 30 20:37:29 PST 2010</div>
<div>=A0=A0 =A0root@:/usr/src/sys/arch/arc/compile/GENERIC</div><div>MIPS M=
agnum</div><div>total memory =3D 65536 KB</div><div>avail memory =3D 55492 =
KB</div><div>using 844 buffers containing 3376 KB of memory</div><div>mainb=
us0 (root)</div>
<div>cpu0 at mainbus0: MIPS R4000 CPU (0x400) Rev. 0.0 with software emulat=
ed floatin</div><div>g point Rev. 0.0</div><div>cpu0: L1 cache: 8KB/16B ins=
truction, 8KB/16B data, direct mapped</div><div>cpu0: No L2 cache</div>
<div>pica0 at mainbus0</div><div>aclock0 at pica0 slot 0 offset 0x0: mc1468=
18 or compatible</div><div>lpt0 at pica0 slot 1 offset 0x0</div><div>fdc0 a=
t pica0 slot 2 offset 0x0</div><div>fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 h=
ead, 18 sec</div>
<div>fd1 at fdc0 drive 1: 1.44MB 80 cyl, 2 head, 18 sec</div><div>vxl at pi=
ca0 slot 4 offset 0x0 not configured</div><div>sn0 at pica0 slot 5 offset 0=
x0: bufsize 28480 address 00:11:cc:00:00:11</div><div>asc0 at pica0 slot 6 =
offset 0x0: NCR53C94, target 7</div>
<div>scsibus0 at asc0: 8 targets, 8 luns per target</div><div>kbc selftest:=
1d</div><div>pckbd at pica0 slot 7 offset 0x0 not configured</div><div>pms=
at pica0 slot 8 offset 0x0 not configured</div><div>com0 at pica0 slot 9 o=
ffset 0x0: ns16550a, working fifo</div>
<div>com0: txfifo disabled</div><div>com0: console</div><div>com at pica0 s=
lot 10 offset 0x0 not configured</div><div>isabr0 at mainbus0</div><div>isa=
0 at isabr0 isa_io_base 0xe2000000 isa_mem_base 0xe3000000</div><div>scsibu=
s0: waiting 2 seconds for devices to settle...</div>
<div>sd0 at scsibus0 target 0 lun 0: <QEMU, QEMU HARDDISK, 0.12> SCSI=
3 0/direct fixed</div><div>sd0: mode sense (4) returned nonsense; using fic=
titious geometry</div><div>sd0: 2048 MB, 2048 cyl, 64 head, 32 sec, 512 byt=
es/sect x 4194304 sectors</div>
<div>sd1 at scsibus0 target 1 lun 0: <QEMU, QEMU HARDDISK, 0.12> SCSI=
3 0/direct fixed</div><div>sd1: mode sense (4) returned nonsense; using fic=
titious geometry</div><div>sd1: 3665 KB, 3 cyl, 64 head, 32 sec, 512 bytes/=
sect x 7331 sectors</div>
<div>cd0 at scsibus0 target 2 lun 0: <QEMU, QEMU CD-ROM, 0.12> SCSI3 =
5/cdrom removable</div><div>boot device: <unknown></div><div>root dev=
ice: sd0a</div><div>dump device (default sd0b):</div><div>file system (defa=
ult generic):</div>
<div>root on sd0a dumps on sd0b</div><div>sd0: mode sense (4) returned nons=
ense; using fictitious geometry</div><div>sd0: mode sense (4) returned nons=
ense; using fictitious geometry</div><div>sd0: mode sense (4) returned nons=
ense; using fictitious geometry</div>
<div>sd0: mode sense (4) returned nonsense; using fictitious geometry</div>=
<div>sd0: mode sense (4) returned nonsense; using fictitious geometry</div>=
<div>sd0: mode sense (4) returned nonsense; using fictitious geometry</div>
<div>sd0: mode sense (4) returned nonsense; using fictitious geometry</div>=
<div>WARNING: preposterous clock chip time</div><div>19-19-19, 19:19:19</di=
v><div>30-30-30, 30:30:30</div><div>=A0-- CHECK AND RESET THE DATE!</div>
<div>root file system type: ffs</div><div>sd1: mode sense (4) returned nons=
ense; using fictitious geometry</div><div>sd1: no disk label</div></div>
--0016363b808ca702ae04831ae52a--