Difference between revisions of "Talk:NetBSD 0.8"

From Computer History Wiki
Jump to: navigation, search
m
Line 80: Line 80:
  
  
I've used lots of Net/2 to fill in missing bits for the kernel... I'm building it on NetBSD 0.9
+
looks like I missed something obvious...
  
 
<pre>
 
<pre>
 +
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. </pre>.
 +
 +
I'm installing 386BSD and going from the 0.2.3 patch kit..
 +
[[User:Neozeed|neozeed]] 19:18, 4 December 2010 (PST)
  
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
 
</pre>
 
  
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....
+
I've done it!!!!!
 +
Using 386 BSD pl22 to fill in the missing parts, I built the remainder of NetBSD 0.8!!!
 +
 
 +
Here are my notes!
  
From my notes...
 
 
<pre>
 
<pre>
makefile changes:
+
/usr/include/machine
S=      ../../../..
+
was /sys/i386/include
I386=  ../..
+
now /sys/arch/i386/include
 +
 
 +
 
  
cd /usr/src/sys/arch/i386
+
 
ln -s /usr/src/sys/sys .
+
# branch # pwd
cd /usr/src/sys/arch/i386/compile/J
+
/usr
ln -s /usr/src/sys/arch/i386 .
+
branch # cat .//src/sys.386bsd/sys/types.h
cd /usr/src/sys
+
revision 1.1.1.1 intentionally removed
 +
branch # cp .//src/sys.386bsd-22/sys/types.h .//src/sys.386bsd/sys/types.h
 +
 
 +
 
 +
 
 +
branch # branch # cat .//src/sys.386bsd/sys//stat.h
 +
revision 1.1.1.1 intentionally removed
 +
branch # cp .//src/sys.386bsd-22/sys/stat.h .//src/sys.386bsd/sys/stat.h
 +
 
 +
 
 +
branch # branch # cat /usr/include/sys/fcntl.h
 +
revision 1.1.1.1 intentionally removed
 +
cp .//src/sys.386bsd-22/sys/fcntl.h .//src/sys.386bsd/sys/fcntl.h
 +
 
 +
config from NetBSD8 should now build.
 +
 
 +
/usr/src/sys.386bsd/arch
 +
ln -s ../conf .
 +
ln -s ../arch .
 +
ln -s ../kern .
 +
ln -s ../net .
 +
ln -s ../ufs .
 +
ln -s ../vm .
 +
/usr/src/sys.386bsd
 
ln -s arch/i386 .
 
ln -s arch/i386 .
</pre>
 
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.. )
+
cp /usr/src/sys.386bsd-22/conf/param.c  /usr/src/sys.386bsd/conf/param.c
 +
 
 +
 
 +
cp /usr/src/sys.386bsd-22/sys/param.h /usr/src/sys.386bsd/sys/param.h
 +
cp /usr/src/sys.386bsd-22/sys/proc.h /usr/src/sys.386bsd/sys/proc.h
 +
cp /usr/src/sys.386bsd-22/sys/errno.h /usr/src/sys.386bsd/sys/errno.h
 +
cp /usr/src/sys.386bsd-22/sys/signal.h /usr/src/sys.386bsd/sys/signal.h
 +
cp /usr/src/sys.386bsd-22/sys/buf.h /usr/src/sys.386bsd/sys/buf.h
 +
cp /usr/src/sys.386bsd-22/sys/systm.h /usr/src/sys.386bsd/sys/systm.h
 +
cp /usr/src/sys.386bsd-22/sys/kernel.h /usr/src/sys.386bsd/sys/kernel.h
 +
cp /usr/src/sys.386bsd-22/sys/conf.h /usr/src/sys.386bsd/sys/conf.h
 +
cp /usr/src/sys.386bsd-22/sys/ioctl.h /usr/src/sys.386bsd/sys/ioctl.h
 +
cp /usr/src/sys.386bsd-22/sys/ioctl_compat.h /usr/src/sys.386bsd/sys/ioctl_compat.h
 +
cp /usr/src/sys.386bsd-22/sys/ttydefaults.h /usr/src/sys.386bsd/sys/ttydefaults.h
 +
cp /usr/src/sys.386bsd-22/sys/tty.h /usr/src/sys.386bsd/sys/tty.h
 +
