NetBSD 0.8 kernel building notes

From Computer History Wiki
Jump to: navigation, search

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????