Subject: Re: NetBSD 2.0.2 on x86 based RAQ 3
To: djb_netbsd@charter.net <djb_netbsd@charter.net>
From: Andy Ruhl <acruhl@gmail.com>
List: port-i386
Date: 11/01/2005 13:30:30
On 11/1/05, djb_netbsd@charter.net <djb_netbsd@charter.net> wrote:
> Yes folks, it works.  It works well enough to run firefox-gtk1.
>
> But...
> - Don't expect to be able to run a GENERIC or INSTALL kernel. You need a =
bzip2'ed small kernel.
> - You need a serial port that can talk to the RAQ serial port at 115200.
> - User interaction is required to boot multi-user and to reboot.  NetBSD =
halt, shutdown or reboot does not cause a return to the monitor ROM at this=
 time so you have to cycle the power to reboot.
>
> It's close, but not ready for production. See http://webpages.charter.net=
/dbarnes3367/PC/RAQ/
> for installation details.
>
> Dave Barnes
> djb_pizza (at) ieee.org
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> Sun Cobalt - Smaller, Bluer, Better
> Firmware version 2.10.3
>
> Current date: Nov 01 03:08:57 UTC 2005
> ROM build info: Thu Dec 11 10:36:22 MST 2003 .
> System serial number: Uninitialized
> System type: 3000 series system, Version 1 board
> Silicon serial number: 5c0000074956fe01
> Monitor: 153600 bytes
> Memory: 128 MB
> CPU: 1 processor(s) detected
> CPU 0: AuthenticAMD 298MHz (3 x 100MHz host bus) [BSP]
> Initializing flash: done
> Flash Bank 0: AMD AM29F080B 1024KB (01:d5)
> Flash Bank 1: not installed.
> Mounting ROM fs: done
> Initializing PCI: done
> Host Bus: 0 (device 19:04) [33MHz]
> Device: 00:00 10b9:1541 Acer Labs M1541 Aladdin V Host Bridge
> Device: 01:00 10b9:5243 Acer Labs M5243 AGP Controller
> Device: 02:00 10b9:5237 Acer Labs M5237 USB Controller (IRQ 6)
> Device: 03:00 10b9:7101 Acer Labs M7101 PMU
> Device: 07:00 10b9:1533 Acer Labs M1543 Aladdin V PCI-ISA Bridge
> Device: 0f:00 10b9:5229 Acer Labs M5229 TXpro IDE Controller (IRQ 14)
> Device: 10:00 8086:1209 Intel 82559ER EEPro100 Fast Ethernet (IRQ 11)
> Bridged Bus: 1 (bridge: 00:01:00)
> Initializing ethernet: 1 controller(s) found
> Intel 82559ER Found at port 0xff80, MAC: 00:10:e0:01:bc:c3
> Initializing IDE: found ALI M5229 at 00:78
> scanning ide0: master
> scanning ide1:
> IDE: stabilizing spinup: 100%
> Checking Memory: done
>
> Press spacebar to enter ROM mode
>
> Cobalt:Main Menu> boot
>
> Cobalt:Boot Menu> netbsd /boot/netbsd.bz2
>
> *** stuff overflowed out of my scrollback buffer ****
>
> swapctl: adding /dev/wd0b as swap device at priority 0
> Checking for botched superblock upgrades: done.
> Starting file system checks:
> /dev/rwd0a: 6705 files, 91289 used, 163262 free (382 frags, 20360 blocks,=
 0.2% fragmentation)
> /dev/rwd0a: MARKING FILE SYSTEM CLEAN
> /dev/rwd0e: 18066 files, 278125 used, 2265426 free (11410 frags, 281752 b=
locks, 0.4% fragmentation)
> /dev/rwd0e: MARKING FILE SYSTEM CLEAN
> Setting tty flags.
> Setting sysctl variables:
> Starting network.
> Hostname: Cobalt
> Configuring network interfaces: fxp0.
> add net default: gateway 10.0.0.101
> Adding interface aliases:
> Building databases...
> Starting syslogd.
> Checking for core dump...
> savecore: /dev/wd0a: Device busy
> Oct 31 21:11:47 Cobalt savecore: /dev/wd0a: Device busy
> Mounting all filesystems...
> Clearing /tmp.
> dmesg: can't get size of msgbuf
> Creating a.out runtime link editor directory cache.
> Checking quotas: done.
> Setting securelevel: kern.securelevel: 0 -> 1
> Starting virecover.
> Starting local daemons:.
> Updating motd.
> Starting inetd.
> Starting cron.
> Mon Oct 31 21:11:59 CST 2005
>
> NetBSD/i386 (Cobalt) (console)
>
> login:
>
>
> ...... later on ...... my disk layout with an ext2fs partition so the
> ROM can find the kernel.....
>
> (Cobalt:root) /root $mbrlabel wd0
> Found Linux Ext2 partition; size 48321 (23 MB), offset 63
> adding Linux Ext2 partition to slot f.
> Found 4.2BSD partition; size 6297984 (3075 MB), offset 48384
> skipping existing unused partition at slot c.
>
> 16 partitions:
> # size offset fstype [fsize bsize cpg/sgs]
> a: 525168 48384 4.2BSD 1024 8192 43768 # (Cyl. 48 - 568)
> b: 525168 573552 swap # (Cyl. 569 - 1089)
> c: 6297984 48384 unused 0 0 # (Cyl. 48 - 6295)
> d: 6346368 0 unused 0 0 # (Cyl. 0 - 6295)
> e: 5247648 1098720 4.2BSD 1024 8192 46032 # (Cyl. 1090 - 6295)
> f: 48321 63 Linux Ext2 0 0 # (Cyl. 0*- 47)
>
> Not updating disk label.
> (Cobalt:root) /root $disklabel wd0
> # /dev/rwd0d:
> type: unknown
> disk: Cobalt
> label:
> flags:
> bytes/sector: 512
> sectors/track: 63
> tracks/cylinder: 16
> sectors/cylinder: 1008
> cylinders: 6296
> total sectors: 6346368
> rpm: 3600
> interleave: 1
> trackskew: 0
> cylinderskew: 0
> headswitch: 0 # microseconds
> track-to-track seek: 0 # microseconds
> drivedata: 0
>
> 16 partitions:
> # size offset fstype [fsize bsize cpg/sgs]
> a: 525168 48384 4.2BSD 1024 8192 43768 # (Cyl. 48 - 568)
> b: 525168 573552 swap # (Cyl. 569 - 1089)
> c: 6297984 48384 unused 0 0 # (Cyl. 48 - 6295)
> d: 6346368 0 unused 0 0 # (Cyl. 0 - 6295)
> e: 5247648 1098720 4.2BSD 1024 8192 46032 # (Cyl. 1090 - 6295)
>
> (Cobalt:root) /root $df
> Filesystem 1K-blocks Used Avail Capacity Mounted on
> /dev/wd0a 254551 91289 150534 37% /
> /dev/wd0e 2543551 278125 2138248 11% /usr
>
> **** here's how to get to the ext2fs partition that is outside the netbsd=
 disklabel