cp /usr/src/sys.386bsd-22/sys/acct.h /usr/src/sys.386bsd/sys/acct.h
 +
cp /usr/src/sys.386bsd-22/sys/dkstat.h /usr/src/sys.386bsd/sys/dkstat.h
 +
cp /usr/src/sys.386bsd-22/sys/callout.h /usr/src/sys.386bsd/sys/callout.h
 +
cp /usr/src/sys.386bsd-22/sys/exec.h /usr/src/sys.386bsd/sys/exec.h
 +
cp /usr/src/sys.386bsd-22/sys/timeb.h /usr/src/sys.386bsd/sys/timeb.h
 +
cp /usr/src/sys.386bsd-22/sys/times.h /usr/src/sys.386bsd/sys/times.h
 +
 
 +
 
 +
did I need to?!
 +
***cp /usr/src/sys.386bsd-22/kern/dead_vnops.c /usr/src/sys.386bsd/kern/dead_vnops.c
 +
 
 +
cp /usr/src/sys.386bsd-22/ufs/inode.h /usr/src/sys.386bsd/ufs/inode.h
 +
cp /usr/src/sys.386bsd-22/ufs/dinode.h /usr/src/sys.386bsd/ufs/dinode.h
 +
cp /usr/src/sys.386bsd-22/ufs/ufs_bmap.c /usr/src/sys.386bsd/ufs/ufs_bmap.c
 +
cp /usr/src/sys.386bsd-22/ufs/ufs_disksubr.c /usr/src/sys.386bsd/ufs/ufs_disksubr.c
 +
 
 +
cp /usr/src/sys.386bsd-22/ufs/ufs_inode.c /usr/src/sys.386bsd/ufs/ufs_inode.c
 +
cp /usr/src/sys.386bsd-22/ufs/ufs_vnops.c /usr/src/sys.386bsd/ufs/ufs_vnops.c
 +
cp /usr/src/sys.386bsd-22/vm/device_pager.c /usr/src/sys.386bsd/vm
 +
 
 +
bare kernel should now makedepend.....
 +
 
 +
 
 +
cp /usr/src/sys.386bsd-22/kern/init_main.c /usr/src/sys.386bsd/kern/init_main.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_acct.c /usr/src/sys.386bsd/kern/kern_acct.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_clock.c /usr/src/sys.386bsd/kern/kern_clock.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_descrip.c /usr/src/sys.386bsd/kern/kern_descrip.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_exit.c /usr/src/sys.386bsd/kern/kern_exit.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_fork.c /usr/src/sys.386bsd/kern/kern_fork.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_prot.c /usr/src/sys.386bsd/kern/kern_prot.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_resource.c /usr/src/sys.386bsd/kern/kern_resource.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_sig.c /usr/src/sys.386bsd/kern/kern_sig.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_subr.c /usr/src/sys.386bsd/kern/kern_subr.c
 +
cp /usr/src/sys.386bsd-22/kern/kern_synch.c /usr/src/sys.386bsd/kern/kern_synch.c
 +
cp /usr/src/sys.386bsd-22/kern/subr_prf.c /usr/src/sys.386bsd/kern/subr_prf.c
 +
cp /usr/src/sys.386bsd-22/kern/sys_generic.c /usr/src/sys.386bsd/kern/sys_generic.c
 +
cp /usr/src/sys.386bsd-22/kern/sys_process.c /usr/src/sys.386bsd/kern/sys_process.c
 +
cp /usr/src/sys.386bsd-22/kern/tty.c /usr/src/sys.386bsd/kern/tty.c
 +
cp /usr/src/sys.386bsd-22/kern/tty_conf.c /usr/src/sys.386bsd/kern/tty_conf.c
 +
cp /usr/src/sys.386bsd-22/kern/vfs_lookup.c /usr/src/sys.386bsd/kern/vfs_lookup.c
 +
cp /usr/src/sys.386bsd-22/kern/vfs_subr.c /usr/src/sys.386bsd/kern/vfs_subr.c
 +
cp /usr/src/sys.386bsd-22/kern/vfs_syscalls.c /usr/src/sys.386bsd/kern/vfs_syscalls.c
 +
