Talk:NetBSD 0.8

From Computer History Wiki
Revision as of 04:18, 5 December 2010 by Neozeed (talk | contribs)
Jump to: navigation, search

tty.c needs to cantain a bit more than "revision 1.4 intentionally removed" to compile a 0.8 kernel

The originals for these are missing in the tarball:

/netbsd-0.8/src/src/bin/df/df.c
/netbsd-0.8/src/src/include/ar.h
/netbsd-0.8/src/src/include/assert.h
/netbsd-0.8/src/src/include/ctype.h
/netbsd-0.8/src/src/include/grp.h
/netbsd-0.8/src/src/include/nlist.h
/netbsd-0.8/src/src/include/protocols/dumprestore.h
/netbsd-0.8/src/src/include/pwd.h
/netbsd-0.8/src/src/include/setjmp.h
/netbsd-0.8/src/src/include/time.h
/netbsd-0.8/src/src/include/utmp.h
/netbsd-0.8/src/src/lib/libc/gen/ctype_.c
/netbsd-0.8/src/src/lib/libc/gen/isctype.c
/netbsd-0.8/src/src/sbin/restore/dirs.c
/netbsd-0.8/src/src/sbin/restore/pathnames.h
/netbsd-0.8/src/src/sbin/restore/restore.h
/netbsd-0.8/src/src/sbin/restore/tape.c
/netbsd-0.8/src/src/sys/arch/i386/i386/conf.c
/netbsd-0.8/src/src/sys/conf/param.c
/netbsd-0.8/src/src/sys/kern/init_main.c
/netbsd-0.8/src/src/sys/kern/kern_acct.c
/netbsd-0.8/src/src/sys/kern/kern_clock.c
/netbsd-0.8/src/src/sys/kern/kern_descrip.c
/netbsd-0.8/src/src/sys/kern/kern_exit.c
/netbsd-0.8/src/src/sys/kern/kern_fork.c
/netbsd-0.8/src/src/sys/kern/kern_prot.c
/netbsd-0.8/src/src/sys/kern/kern_resource.c
/netbsd-0.8/src/src/sys/kern/kern_sig.c
/netbsd-0.8/src/src/sys/kern/kern_subr.c
/netbsd-0.8/src/src/sys/kern/kern_synch.c
/netbsd-0.8/src/src/sys/kern/subr_disk.c
/netbsd-0.8/src/src/sys/kern/subr_prf.c
/netbsd-0.8/src/src/sys/kern/sys_generic.c
/netbsd-0.8/src/src/sys/kern/sys_process.c
/netbsd-0.8/src/src/sys/kern/sysv_shm.c
/netbsd-0.8/src/src/sys/kern/tty.c
/netbsd-0.8/src/src/sys/kern/tty_conf.c
/netbsd-0.8/src/src/sys/kern/vfs_lookup.c
/netbsd-0.8/src/src/sys/kern/vfs_subr.c
/netbsd-0.8/src/src/sys/kern/vfs_syscalls.c
/netbsd-0.8/src/src/sys/kern/vfs_vnops.c
/netbsd-0.8/src/src/sys/sys/acct.h
/netbsd-0.8/src/src/sys/sys/buf.h
/netbsd-0.8/src/src/sys/sys/callout.h
/netbsd-0.8/src/src/sys/sys/conf.h
/netbsd-0.8/src/src/sys/sys/dkstat.h
/netbsd-0.8/src/src/sys/sys/errno.h
/netbsd-0.8/src/src/sys/sys/exec.h
/netbsd-0.8/src/src/sys/sys/fcntl.h
/netbsd-0.8/src/src/sys/sys/ioctl.h
/netbsd-0.8/src/src/sys/sys/ioctl_compat.h
/netbsd-0.8/src/src/sys/sys/ipc.h
/netbsd-0.8/src/src/sys/sys/kernel.h
/netbsd-0.8/src/src/sys/sys/param.h
/netbsd-0.8/src/src/sys/sys/proc.h
/netbsd-0.8/src/src/sys/sys/shm.h
/netbsd-0.8/src/src/sys/sys/signal.h
/netbsd-0.8/src/src/sys/sys/stat.h
/netbsd-0.8/src/src/sys/sys/systm.h
/netbsd-0.8/src/src/sys/sys/timeb.h
/netbsd-0.8/src/src/sys/sys/times.h
/netbsd-0.8/src/src/sys/sys/tty.h
/netbsd-0.8/src/src/sys/sys/ttydefaults.h
/netbsd-0.8/src/src/sys/sys/types.h
/netbsd-0.8/src/src/sys/ufs/dir.h
/netbsd-0.8/src/src/sys/ufs/ufs_lookup.c
/netbsd-0.8/src/src/sys/ufs/ufs_vfsops.c
/netbsd-0.8/src/src/usr.bin/m4/serv.c
/netbsd-0.8/src/src/usr.bin/mesg/mesg.c
/netbsd-0.8/src/src/usr.sbin/lpr/common_source/common.c
/netbsd-0.8/src/src/usr.sbin/lpr/lpr/lpr.c

