Subject: building installation media
To: None <port-vax@netbsd.org>
From: Chuck McManis <cmcmanis@mcmanis.com>
List: port-vax
Date: 04/05/2000 15:09:25
--=====================_534545426==_
Content-Type: text/plain; charset="us-ascii"

Hello port-vax,

For my own edification, I'm trying to figure out how to build install media
in the current tree. I can build a snapshot (just did that with 1.4X) and
so I've been trying to figure out just what exactly is supposed to happen
when a release is fully "packaged" as a release.

This is what I've learned: (note ../src == the root of the source tree)

If you don't type 'make release' from ../src but did do a 'make build' you
can avoid re-building the system but simply cd'ing to the ../src/etc
directory and typing 'make INSTALL_DONE=1 release' (be sure to have
RELEASEDIR set!) This adds in the necessary files in etc and builds the
generic kernel. There is also a directory ../src/etc/etc.vax that includes
a Makefile fragment which allows you to do "port specific" things in the
release process. In particular it will let you build extra kernels which
isn't currently utilized. I think it would be useful at some point for the
VAX effort to define some machine specific kernels to be put into the
release (two that come to mind are MicroVAX II kernel (minimal kernel) and
a kernel with DEBUGGING (aka DDB) enabled) That would help folks who have
MicroVAX IIs but aren't able to wait a couple of days to build a kernel :-)

When the release target is "made" there is a complete distribution
installed into DESTDIR. (caveat the GENERIC kernel which is still in its
build directory)

Now at this point you can cd to ../src/distrib and 'make' to build the
install sets (which 'make release' doesn't do this I don't know) Anyway, if
you do this you will find that on the VAX port there are still a few
problems, but they are managable.

The first problem is that how the distribution gets build is changing a bit
in 1.5 and the VAX stuff isn't ported yet. The primary difference at this
point is there is a "generic" miniroot directory that trys to include the
architecture specific makefile but the VAX fragment doesn't do anything
yet, whereas the vax subdirectory still does everything :-)

The second problem is that because the ramdisk directory was apparently
moved, it has a couple of typos in it, one being the -lbz2 isn't in the
makefile for linking ramdiskbin (needed for compression) and the second is
that the 'list' file trys to find the distrib directory indirectly (using
../../../.. and it should only use three '../' sequences rather than four. 

Patches are attached.

The third problem is that the ram disk is now too small to hold ramdiskbin
and everything else, so I bumped up the size to 2400 (which is a bit of
overkill, I think there are 53 blocks free with this number). To shrink it
I think we will need to do something about the compression library.

Anyway, once you fix these issues you must build the INSTALL kernel first
(I've attached the config file that I'm using) and then go back to
../src/distrib/vax and do a make there. This will put together the
netbsd.ram.gz file that is the kernel with the ram disk "embedded" in it.
(neat stuff actually) and this kernel and a copy of the boot image make up
the boot.fs file. However, boot doesn't know how to boot a compressed
netbsd.ram.gz and if it isn't compressed it won't fit onto an RX33 image
(much less and RX50 image!) 

Anyway, its interesting stuff to do once :-) If anyone knows of a good way
to debug the boot program I think the next order of business is figuring
out why boot doesn't like compressed kernels any more. Then try to figure
out the correct way to "hook" the vax port into the miniroot directory, and
finally, updating the install documentation to match the system.

--Chuck




--=====================_534545426==_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Index:=
 Makefile=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS file:=
 /cvsroot/basesrc/distrib/vax/ramdisk/Makefile,v=0Aretrieving revision=
 1.3=0Adiff -c -r1.3 Makefile=0A*** Makefile	2000/03/04 16:06:41	1.3=0A---=
 Makefile	2000/04/05 21:55:58=0A***************=0A*** 25,31 ****=0A =
 MTREE=3D		mtree.conf=0A  =0A  DISKTYPE=3D	ramdisk=0A! DISKSIZE=3D	2112=0A =
 =0A  install.sh: install.tmpl=0A  	sed "s/@@VERSION@@/${VER}/" < ${.ALLSRC}=
 > ${.TARGET}=0A--- 25,31 ----=0A  MTREE=3D		mtree.conf=0A  =0A =
 DISKTYPE=3D	ramdisk=0A! DISKSIZE=3D	2400=0A  =0A  install.sh: install.tmpl=