cp /usr/src/sys.386bsd-22/kern/vfs_vnops.c /usr/src/sys.386bsd/kern/vfs_vnops.c
 +
 
 +
cp /usr/src/sys.386bsd-22/ufs/ufs_lookup.c /usr/src/sys.386bsd/ufs
 +
cp /usr/src/sys.386bsd-22/ufs/dir.h /usr/src/sys.386bsd/ufs
 +
cp /usr/src/sys.386bsd-22/ufs/ufs_vfsops.c /usr/src/sys.386bsd/ufs
  
oh and my config:
 
<pre>
 
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
+
ddb.h is not generated!!!!
 +
/usr/src/sys.386bsd-22/compile/J/ddb.h
 +
going back to using 386BSD's config
  
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
+
../../kern/kern_xxx.c: In function getdomainname:
disk            fd0    at fdc0 drive 0
+
../../kern/kern_xxx.c:114: `domainnamelen' undeclared (first use this function)
 +
../../kern/kern_xxx.c:114: (Each undeclared identifier is reported only once
 +
../../kern/kern_xxx.c:114: for each function it appears in.)
 +
../../kern/kern_xxx.c:116: `domainname' undeclared (first use this function)
 +
../../kern/kern_xxx.c: In function setdomainname:
 +
../../kern/kern_xxx.c:132: `domainname' undeclared (first use this function)
 +
../../kern/kern_xxx.c:134: `domainnamelen' undeclared (first use this function)
 +
/sys/sys/kernel.h add in there
 +
char domainname[MAXHOSTNAMELEN];
 +
int domainnamelen;
  
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
+
../../kern/subr_xxx.c: In function strlen:
#device ne0 at isa? port 0x320 net irq 10 vector neintr
+
../../kern/subr_xxx.c:202: argument `s1' doesn't match function prototype
#device ec0 at isa? port 0x250 net irq 2 iomem 0xd8000 iosiz 8192 vector ecintr
+
*** Error code 1
#device is0 at isa? port 0x320 net irq 10 drq 7 vector isintr
+
#ifdef NEED_STRLEN
 +
strlen(s1)
 +
        const register char *s1;
 +
{
 +
changes into
 +
char *s1;
  
#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
+
cp /usr/src/sys.386bsd-22/i386/i386/conf.c /usr/src/sys.386bsd/arch/i386/i386/conf.c
pseudo-device  vnodepager
 
pseudo-device  devpager
 
  
</pre>
+
these are not generating for some reason.....
 +
cp /usr/src/sys.386bsd-22/compile/J/dcfclk.h /usr/src/sys.386bsd/arch/compile/J
 +
cp /usr/src/sys.386bsd-22/compile/J/speaker.h /usr/src/sys.386bsd/arch/compile/J
 +
branch # cat /usr/src/sys.386bsd-22/compile/J/speaker.h
 +
#define NSPEAKER 0
 +
branch # cat /usr/src/sys.386bsd-22/compile/J/dcfclk.h
 +
#define NDCFCLK 0
  
Oh also the networking is really wierd it always assumes to have INET defined.. so a few #ifdef INET's takes care of that.
 
  
[[User:Neozeed|neozeed]] 04:17, 4 December 2010 (UTC)
+
without INET these bomb...
 +
../../net/../netinet/if_ether.h:89: field `ac_ipaddr' has incomplete type
 +
../../net/../netinet/if_ether.h:96: field `at_iaddr' has incomplete type
 +
../../net/if_ethersubr.c: In function ether_output:
 +
../../net/if_ethersubr.c:92: storage size of `idst' isn't known
  