Dugo 14:45, 2 December 2010 (UTC)


I've used lots of Net/2 to fill in missing bits for the kernel... I'm building it on NetBSD 0.9


netbsd# make
loading 386bsd
locore.o: Undefined symbol _asintr referenced from text segment
locore.o: Undefined symbol _comintr referenced from text segment
locore.o: Undefined symbol _comintr referenced from text segment
locore.o: Undefined symbol _weintr referenced from text segment
locore.o: Undefined symbol _neintr referenced from text segment
locore.o: Undefined symbol _ecintr referenced from text segment
locore.o: Undefined symbol _isintr referenced from text segment
locore.o: Undefined symbol _wtintr referenced from text segment
init_main.o: Undefined symbol ___main referenced from text segment
init_main.o: Undefined symbol _cinit referenced from text segment
kern__physio.o: Undefined symbol _uioapply referenced from text segment
kern__physio.o: Undefined symbol _uioapply referenced from text segment
kern_execve.o: Undefined symbol _fdcloseexec referenced from text segment
tty.o: Undefined symbol _ndflush referenced from text segment
tty.o: Undefined symbol _ndflush referenced from text segment
tty.o: Undefined symbol _ndflush referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _catq referenced from text segment
tty.o: Undefined symbol _getc referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _unputc referenced from text segment
tty.o: Undefined symbol _unputc referenced from text segment
tty.o: Undefined symbol _getc referenced from text segment
tty.o: Undefined symbol _unputc referenced from text segment
tty.o: Undefined symbol _unputc referenced from text segment
tty.o: Undefined symbol _unputc referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _catq referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _b_to_q referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _getc referenced from text segment
tty.o: Undefined symbol _putc referenced from text segment
tty.o: Undefined symbol _b_to_q referenced from text segment
tty.o: Undefined symbol _nextc referenced from text segment
tty.o: Undefined symbol _nextc referenced from text segment
tty.o: Undefined symbol _nextc referenced from text segment
tty_pty.o: Undefined symbol _getc referenced from text segment
tty_pty.o: Undefined symbol _getc referenced from text segment
tty_pty.o: Undefined symbol _q_to_b referenced from text segment
tty_pty.o: Undefined symbol _b_to_q referenced from text segment
tty_pty.o: More undefined symbol _putc refs follow
tty_pty.o: Undefined symbol _getc referenced from text segment
vfs_conf.o: Definition of symbol _mountroot (multiply defined)
ufs_bmap.o: Undefined symbol _blkclr referenced from text segment
ufs_bmap.o: Undefined symbol _blkclr referenced from text segment
ufs_bmap.o: Undefined symbol _blkclr referenced from text segment
ufs_bmap.o: Undefined symbol _blkclr referenced from text segment
ufs_vnops.o: Undefined symbol _blkclr referenced from text segment
fd.o: Undefined symbol _isa_biotab_fdc referenced from text segment
fd.o: Undefined symbol _isa_biotab_fdc referenced from text segment
fd.o: Undefined symbol _disksort referenced from text segment
wd.o: Undefined symbol _isa_biotab_wdc referenced from text segment
wd.o: Undefined symbol _isa_biotab_wdc referenced from text segment
wd.o: Undefined symbol _bounds_check_with_label referenced from text segment
wd.o: Undefined symbol _diskerr referenced from text segment
wd.o: Undefined symbol _diskerr referenced from text segment
wd.o: Undefined symbol _diskerr referenced from text segment
wd.o: Undefined symbol _readdisklabel referenced from text segment
wd.o: Undefined symbol _setdisklabel referenced from text segment
wd.o: Undefined symbol _setdisklabel referenced from text segment
wd.o: Undefined symbol _writedisklabel referenced from text segment
ioconf.o: Undefined symbol _Xwdc0 referenced from data segment
ioconf.o: Undefined symbol _Xfdc0 referenced from data segment
ioconf.o: Undefined symbol _Xpc0 referenced from data segment
ioconf.o: Undefined symbol _Xnpx0 referenced from data segment
conf.o: Undefined symbol _wdread referenced from data segment
conf.o: Undefined symbol _wdwrite referenced from data segment
conf.o: Undefined symbol _fdread referenced from data segment
conf.o: Undefined symbol _fdwrite referenced from data segment
swap386bsd.o: Definition of symbol _mountroot (multiply defined)
*** Error code 1

