Talk:NetBSD 0.8

From Computer History Wiki
Revision as of 19:18, 5 December 2010 by Neozeed (talk | contribs) (ddb generates using the config program from netbsd08)
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)


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