Oh httpd 1.3 runs on netbsd 0.9 so I pulled out my build, and you can find it [http://vpsland.superglobalmegacorp.com/install/NetBSD/NetBSD-0.8/kern08-stab1.tgz 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.......
+
I needed to poach /sys/sys/select.h from NetBSD 0.9
 +
then remoeve the selwakeup portion.
  
[[User:Neozeed|neozeed]] 04:49, 4 December 2010 (UTC)
+
/sys/net/if.c  ether_output... isn't defined????
 +
</pre>
  
looks like I missed something obvious...
+
And a DMESG
  
 
<pre>
 
<pre>
The source for NetBSD is derived from 386BSD 0.1, patched
+
386BSD 0.1 (GENERICISA) #2: Sun Dec  5 13:30:14 PST 2010
with the 0.2.2 patch kitIn addition, many programs in
+
  root@branch.oldbsd.org:/usr/src/sys.386bsd/arch/compile/J
UCB's second BSD Networking Software Release which were
+
real mem = 67104768
missing from 386BSD have been integrated into NetBSD, some
+
avail mem = 64663552
of the changes from the upcoming 0.2.3 patch kit have been
+
pc0 at 0x60-0x6f irq 1 on isa
included, and many local additions and bug fixes have
+
pc0: color
been performed. </pre>.
+
wdc0 at 0x1f0-0x1f7 irq 14 on isa
 
+
wdc0: <QEMU HARDDISK>
I'm installing 386BSD and going from the 0.2.3 patch kit..
+
wd0 at wdc0 slave 0
[[User:Neozeed|neozeed]] 19:18, 4 December 2010 (PST)
+
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
 +
ne0 at 0x320 irq 10 on isa
 +
ethernet address 52:54:00:12:34:56npx0 at 0xf0 irq 13 on isa
 +
wdc0: extra interrupt
 +
wdc0: extra interrupt
 +
ISA strayintr 4004ff
 +
ISA strayintr 4004ff
 +
ISA strayintr 4004ff
 +
ISA strayintr 2ff
 +
ISA strayintr 2ff
 +
ISA strayintr 2ff
 +
ISA strayintr 2ff
 +
ISA strayintr 2ff
 +
ISA strayintr 2ff
 +
ISA strayintr 2ff
 +
Too many ISA strayintr not logging any more
 +
</pre>

Revision as of 18:42, 5 December 2010

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)


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.. neozeed 19:18, 4 December 2010 (PST)


I've done it!!!!! Using 386 BSD pl22 to fill in the missing parts, I built the remainder of NetBSD 0.8!!!

Here are my notes!

/usr/include/machine
was /sys/i386/include
now /sys/arch/i386/include




# branch # pwd
/usr
branch # cat .//src/sys.386bsd/sys/types.h
revision 1.1.1.1 intentionally removed
branch # cp .//src/sys.386bsd-22/sys/types.h .//src/sys.386bsd/sys/types.h



branch # branch # cat .//src/sys.386bsd/sys//stat.h
revision 1.1.1.1 intentionally removed
branch # cp .//src/sys.386bsd-22/sys/stat.h .//src/sys.386bsd/sys/stat.h


branch # branch # cat /usr/include/sys/fcntl.h
revision 1.1.1.1 intentionally removed
cp .//src/sys.386bsd-22/sys/fcntl.h .//src/sys.386bsd/sys/fcntl.h

config from NetBSD8 should now build.

/usr/src/sys.386bsd/arch
ln -s ../conf .
ln -s ../arch .
ln -s ../kern .
ln -s ../net .
ln -s ../ufs .
ln -s ../vm .
/usr/src/sys.386bsd
ln -s arch/i386 .

cp /usr/src/sys.386bsd-22/conf/param.c  /usr/src/sys.386bsd/conf/param.c


cp /usr/src/sys.386bsd-22/sys/param.h /usr/src/sys.386bsd/sys/param.h
cp /usr/src/sys.386bsd-22/sys/proc.h /usr/src/sys.386bsd/sys/proc.h
cp /usr/src/sys.386bsd-22/sys/errno.h /usr/src/sys.386bsd/sys/errno.h
cp /usr/src/sys.386bsd-22/sys/signal.h /usr/src/sys.386bsd/sys/signal.h
cp /usr/src/sys.386bsd-22/sys/buf.h /usr/src/sys.386bsd/sys/buf.h
cp /usr/src/sys.386bsd-22/sys/systm.h /usr/src/sys.386bsd/sys/systm.h
cp /usr/src/sys.386bsd-22/sys/kernel.h /usr/src/sys.386bsd/sys/kernel.h
cp /usr/src/sys.386bsd-22/sys/conf.h /usr/src/sys.386bsd/sys/conf.h
cp /usr/src/sys.386bsd-22/sys/ioctl.h /usr/src/sys.386bsd/sys/ioctl.h
cp /usr/src/sys.386bsd-22/sys/ioctl_compat.h /usr/src/sys.386bsd/sys/ioctl_compat.h
cp /usr/src/sys.386bsd-22/sys/ttydefaults.h /usr/src/sys.386bsd/sys/ttydefaults.h
cp /usr/src/sys.386bsd-22/sys/tty.h /usr/src/sys.386bsd/sys/tty.h
cp /usr/src/sys.386bsd-22/sys/acct.h /usr/src/sys.386bsd/sys/acct.h
cp /usr/src/sys.386bsd-22/sys/dkstat.h /usr/src/sys.386bsd/sys/dkstat.h
cp /usr/src/sys.386bsd-22/sys/callout.h /usr/src/sys.386bsd/sys/callout.h
cp /usr/src/sys.386bsd-22/sys/exec.h /usr/src/sys.386bsd/sys/exec.h
cp /usr/src/sys.386bsd-22/sys/timeb.h /usr/src/sys.386bsd/sys/timeb.h
cp /usr/src/sys.386bsd-22/sys/times.h /usr/src/sys.386bsd/sys/times.h