=0A  	sed "s/@@VERSION@@/${VER}/" < ${.ALLSRC} > ${.TARGET}=0AIndex:=
 ramdiskbin.conf=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=
 file: /cvsroot/basesrc/distrib/vax/ramdisk/ramdiskbin.conf,v=0Aretrieving=
 revision 1.4=0Adiff -c -r1.4 ramdiskbin.conf=0A***=
 ramdiskbin.conf	2000/03/04 16:06:41	1.4=0A--- ramdiskbin.conf	2000/04/05=
 21:55:58=0A***************=0A*** 36,39 ****=0A  ln restore rrestore=0A  ln=
 pax tar=0A  =0A! libs -ledit -lutil -lcurses -ltermcap -lrmt -lcrypt -ll=
 -lm=0A--- 36,39 ----=0A  ln restore rrestore=0A  ln pax tar=0A  =0A! libs=
 -ledit -lutil -lcurses -ltermcap -lrmt -lcrypt -ll -lm -lbz2=0AIndex:=
 list=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS file:=
 /cvsroot/basesrc/distrib/vax/ramdisk/list,v=0Aretrieving revision 1.5=0Adif=
f -c -r1.5 list=0A*** list	2000/03/04 16:06:41	1.5=0A--- list	2000/04/05=
 21:55:59=0A***************=0A*** 104,107 ****=0A  # SPECIAL	chmod 755=
 start=0A  =0A  #the lists of obsolete files used by sysinst  =0A! SPECIAL=
 sh ${CURDIR}/../../../../distrib/sets/makeobsolete -b -s=
 ${CURDIR}/../../../distrib/sets -t ./dist=0A--- 104,107 ----=0A  #=
 SPECIAL	chmod 755 start=0A  =0A  #the lists of obsolete files used by=
 sysinst  =0A! SPECIAL sh ${CURDIR}/../../../distrib/sets/makeobsolete -b -s=
 ${CURDIR}/../../../distrib/sets -t ./dist=0A
--=====================_534545426==_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

#	$NetBSD: GENERIC,v 1.60 2000/03/09 02:05:07 matt Exp $=0A#=0A# INSTALL VAX=
 configuration file; all supported devices.=0A# derived from GENERIC=
 -cem=0A#=0A=0Ainclude		"arch/vax/conf/std.vax"=0A=0A#ident=
 		"INSTALL-$Revision: 1.60 $"=0A=0A# Here are all different supported CPU=
 types listed.=0Aoptions 	"VAX8600"=0Aoptions 	"VAX8200"=0Aoptions=
 	"VAX780"=0Aoptions 	"VAX750"=0Aoptions 	"VAX630"	# MV II=0Aoptions=
 	"VAX650"	# MV III, 3600, 3800, 3900=0Aoptions 	"VAX670"	# VAX=
 4000/300=0Aoptions 	"VAX410"	# VS 2000=0Aoptions 	"VAX43"		# VS=
 3100/76=0Aoptions 	"VAX46"		# VS 4000/60=0Aoptions 	"VAX48"		# VS 4000=
 VLC=0Aoptions 	"VAX49"		# VS 4000/90=0A=0A# Max users on system; this is=
 just a hint=0A# Max users reduced a bit on RAM kernel to save memory=
 space=0Amaxusers	8=0A=0A#=0A# Memory disk hooks for the installation=
 kernel=0A#=0Aoptions	MEMORY_DISK_HOOKS	# enable=
 hooks=0Aoptions	MEMORY_DISK_IS_ROOT	# force root here=0Aoptions=
 MEMORY_DISK_SERVER=3D0	# disable user space MD support=0Aoptions=
 MINIROOTSIZE=3D2400	# size of disk, in blocks.=0A=0A=0A# Kernel compiled-in=
 symbolic debugger & system call tracer=0A#makeoptions	DEBUG=3D"-g"=0A#optio=
