Talk:NetBSD 0.8
From Computer History Wiki
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 ../../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