did I need to?!
***cp /usr/src/sys.386bsd-22/kern/dead_vnops.c /usr/src/sys.386bsd/kern/dead_vnops.c

cp /usr/src/sys.386bsd-22/ufs/inode.h /usr/src/sys.386bsd/ufs/inode.h
cp /usr/src/sys.386bsd-22/ufs/dinode.h /usr/src/sys.386bsd/ufs/dinode.h
cp /usr/src/sys.386bsd-22/ufs/ufs_bmap.c /usr/src/sys.386bsd/ufs/ufs_bmap.c
cp /usr/src/sys.386bsd-22/ufs/ufs_disksubr.c /usr/src/sys.386bsd/ufs/ufs_disksubr.c

cp /usr/src/sys.386bsd-22/ufs/ufs_inode.c /usr/src/sys.386bsd/ufs/ufs_inode.c
cp /usr/src/sys.386bsd-22/ufs/ufs_vnops.c /usr/src/sys.386bsd/ufs/ufs_vnops.c
cp /usr/src/sys.386bsd-22/vm/device_pager.c /usr/src/sys.386bsd/vm

bare kernel should now makedepend.....


cp /usr/src/sys.386bsd-22/kern/init_main.c /usr/src/sys.386bsd/kern/init_main.c
cp /usr/src/sys.386bsd-22/kern/kern_acct.c /usr/src/sys.386bsd/kern/kern_acct.c
cp /usr/src/sys.386bsd-22/kern/kern_clock.c /usr/src/sys.386bsd/kern/kern_clock.c
cp /usr/src/sys.386bsd-22/kern/kern_descrip.c /usr/src/sys.386bsd/kern/kern_descrip.c
cp /usr/src/sys.386bsd-22/kern/kern_exit.c /usr/src/sys.386bsd/kern/kern_exit.c
cp /usr/src/sys.386bsd-22/kern/kern_fork.c /usr/src/sys.386bsd/kern/kern_fork.c
cp /usr/src/sys.386bsd-22/kern/kern_prot.c /usr/src/sys.386bsd/kern/kern_prot.c
cp /usr/src/sys.386bsd-22/kern/kern_resource.c /usr/src/sys.386bsd/kern/kern_resource.c
cp /usr/src/sys.386bsd-22/kern/kern_sig.c /usr/src/sys.386bsd/kern/kern_sig.c
cp /usr/src/sys.386bsd-22/kern/kern_subr.c /usr/src/sys.386bsd/kern/kern_subr.c
cp /usr/src/sys.386bsd-22/kern/kern_synch.c /usr/src/sys.386bsd/kern/kern_synch.c
cp /usr/src/sys.386bsd-22/kern/subr_prf.c /usr/src/sys.386bsd/kern/subr_prf.c
cp /usr/src/sys.386bsd-22/kern/sys_generic.c /usr/src/sys.386bsd/kern/sys_generic.c
cp /usr/src/sys.386bsd-22/kern/sys_process.c /usr/src/sys.386bsd/kern/sys_process.c
cp /usr/src/sys.386bsd-22/kern/tty.c /usr/src/sys.386bsd/kern/tty.c
cp /usr/src/sys.386bsd-22/kern/tty_conf.c /usr/src/sys.386bsd/kern/tty_conf.c
cp /usr/src/sys.386bsd-22/kern/vfs_lookup.c /usr/src/sys.386bsd/kern/vfs_lookup.c
cp /usr/src/sys.386bsd-22/kern/vfs_subr.c /usr/src/sys.386bsd/kern/vfs_subr.c
cp /usr/src/sys.386bsd-22/kern/vfs_syscalls.c /usr/src/sys.386bsd/kern/vfs_syscalls.c
cp /usr/src/sys.386bsd-22/kern/vfs_vnops.c /usr/src/sys.386bsd/kern/vfs_vnops.c

