Talk:NetBSD 0.8

From Computer History Wiki
Revision as of 05:17, 4 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)