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==_--