cp /usr/src/sys.386bsd-22/ufs/ufs_lookup.c /usr/src/sys.386bsd/ufs
cp /usr/src/sys.386bsd-22/ufs/dir.h /usr/src/sys.386bsd/ufs
cp /usr/src/sys.386bsd-22/ufs/ufs_vfsops.c /usr/src/sys.386bsd/ufs


ddb.h is not generated!!!!
/usr/src/sys.386bsd-22/compile/J/ddb.h
going back to using 386BSD's config


../../kern/kern_xxx.c: In function getdomainname:
../../kern/kern_xxx.c:114: `domainnamelen' undeclared (first use this function)
../../kern/kern_xxx.c:114: (Each undeclared identifier is reported only once
../../kern/kern_xxx.c:114: for each function it appears in.)
../../kern/kern_xxx.c:116: `domainname' undeclared (first use this function)
../../kern/kern_xxx.c: In function setdomainname:
../../kern/kern_xxx.c:132: `domainname' undeclared (first use this function)
../../kern/kern_xxx.c:134: `domainnamelen' undeclared (first use this function)
/sys/sys/kernel.h add in there
char domainname[MAXHOSTNAMELEN];
int domainnamelen;


../../kern/subr_xxx.c: In function strlen:
../../kern/subr_xxx.c:202: argument `s1' doesn't match function prototype
*** Error code 1
#ifdef NEED_STRLEN
strlen(s1)
        const register char *s1;
{
changes into
	char *s1;



cp /usr/src/sys.386bsd-22/i386/i386/conf.c /usr/src/sys.386bsd/arch/i386/i386/conf.c

these are not generating for some reason.....
cp /usr/src/sys.386bsd-22/compile/J/dcfclk.h /usr/src/sys.386bsd/arch/compile/J
cp /usr/src/sys.386bsd-22/compile/J/speaker.h /usr/src/sys.386bsd/arch/compile/J
branch # cat /usr/src/sys.386bsd-22/compile/J/speaker.h
#define NSPEAKER 0
branch # cat /usr/src/sys.386bsd-22/compile/J/dcfclk.h
#define NDCFCLK 0


without INET these bomb...
../../net/../netinet/if_ether.h:89: field `ac_ipaddr' has incomplete type
../../net/../netinet/if_ether.h:96: field `at_iaddr' has incomplete type
../../net/if_ethersubr.c: In function ether_output:
../../net/if_ethersubr.c:92: storage size of `idst' isn't known


I needed to poach /sys/sys/select.h from NetBSD 0.9
then remoeve the selwakeup portion.

/sys/net/if.c  ether_output... isn't defined????

And a DMESG

386BSD 0.1 (GENERICISA) #2: Sun Dec  5 13:30:14 PST 2010
  root@branch.oldbsd.org:/usr/src/sys.386bsd/arch/compile/J
real mem  = 67104768
avail mem = 64663552
pc0 at 0x60-0x6f irq 1 on isa
pc0: color
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: <QEMU HARDDISK>
wd0 at wdc0 slave 0
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
ne0 at 0x320 irq 10 on isa
 ethernet address 52:54:00:12:34:56npx0 at 0xf0 irq 13 on isa
wdc0: extra interrupt
wdc0: extra interrupt
ISA strayintr 4004ff
ISA strayintr 4004ff
ISA strayintr 4004ff
ISA strayintr 2ff
ISA strayintr 2ff
ISA strayintr 2ff
ISA strayintr 2ff
ISA strayintr 2ff
ISA strayintr 2ff
ISA strayintr 2ff
Too many ISA strayintr not logging any more