>
> (Cobalt:root) /root $sleep 5 </dev/wd0d && mbrlabel -w wd0 && mount -t ex=
t2fs /dev/wd0f /cobalt
>
> (Cobalt:root) /root $df
> Filesystem 1K-blocks Used Avail Capacity Mounted on
> /dev/wd0a 254551 91289 150534 37% /
> /dev/wd0e 2543551 278125 2138248 11% /usr
> /dev/wd0f 23393 3062 19123 13% /cobalt
> (Cobalt:root) /root $cd /cobalt
> (Cobalt:root) /cobalt $cd boot
> (Cobalt:root) /cobalt/boot $ls
> netbsd.bz2 netbsd2-cobalt netbsd2.bz2
> (Cobalt:root) /cobalt/boot $ls -al
> total 3050
> drwxr-xr-x 2 root wheel 1024 Oct 31 13:10 .
> drwxr-xr-x 4 root wheel 1024 Mar 6 1976 ..
> -rw-r--r-- 1 root wheel 755550 Mar 6 1976 netbsd.bz2
> -rwxr-xr-x 1 root wheel 1624087 Oct 31 13:10 netbsd2-cobalt
> -rwxr-xr-x 1 root wheel 723466 Oct 31 13:10 netbsd2.bz2
> (Cobalt:root) /cobalt/boot $top
>
> load averages:  0.57,  0.19,  0.07                                     14=
:03:00
> 9 processes:   8 sleeping, 1 on processor
> CPU states:  1.0% user,  0.0% nice,  0.2% system,  0.0% interrupt, 98.8% =
idle
> Memory: 37M Act, 372K Wired, 19M Exec, 7276K File, 80M Free
> Swap: 256M Total, 256M Free
>
>   PID USERNAME PRI NICE   SIZE   RES STATE      TIME   WCPU    CPU COMMAN=
D
>   372 root       2    0    11M   25M poll       0:16 13.51% 10.50% firefo=
x-bin
>   351 root       2    0   540K 2600K select     0:00  0.92%  0.39% xterm
>     1 root      10    0    60K  716K wait       0:01  0.00%  0.00% init
>   375 root      28    0   168K  896K CPU        0:00  0.00%  0.00% top
>   336 root      10    0   224K  704K nanoslee   0:00  0.00%  0.00% cron
>   346 root       3    0   240K  760K ttyin      0:00  0.00%  0.00% ksh
>   332 root       3    0    44K  644K ttyopn     0:00  0.00%  0.00% getty
>   348 root       2    0    80K  748K kqread     0:00  0.00%  0.00% inetd
>   147 root       2    0   172K  740K poll       0:00  0.00%  0.00% syslog=
d

This is really great news!

Pardon my newbieness, but I have a few questions to ask:

1. Do you have to use a custom firmware to boot the NetBSD kernel?
2. Do you have a kernel config script that would be useful?
3. I *think* you are booting a NetBSD kernel from the linux /boot
directory. Is it possible to do like the mips based one and put a
bootloader there than can then find the NetBSD root disk with the
kernel in /?
4. Is there anything special that needs to be done from NetBSD to
create the ext2 partition? See this mail for what has to be done to
get it working on cobalt:
http://mail-index.netbsd.org/port-cobalt/2000/10/05/0000.html
(Basically what I'm asking is for anything special needed to be done
to the disk to configure it outside of the Cobalt box on some other
NetBSD machine.)

I hope I'm not bothering you too much. This is very cool news, because
the mips one, while cool, is not very useable for doing more than 1 or
2 things at once.

Thanks for your work!

Andy