Difference between revisions of "NetBSD 0.8 kernel building notes"

From Computer History Wiki
Jump to: navigation, search
(Created page with "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 fr...")
(No difference)

Revision as of 03:13, 6 December 2010

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