I've managed to get it that far... There certainly is some issues related to the tty stuff, I gave up on tty_ring.o so that is why that is all messed up.. I also renamed read/set/writedisklabel to prevent a headder clash....

From my notes...

makefile changes:
S=      ../../../..
I386=   ../..

cd /usr/src/sys/arch/i386
ln -s /usr/src/sys/sys .
cd /usr/src/sys/arch/i386/compile/J
ln -s /usr/src/sys/arch/i386 .
cd /usr/src/sys
ln -s arch/i386 .

I had to take the vector.s from 386BSD and put it in the build directory,

Im using the config from NetBSD 0.9, as the 0.8 version I built just coredumps.... (I bought in the include from 0.8 but it's missing far too much.. )

oh and my config:

machine         "i386"
cpu             "i386"
ident           GENERIC
timezone        5 dst
maxusers        10
#options                INET,ISOFS,NFSCLIENT
#options                INET
#options                "COMPAT_43"
#options                "TCP_COMPAT_42"
#options                XSERVER,UCONSOLE
#options                UCONSOLE
#options                PCFS,KERNFS
#options                KERNFS

config          "386bsd"        root on wd0 swap on wd0

controller      isa0
controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
disk            wd0     at wdc0 drive 0
disk            wd1     at wdc0 drive 1

controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk            fd0     at fdc0 drive 0

device          pc0     at isa? port "IO_KBD" tty irq 1 vector pcrint
device          npx0    at isa? port "IO_NPX" irq 13 vector npxintr
#device         com0    at isa? port "IO_COM1" tty irq 4 vector comintr
#device         com1    at isa? port "IO_COM2" tty irq 3 vector comintr

#device we0 at isa? port 0x280 net irq 2 iomem 0xd0000 iosiz 8192 vector weintr
#device ne0 at isa? port 0x320 net irq 10 vector neintr
#device ec0 at isa? port 0x250 net irq 2 iomem 0xd8000 iosiz 8192 vector ecintr
#device is0 at isa? port 0x320 net irq 10 drq 7 vector isintr

#device         wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr

pseudo-device   loop
pseudo-device   ether
#pseudo-device  sl      1
pseudo-device   log
pseudo-device   pty     4

pseudo-device   swappager
pseudo-device   vnodepager
pseudo-device   devpager

Oh also the networking is really wierd it always assumes to have INET defined.. so a few #ifdef INET's takes care of that.

neozeed 04:17, 4 December 2010 (UTC)

Oh httpd 1.3 runs on netbsd 0.9 so I pulled out my build, and you can find it here.

I have to wonder why the tty's throw so many errors and exceptions, and the straight 0.9 compiles without so much of a warning.......

neozeed 04:49, 4 December 2010 (UTC)

looks like I missed something obvious...

The source for NetBSD is derived from 386BSD 0.1, patched
with the 0.2.2 patch kit.  In addition, many programs in
UCB's second BSD Networking Software Release which were
missing from 386BSD have been integrated into NetBSD, some
of the changes from the upcoming 0.2.3 patch kit have been
included, and many local additions and bug fixes have
been performed. 
.

I'm installing 386BSD and going from the 0.2.3 patch kit..