ns 	DDB=0A#options 	DDB_HISTORY_SIZE=3D100	# enable history editing in=
 DDB=0A#options 	KTRACE=0A#options 	DIAGNOSTIC=0A#options=
 	DEBUG,KMEMSTATS,PMAPDEBUG,TRAPDEBUG=0A=0A#options 	SCSIVERBOSE		# Verbose=
 SCSI errors=0A=0A# Pull in config fragments for kernel crypto.  This is=
 required for=0A# options IPSEC etc. to work. If you want to run with IPSEC,=
 uncomment=0A# one of these, based on whether you use crypto-us or=
 crypto-intl, and=0A# adjust the prefixes as necessary.=0A=0A#prefix=
 ../crypto-us/sys=0A#cinclude "conf/files.crypto-us"=0A#prefix=0A=0A#prefix=
 ../crypto-intl/sys=0A#cinclude "conf/files.crypto-intl"=0A#prefix=0A=0A#=
 Network support=0A#options 	GATEWAY=0Aoptions         INET=0A#options=
 	INET6		# IPV6=0A#options 	IPSEC		# IP security=0A#options 	IPSEC_ESP	# IP=
 security (encryption part; define w/IPSEC)=0A#options 	IPSEC_DEBUG	# debug=
 for IP security=0A=0A# All supported filesystem types=0Afile-system=
 	FFS=0A#file-system 	LFS=0A#file-system 	MFS=0Afile-system=
 	NFS=0A#file-system 	FDESC=0Afile-system 	KERNFS=0A#file-system=
 	NULLFS=0A#file-system 	OVERLAY		# overlay file system=0A#file-system=
 	PROCFS=0A#file-system 	UMAPFS=0A#file-system 	UNION=0Afile-system=
 	CD9660=0A=0A#options 	QUOTA=0A#options 	FFS_EI		# FFS Endian Independant=
 support=0A#options 	SOFTDEP         # FFS soft updates support.=0A#options=
 	NFSSERVER=0A#options 	NFS_BOOT_BOOTP,NFS_BOOT_DHCP	# Use bootp <>=
 dhcp=0A#options 	NFS_BOOT_BOOTPARAM	# Use the Sun way for netbooting.=0A=0A=
