NetBSD 0.8 kernel building notes
From Computer History Wiki
Sorry this is kind or raw, but I don't want to lose it just yet...
This is my notes on prepping directories for building the NetBSD 0.8 kernel. You will need the config from NetBSD 0.8 to build this!!
/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????