# WS console uses VT100 terminal emulation=0Aoptions 	WSEMUL_VT100=0A#option=
s 	WSDISPLAY_DEFAULTSCREENS=3D8=0A=0A# System V shared memory & semaphores=
 support.=0A#options 	SYSVMSG=0A#options 	SYSVSEM=0A#options 	SYSVSHM=0A=0A#=
 Old compat stuff; needed to run 4.3BSD Reno programs.=0A# Note that if=
 COMPAT_ULTRIX is set, you lose compatibility with=0A# 4.3BSD Reno programs=
 and get Ultrix compatibility instead.=0A# (They cannot coexist).=0A#options=
 	COMPAT_VAX1K	# Must be present to run pre-1.4 binaries.=0A#options=
 	COMPAT_43=0A#options 	COMPAT_09=0A#options 	COMPAT_10=0A#options=
 	COMPAT_11=0A#options 	COMPAT_12=0A#options 	COMPAT_13=0Aoptions=
 	COMPAT_14=0A#options 	COMPAT_ULTRIX=0A#options 	COMPAT_IBCS2	# DEC SVR.3=
 compatilibity=0A=0A#options 	LKM=0A=0A# Kernel(s) to compile=0Aconfig      =
    netbsd root on ? type ?=0A=0Amainbus0	at root=0A=0A# All buses; from the=
 beginning attached to mainbus.=0Aabus0		at mainbus0		# Master bus on VAX=
 8600=0Asbi0		at mainbus0		# SBI, master bus on 11/780.=0Acmi0		at=
 mainbus0		# 11/750 internal bus.=0Abi0		at mainbus0		# VAX 8200 =0Avsbus0=
		at mainbus0		# All VAXstations=0Aibus0		at mainbus0		# All=
 Microvax=0A#nbi0		at mainbus0		# VAX 8800=0A#xmi0		at mainbus0		# VAX=
 6000=0A=0A# Vsbus, the virtual VAXstation bus, and possible=
 devices.=0Ale0		at vsbus0 csr 0x200e0000 # LANCE ethernet=0Aze0		at vsbus0=
 csr 0x20008000 # SGEC ethernet=0Adz0		at vsbus0 csr 0x200a0000 # DC-367=
 DZ-11 lookalike ctlr=0Adz0		at vsbus0 csr 0x25000000 # VS4000/90 serial=
 line=0A#hdc0		at vsbus0 csr 0x200c0000 # HDC9224 MFM/floppy ctlr=0Ancr0		at=
 vsbus0 csr 0x200c0080 # VS2000/3100 SCSI-ctlr=0Aasc0		at vsbus0 csr=
 0x200c0080 # VS4000 SCSI-ctlr=0Ancr1		at vsbus0 csr 0x200c0180 #=
 VS2000/3100 SCSI-ctlr=0Asmg0		at vsbus0 csr 0x200f0000 # Small monochrome=
 display ctlr.=0A#clr0		at vsbus0 csr 0x30000000 # 4- or 8-bitplans color=
 graphics=0A=0A#rd*		at hdc0 drive?		# RD5x disks=0A#ry*		at hdc0 drive?		#=
 RX floppies=0A=0A# Ibus, the internal bus on most Microvaxen=0Auba0		at=
 ibus0 		# Qbus adapter=0Aze0		at ibus0 		# SGEC on-board=
 ethernet=0A#shac0		at ibus0 		# DSSI controller=0A=0A# Devices connected at=
 VAXBI=0Acpu*		at bi? node?		# KA820/KA825 cpu=0Amem*		at bi? node?		#=
 Memory subsystems=0A#uba*		at bi? node?		# DWBUA BI-Unibus adapter=0A#ni*=
		at bi? node?		# DEBNA/DEBNT ethernet adapter=0A#kdb*		at bi? node?		#=
 KDB50 MSCP disk ctlr=0A#mscpbus*	at kdb?=0A=0A# CMI (VAX 11/750)=0Amem*		at=
 cmi? tr?		# Memory subsystems=0Auba*		at cmi? tr?		# Unibus=
 adapters=0Amba*		at cmi? tr?		# Massbus adapters=0A=0A# SBI (VAX 11/780,=
 VAX 8600)=0Asbi*		at abus0		# VAX 8600 can have up to 4 SBI's.=0A=0Amem*=
		at sbi? tr?		# Memory subsystems=0Auba*		at sbi? tr?		# Unibus=
 adapters=0Amba*		at sbi? tr?		# Massbus adapters=0A=0A# Devices on Massbus=
 adapters=0Ahp*		at mba? drive?		# RM/RP disk drives=0A=0A# Devices on=
 Unibus/Qbus adapters=0Auda0		at uba?	csr 0172150	# UDA50/RQDX?=0Auda1		at=
 uba?	csr 0160334=0Amtc0		at uba? csr 0174500	# Tape MSCP ctlr=0A#ts0		at=
 uba? csr 0172520	# TS11/TSV05 tape.=0A#qd0		at uba? csr 0177400	# 4- or=
 8-bitplans color graphics=0A#qv0		at uba? csr 0177400	# Monochrome=
 graphics=0A#de0		at uba? csr 0174510	# DELUA/DEUNA=0Aqe0		at uba? csr=
 0174440	# DEQNA/DELQA=0Adhu0		at uba? csr 0160440	# DHU-11=0Adz0		at uba?=
 csr 0160100	# DZ-11=0Adl0		at uba? csr 0176500	# DL-11=0A=0A# MSCP=
 devices=0Amscpbus*	at uda?=0Amscpbus*	at mtc?=0A#mscpbus*	at kdb?=0A=0Ara*=
		at mscpbus? drive?	# MSCP disk=0Arx*		at mscpbus? drive?	# MSCP=
 floppy=0Amt*		at mscpbus? drive?	# MSCP tape=0A=0A# VS2000 builtin MFM=
 controller (HDC9224)=0A#hdc0		at vsbus0		# The strange builtin MFM=
 controller=0A=0A# SCSI devices=0Ascsibus*	at asc?=0Ascsibus*	at=
 ncr?=0A=0Asd*		at scsibus? target? lun?=0Ast*		at scsibus? target?=
 lun?=0Acd*		at scsibus? target? lun?=0A#ch*		at scsibus? target?=
 lun?=0A#ss*		at scsibus? target? lun?=0A#uk*		at scsibus? target? lun?=0A=
=0A# VAXstation graphics support=0Awsdisplay0	at smg0=0A#wsdisplay0	at=
 clr0=0A#wsdisplay0	at qd0=0A#wsdisplay0	at qv0=0Alkc0		at=
 dz0=0A=0Apseudo-device   loop	1=0Apseudo-device  =
 pty	48=0A#pseudo-device	bpfilter 8		# Not supported by de=
 yet.=0Apseudo-device=
	sl=
	2=0Apseudo-device=
	md	1=0A#pseudo-device	ppp	2=0A#pseudo-device	tun	2=0A#pseudo-device=
	gre	2		# generic L3 over IP tunnel=0A#pseudo-device	gif	4		# IPv[46] over=
 IPv[46] tunnel (RFC1933)=0A#pseudo-device	faith	1		# IPv[46] tcp relay=
 translation=
 i/f=0A#pseudo-device=
	tb	1=0A#pseudo-device	vnd	4=0A#pseudo-device	ccd	4=0A#pseudo-device=
	raid	4		# RAIDframe disk driver=0A#options 	RAID_AUTOCONFIG		#=
 auto-configuration of RAID components=0A# rnd is=
 EXPERIMENTAL=0A#pseudo-device	rnd			# /dev/random and in-kernel generator=
=0A
--=====================_534545426==_--