diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 1999-01-21 00:55:32 +0000 |
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 1999-01-21 00:55:32 +0000 |
| commit | 76b5366091f76c9bc73570149ef5055648fc2c39 (patch) | |
| tree | 590d020e0f2a5bea6e09d66d951a674443b21d67 /release | |
| parent | 4b4d01da6f07f7754ff6a6e4f5223e9f0984d1a6 (diff) | |
This commit was manufactured by cvs2svn to create tagrelease/3.0.0
'RELENG_3_0_0_RELEASE'.
Diffstat (limited to 'release')
203 files changed, 6006 insertions, 3302 deletions
diff --git a/release/texts/ABOUT.TXT b/release/ABOUT.TXT index 008a60c722bb..008a60c722bb 100644 --- a/release/texts/ABOUT.TXT +++ b/release/ABOUT.TXT diff --git a/release/texts/ERRATA.TXT b/release/ERRATA.TXT index 239787f16873..239787f16873 100644 --- a/release/texts/ERRATA.TXT +++ b/release/ERRATA.TXT diff --git a/release/texts/LAYOUT.TXT b/release/LAYOUT.TXT index ece4acb786ae..ece4acb786ae 100644 --- a/release/texts/LAYOUT.TXT +++ b/release/LAYOUT.TXT diff --git a/release/Makefile b/release/Makefile index 77f7d68ee23f..631458da6c39 100644 --- a/release/Makefile +++ b/release/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.459 1999/01/16 22:42:24 jkh Exp $ +# $Id: Makefile,v 1.420 1998/10/15 11:12:40 jkh Exp $ # # make release CHROOTDIR=/some/dir BUILDNAME=somename [ RELEASETAG=tag ] # @@ -41,13 +41,9 @@ OBJFORMAT?= elf #NOPORTS= YES # Comment the following if you want the release documentation to be # in English only. -ALLLANG= yes -DOCPORTS= textproc/docproj -# Set this to wherever the distfiles required by ${DOCPORTS} live. -DISTFILES?= ${.CURDIR}/../../ports/distfiles - -DIST_DOCS= ABOUT.TXT ERRATA.TXT LAYOUT.TXT README.TXT HARDWARE.TXT \ - INSTALL.TXT RELNOTES.TXT TROUBLE.TXT UPGRADE.TXT +ALLLANG= yes +DOCPORTS= archivers/unzip textproc/jade textproc/iso8879 \ + textproc/linuxdoc textproc/docbook textproc/sgmlformat # Things which without too much trouble can be considered variables # BIN_DISTS are special in that they get full /etc installation sets. @@ -71,6 +67,8 @@ MNT= /mnt # Various floppy image parameters. # +# These are adjusted down to the minimum needed by doFS.sh. +.if ${MACHINE_ARCH} == "i386" BOOTSIZE= 1440 BOOTMFSSIZE= 1440 FIXITSIZE= 1440 @@ -78,12 +76,17 @@ BOOTINODE= 80000 MFSINODE= 8000 FIXITINODE= 2000 BOOTLABEL= fd1440 -BOOTMFSLABEL= minimum2 +BOOTMFSLABEL= minimum FIXITLABEL= fd1440 - -# overrides. -.if ${MACHINE_ARCH} == "alpha" +.else +BOOTSIZE= 1440 +BOOTMFSSIZE= 2880 FIXITSIZE= 2880 +BOOTINODE= 80000 +MFSINODE= 40000 +FIXITINODE= 2000 +BOOTLABEL= fd1440 +BOOTMFSLABEL= minimum2 FIXITLABEL= minimum2 .endif @@ -128,6 +131,16 @@ EXTRAS= cdrom.1 ftp.1 DOCREL= doc.1 .endif +REDO?= sysinstall +REDOSED= sed -e 's/dirs/release.1/' -e 's/trees/release.2/' \ + -e 's/kerns/release.3/' -e 's/sysinstall/release.4/' \ + -e 's/fixup/release.5/' -e 's/tarbin/release.6/' \ + -e 's/tarsrc/release.7/' -e 's/boot\.flp/release.8/' \ + -e 's/fixit\.flp/release.9/' -e 's/ftp/ftp.1/' \ + -e 's/cdrom/cdrom.1/' -e 's/doc/doc.1/' + +REDOREDO!= echo ${REDO} | ${REDOSED} + rerelease release: .if !defined(CHROOTDIR) || !defined(BUILDNAME) || !defined(CVSROOT) @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false @@ -143,7 +156,6 @@ rerelease release: -mkdir -p ${CHROOTDIR} cd ${.CURDIR}/../etc && ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR} cd ${.CURDIR}/../etc && ${MAKE} distribution DESTDIR=${CHROOTDIR} - [ -f /etc/resolv.conf ] && cp -p /etc/resolv.conf ${CHROOTDIR}/etc cd ${.CURDIR}/.. && ${MAKE} installworld DESTDIR=${CHROOTDIR} NOMAN=1 mkdir ${CHROOTDIR}/${BOOTSTRAPDIR} for i in ${BOOTSTRAPUTILS} ; do \ @@ -167,7 +179,10 @@ rerelease release: .endif .if !defined(NODOC) cd ${CHROOTDIR}/usr && rm -rf doc && cvs -R -d ${CVSROOT} co -P ${RELEASEDOCMODULE} - [ -d ${DISTFILES}/ ] && cp -rp ${DISTFILES} ${CHROOTDIR}/usr/ports/distfiles + cd ${CHROOTDIR}/usr/ports && for i in ${DOCPORTS}; do \ + (cd $$i; make fetch MASTER_SITE_OVERRIDE=file:/usr/ports/distfiles/ \ + DISTDIR=${CHROOTDIR}/usr/ports/distfiles ); \ + done .endif .endif .if make(rerelease) @@ -188,7 +203,11 @@ rerelease release: # Add version information to those things that need it. ( cd ${CHROOTDIR}/usr/src/sys/conf && \ mv newvers.sh foo && \ - sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh && rm foo ) + sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh&& rm foo ) + ( cd ${CHROOTDIR}/usr/src/release/sysinstall && \ + sed "s/__RELEASE/${BUILDNAME}/" version.h > version.h.new && \ + mv version.h.new version.h && \ + echo XXXX ) echo OBJFORMAT=${OBJFORMAT} > ${CHROOTDIR}/etc/objformat -test -f install.cfg && cp install.cfg ${CHROOTDIR}/usr/src/release echo "#!/bin/sh" > ${CHROOTDIR}/mk @@ -223,21 +242,19 @@ rerelease release: # Don't remove this, or the build will fall over! echo "export RELEASEDIR=/R" >> ${CHROOTDIR}/mk echo "export PATH=${BOOTSTRAPDIR}:$${PATH}:${LOCALDIR}" >> ${CHROOTDIR}/mk - echo "if [ ! -f /tmp/.world_done ]; then" >> ${CHROOTDIR}/mk - echo " cd /usr/src" >> ${CHROOTDIR}/mk + echo "cd /usr/src" >> ${CHROOTDIR}/mk .if make(release) - echo " (cd etc; make distrib-dirs distribution)" >> ${CHROOTDIR}/mk - echo " make world" >> ${CHROOTDIR}/mk + echo "(cd etc; make distrib-dirs distribution)" >> ${CHROOTDIR}/mk + echo "make world" >> ${CHROOTDIR}/mk .endif .if make(rerelease) - echo " make all install" >> ${CHROOTDIR}/mk + echo "make all install" >> ${CHROOTDIR}/mk .endif - echo " touch /tmp/.world_done" >> ${CHROOTDIR}/mk - echo "fi" >> ${CHROOTDIR}/mk echo "cd /usr/src/release/sysinstall" >> ${CHROOTDIR}/mk echo "make obj" >> ${CHROOTDIR}/mk echo "cd /usr/src/release" >> ${CHROOTDIR}/mk echo "make objlink" >> ${CHROOTDIR}/mk + echo "(cd obj; rm -f ${REDOREDO})" >> ${CHROOTDIR}/mk echo "make \$${_RELTARGET}" >> ${CHROOTDIR}/mk echo "echo make ${.TARGET} Finished" >> ${CHROOTDIR}/mk chmod 755 ${CHROOTDIR}/mk @@ -249,7 +266,7 @@ clean: # Clean out /R and make the directory structure. release.1: -mkdir /R - -chflags -R noschg /R/. + chflags -R noschg /R/. rm -rf /R/* mkdir ${RD} mkdir ${RD}/floppies @@ -281,7 +298,13 @@ release.2: make kprog \ ) .endif - -chflags -R noschg ${RD}/trees + # XXX until lkm and mdec gets populated again by some other means +.if ${MACHINE_ARCH} == "i386" + cd ${.CURDIR}/.. && OBJFORMAT=aout MAKEOBJDIRPREFIX=/usr/obj/aout \ + NOTOOLS=1 NOSECURE=1 NOCRYPT=1 \ + make -f Makefile.inc1 legacy-install DESTDIR=${RD}/trees/bin +.endif + chflags -R noschg ${RD}/trees touch release.2 # Make and install the generic kernel(s). @@ -423,6 +446,9 @@ release.8: write_mfs_in_kernel dumpnlist mkdir ${RD}/mfsfd cd ${RD}/mfsfd && \ mkdir -p etc dev mnt stand/help +.if ${MACHINE_ARCH} == "i386" + @cp ${.CURDIR}/../sys/i386/boot/biosboot/boot.help ${RD}/mfsfd/stand +.endif @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=boot \ DIR=${RD}/mfsfd/stand ZIP=false ( cd ${RD}/trees/bin/dev && \ @@ -436,24 +462,21 @@ release.8: write_mfs_in_kernel dumpnlist echo "domain 53/udp nameserver" >> ${RD}/mfsfd/stand/etc/services echo "cmd 514/tcp shell" >> ${RD}/mfsfd/stand/etc/services gzip -c ${.CURDIR}/../COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.hlp.gz - for i in README.TXT RELNOTES.TXT INSTALL.TXT UPGRADE.TXT HARDWARE.TXT; do \ - gzip -9c ${.CURDIR}/texts/$${i} > ${RD}/mfsfd/stand/help/$${i}.gz; done -test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd - @mkdir -p ${RD}/mfsfd/boot - @cp /boot/boot* ${RD}/mfsfd/boot @echo "Making the regular boot floppy." - @tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \ - tar xf - -C ${RD}/mfsfd/stand + tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \ + tar xvf - -C ${RD}/mfsfd/stand @echo "Compressing doc files..." @gzip -9 ${RD}/mfsfd/stand/help/*.hlp - @sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \ - ${BOOTMFSSIZE} ${RD}/mfsfd ${MFSINODE} ${BOOTMFSLABEL} - @gzip -vc mfsroot > mfsroot.gz - @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \ - ${RD} ${MNT} ${BOOTSIZE} mfsroot.gz ${BOOTINODE} ${BOOTLABEL} - @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern - @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=boot _MFSKERN=YES - @rm mfsroot mfsroot.gz mfsroot.size + sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTMFSSIZE} \ + ${RD}/mfsfd ${MFSINODE} ${BOOTMFSLABEL} + mv fs-image fs-image.std + mv fs-image.size fs-image.std.size + gzip -c fs-image.std > ${RD}/floppies/mfsroot.gz + cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=std + mv ${RD}/floppies/bootstd.flp ${RD}/floppies/kern.flp + cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=std _MFSKERN=YES + mv ${RD}/floppies/bootstd.flp ${RD}/floppies/boot.flp @echo "Regular and MFS boot floppies made." touch release.8 @@ -461,30 +484,35 @@ release.8: write_mfs_in_kernel dumpnlist # --==## Create a fixit floppy ##==-- # release.9: - @echo "Making fixit floppy." - @rm -rf ${RD}/fixitfd - @mkdir ${RD}/fixitfd - @cd ${RD}/fixitfd && \ + rm -rf ${RD}/fixitfd + mkdir ${RD}/fixitfd + cd ${RD}/fixitfd && \ mkdir -p dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp \ - usr/share/misc + usr/share/misc usr/mdec @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=fixit \ DIR=${RD}/fixitfd/stand ZIP=false - @( cd ${RD}/fixitfd/dev && \ + ( cd ${RD}/fixitfd/dev && \ sed -e '/^PATH/s/^/#/' ${RD}/trees/bin/dev/MAKEDEV > MAKEDEV && \ chmod 755 MAKEDEV && \ sh MAKEDEV all ) - @cp ${RD}/trees/bin/etc/spwd.db ${RD}/trees/bin/etc/group \ + cp ${RD}/trees/bin/etc/spwd.db ${RD}/trees/bin/etc/group \ ${RD}/trees/bin/etc/protocols ${RD}/fixitfd/etc - @cp ${RD}/trees/bin/usr/share/misc/scsi_modes \ + cp ${RD}/trees/bin/usr/share/misc/scsi_modes \ ${RD}/fixitfd/usr/share/misc - @cp ${.CURDIR}/fixit.profile ${RD}/fixitfd/.profile - @cp ${.CURDIR}/fixit.services ${RD}/fixitfd/etc/services - @cp ${.CURDIR}/scripts/tar.sh ${RD}/fixitfd/stand/tar - @chmod 555 ${RD}/fixitfd/stand/tar - @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/fixit.flp ${RD} \ - ${MNT} ${FIXITSIZE} ${RD}/fixitfd ${FIXITINODE} ${FIXITLABEL} + cp ${RD}/trees/bin/usr/mdec/boot[12] ${RD}/fixitfd/usr/mdec + for type in fd od sd wd ; do \ + ( cd ${RD}/fixitfd/usr/mdec && ln -s boot1 $${type}boot && \ + ln -s boot2 boot$${type} ) ; \ + done + cp ${.CURDIR}/fixit.profile ${RD}/fixitfd/.profile + cp ${.CURDIR}/fixit.services ${RD}/fixitfd/etc/services + cp ${.CURDIR}/tar.sh ${RD}/fixitfd/stand/tar + chmod 555 ${RD}/fixitfd/stand/tar + sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${FIXITSIZE} \ + ${RD}/fixitfd ${FIXITINODE} ${FIXITLABEL} + mv fs-image ${RD}/floppies/fixit.flp # Do our last minute floppies directory setup in a convenient place. - @cp ${.CURDIR}/texts/FLOPPIES.TXT ${RD}/floppies/README.TXT + cp ${.CURDIR}/README.TXT ${RD}/floppies/README.TXT @(cd ${RD}/floppies; md5 * > CHECKSUM.MD5) touch release.9 @@ -492,26 +520,36 @@ release.9: # --==## Setup a suitable ftp-area ##==-- # ftp.1: - @echo "Setting up FTP distribution area" - @mkdir -p ${FD} - @cd ${RD} && find floppies -print | cpio -dumpl ${FD} - @cd ${RD}/dists && find . -print | cpio -dumpl ${FD} - @for i in ${DIST_DOCS}; do cp ${.CURDIR}/texts/$${i} ${FD}; done - @echo "CD_VERSION = ${BUILDNAME}" > ${FD}/cdrom.inf + mkdir -p ${FD} + cd ${RD} && find floppies -print | cpio -dumpl ${FD} + cd ${RD}/dists && find . -print | cpio -dumpl ${FD} + cp ${.CURDIR}/ABOUT.TXT ${FD}/ABOUT.TXT + cp ${.CURDIR}/ERRATA.TXT ${FD}/ERRATA.TXT + cp ${.CURDIR}/LAYOUT.TXT ${FD}/LAYOUT.TXT + cp ${.CURDIR}/sysinstall/help/readme.hlp ${FD}/README.TXT + cp ${.CURDIR}/sysinstall/help/hardware.hlp ${FD}/HARDWARE.TXT + cp ${.CURDIR}/sysinstall/help/install.hlp ${FD}/INSTALL.TXT + cp ${.CURDIR}/sysinstall/help/relnotes.hlp ${FD}/RELNOTES.TXT + cp ${.CURDIR}/sysinstall/help/trouble.hlp ${FD}/TROUBLE.TXT + cp ${.CURDIR}/sysinstall/help/upgrade.hlp ${FD}/UPGRADE.TXT + + echo "CD_VERSION = ${BUILDNAME}" > ${FD}/cdrom.inf .if !defined(NOPORTS) - @tar -cBf - -C ${CD_DISC1} ports | tar -xBf - -C ${FD} + tar -cBf - -C ${CD_DISC1} ports | tar -xBf - -C ${FD} .endif # # --==## Setup a suitable cdrom-area ##==-- # cdrom.1: - @echo "Setting up CDROM distribution area" - @mkdir -p ${CD_DISC1} ${CD_DISC2} - @cd ${RD} && find floppies -print | cpio -dumpl ${CD_DISC1} - @cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DISC1} - @ln -f ${RD}/kernels/MFSKERNEL.boot ${CD_DISC1}/kernel - @for i in ${DISTRIBUTIONS} ; \ + mkdir -p ${CD_DISC1} ${CD_DISC2} + cd ${RD} && find floppies -print | cpio -dumpl ${CD_DISC1} + cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DISC1} + ln -f ${RD}/kernels/MFSKERNEL.std ${CD_DISC1}/kernel +.if ${MACHINE_ARCH} != "alpha" + ln -f ${RD}/trees/bin/usr/mdec/fbsdboot.exe ${CD_DISC1} +.endif + for i in ${DISTRIBUTIONS} ; \ do \ if [ -d ${RD}/trees/$${i} ] ; then \ chflags -R noschg ${RD}/trees/$${i} ; \ @@ -519,25 +557,35 @@ cdrom.1: find . -depth -print | cpio -dumpl ${CD_DISC2} ) ; \ fi \ done - @rm -f ${CD_DISC2}/.profile - @cp ${.CURDIR}/fixit.profile ${CD_DISC2}/.profile - @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC1}/cdrom.inf - @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf - @for i in ${DIST_DOCS}; do cp ${.CURDIR}/texts/$${i} ${CD_DISC1}; done + rm -f ${CD_DISC2}/.profile + cp ${.CURDIR}/fixit.profile ${CD_DISC2}/.profile + echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC1}/cdrom.inf + echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf + cp ${.CURDIR}/ABOUT.TXT ${CD_DISC1}/ABOUT.TXT + cp ${.CURDIR}/ERRATA.TXT ${CD_DISC1}/ERRATA.TXT + cp ${.CURDIR}/LAYOUT.TXT ${CD_DISC1}/LAYOUT.TXT + cp ${.CURDIR}/sysinstall/help/readme.hlp ${CD_DISC1}/README.TXT + cp ${.CURDIR}/sysinstall/help/hardware.hlp ${CD_DISC1}/HARDWARE.TXT + cp ${.CURDIR}/sysinstall/help/install.hlp ${CD_DISC1}/INSTALL.TXT + cp ${.CURDIR}/sysinstall/help/relnotes.hlp ${CD_DISC1}/RELNOTES.TXT + cp ${.CURDIR}/sysinstall/help/trouble.hlp ${CD_DISC1}/TROUBLE.TXT + cp ${.CURDIR}/sysinstall/help/upgrade.hlp ${CD_DISC1}/UPGRADE.TXT + .if !defined(NOPORTS) - @-rm -rf /usr/ports/distfiles/* - @mkdir -p ${CD_DISC1}/ports && \ + -rm -rf /usr/ports/distfiles/* + tar -cBf - -C /usr ports | tar xBpf - -C ${CD_DISC2} && \ + mkdir -p ${CD_DISC1}/ports && \ tar -czf ${CD_DISC1}/ports/ports.tgz -C /usr ports && \ - cp ${.CURDIR}/scripts/ports-install.sh ${CD_DISC1}/ports/install.sh \ - && (cd ${CD_DISC1}/ports; md5 * > CHECKSUM.MD5) + cp ${.CURDIR}/scripts/ports-install.sh ${CD_DISC1}/ports/install.sh && \ + (cd ${CD_DISC1}/ports; md5 * > CHECKSUM.MD5) + ln -s ../ports ${CD_DISC2}/usr/ports .endif doc.1: - @echo "Making docs..." - @for i in ${DOCPORTS}; do \ - cd /usr/ports/$$i && make all install clean JADETEX=no FORCE_PKG_REGISTER=yes; \ + for i in ${DOCPORTS}; do \ + cd /usr/ports/$$i && make all install clean FORCE_PKG_REGISTER=yes; \ done - @cd /usr/doc && make all distribute DISTDIR=${RD}/trees + cd /usr/doc && make all distribute DISTDIR=${RD}/trees touch doc.1 # Various "subroutine" and other supporting targets. @@ -552,14 +600,14 @@ doTARBALL: .if !defined(ARG) @echo "ARG undefined in doTARBALL" && exit 1 .endif - @rm -rf ${RD}/dists/${TD}/${TN}* - @mkdir -p ${RD}/dists/${TD} - @( cd ${SD} && \ + rm -rf ${RD}/dists/${TD}/${TN}* + mkdir -p ${RD}/dists/${TD} + ( cd ${SD} && \ tn=`echo ${TN} | tr '[A-Z]' '[a-z]' | cut -c1-8` && \ echo rolling ${TD}/$$tn tarball &&\ tar --exclude CVS --exclude obj --exclude BOOTMFS -cf - ${ARG} | \ ${ZIPNSPLIT} ${RD}/dists/${TD}/$$tn. && \ - sh ${.CURDIR}/scripts/info.sh ${RD}/dists/${TD}/$$tn > \ + sh ${.CURDIR}/info.sh ${RD}/dists/${TD}/$$tn > \ ${RD}/dists/${TD}/$$tn.inf && \ if [ -f ${.CURDIR}/scripts/$${TD}-install.sh ]; then \ cp -p ${.CURDIR}/scripts/$${TD}-install.sh ${RD}/dists/${TD}/install.sh; \ @@ -578,21 +626,21 @@ doTARBALL: doRELEASE: release.1 release.2 ${DOCREL} release.3 release.4 release.5 \ release.6 release.7 release.8 release.9 - @cd ${.CURDIR} && ${MAKE} ${EXTRAS} + cd ${.CURDIR} && ${MAKE} ${EXTRAS} @echo "Release done" floppies: - @cd ${.CURDIR} && ${MAKE} boot.flp - @cd ${.CURDIR} && ${MAKE} fixit.flp - @cd ${RD} && find floppies -print | cpio -dumpl ${FD} + cd ${.CURDIR} && ${MAKE} boot.flp + cd ${.CURDIR} && ${MAKE} fixit.flp + cd ${RD} && find floppies -print | cpio -dumpl ${FD} boot.flp: - @rm -f release.4 release.8 - @cd ${.CURDIR} && ${MAKE} release.4 release.8 CRUNCH_TARGETS=boot + rm -f release.4 release.8 + cd ${.CURDIR} && ${MAKE} release.4 release.8 CRUNCH_TARGETS=boot fixit.flp: - @rm -f release.4 release.9 - @cd ${.CURDIR} && ${MAKE} release.4 release.9 CRUNCH_TARGETS=fixit + rm -f release.4 release.9 + cd ${.CURDIR} && ${MAKE} release.4 release.9 CRUNCH_TARGETS=fixit write_mfs_in_kernel: ${.CURDIR}/write_mfs_in_kernel.c ${CC} ${CFLAGS} -o write_mfs_in_kernel ${.CURDIR}/write_mfs_in_kernel.c @@ -611,13 +659,13 @@ installCRUNCH: .if !defined(ZIP) @echo "ZIP undefined in installCRUNCH" && exit 1 .endif - @if ${ZIP} ; then \ + if ${ZIP} ; then \ gzip -9 < ${RD}/crunch/${CRUNCH} > ${DIR}/${CRUNCH}_crunch ; \ else \ ln -f ${RD}/crunch/${CRUNCH} ${DIR}/${CRUNCH}_crunch ; \ fi - @chmod 555 ${DIR}/${CRUNCH}_crunch - @for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \ + chmod 555 ${DIR}/${CRUNCH}_crunch + for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \ ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \ done @@ -628,9 +676,9 @@ installCRUNCH: # may want to reuse it (release.8 presently) # doKERNEL: - @rm -f ${RD}/kernels/${KERNEL} - @cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && config ${KERNEL} - @cd ${.CURDIR}/../sys/compile/${KERNEL} && \ + rm -f ${RD}/kernels/${KERNEL} + cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && config ${KERNEL} + cd ${.CURDIR}/../sys/compile/${KERNEL} && \ make depend && \ make kernel && \ cp kernel ${RD}/kernels/${KERNEL} @@ -639,60 +687,84 @@ doKERNEL: # --==## Put a filesystem into a BOOTMFS kernel ##==-- # doMFSKERN: - @echo "Running doMFSKERN for ${FSIMAGE}" @rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE} + @rm -f /sys/compile/BOOTMFS/mfs_vfsops.o @cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && \ - sh ${.CURDIR}/scripts/dokern.sh ${_MFSKERN} < GENERIC > BOOTMFS + sed -e '/pty/d' \ + -e '/pass0/d' \ + -e '/apm0/d' \ + -e '/ft0/d' \ + -e '/ppp/d' \ + -e '/gzip/d' \ + -e '/PROCFS/d' \ + -e '/SYSVSHM/d' \ + -e '/KTRACE/d' \ + -e '/MATH_EMULATE/d' \ + -e 's/GENERIC/BOOTMFS/g' \ + -e '/maxusers/s/32/4/' < GENERIC > BOOTMFS && \ + echo "options NFS_NOSERVER" >> BOOTMFS && \ + echo 'options "MAXCONS=4"' >> BOOTMFS && \ + echo "options SCSI_NO_OP_STRINGS" >> BOOTMFS && \ + echo "options SCSI_NO_SENSE_STRINGS" >> BOOTMFS .if ${MACHINE_ARCH} == "i386" - @echo "options INTRO_USERCONFIG" >> ${.CURDIR}/../sys/i386/conf/BOOTMFS + @echo "options USERCONFIG_BOOT" >> ${.CURDIR}/../sys/i386/conf/BOOTMFS .endif .if defined(_MFSKERN) - @echo "options \"MFS_ROOT_SIZE=`cat mfsroot.size`\"" >> \ + @echo "options \"MFS_ROOT_SIZE=`cat fs-image.${FSIMAGE}.size`\"" >> \ ${.CURDIR}/../sys/${MACHINE_ARCH}/conf/BOOTMFS .endif - @cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS - @rm -rf ${RD}/image.${FSIMAGE} - @mkdir ${RD}/image.${FSIMAGE} - @cp ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE} - mv ${RD}/kernels/BOOTMFS ${RD}/image.${FSIMAGE}/kernel + cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS + @rm -rf ${RD}/boot.${FSIMAGE} + @mkdir ${RD}/boot.${FSIMAGE} + @mv ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE} + @cp ${RD}/kernels/BOOTMFS.${FSIMAGE} ${RD}/boot.${FSIMAGE}/kernel .if !defined(_MFSKERN) || ${MACHINE_ARCH} == "alpha" - @echo "Setting up /boot directory for ${FSIMAGE} floppy" - @mkdir -p ${RD}/image.${FSIMAGE}/boot - @cp /boot/* ${RD}/image.${FSIMAGE}/boot - @rm -f ${RD}/image.${FSIMAGE}/boot/netboot - - @echo "@load /kernel" > ${RD}/image.${FSIMAGE}/boot/loader.rc - @echo "@echo Please insert MFS root floppy and press enter:" >> ${RD}/image.${FSIMAGE}/boot/loader.rc - @echo "@read" >> ${RD}/image.${FSIMAGE}/boot/loader.rc - @echo "@load -t mfs_root /mfsroot" >> ${RD}/image.${FSIMAGE}/boot/loader.rc - @echo "@boot" >> ${RD}/image.${FSIMAGE}/boot/loader.rc - @touch ${RD}/image.${FSIMAGE}/boot/loader.config + @mkdir -p ${RD}/boot.${FSIMAGE}/boot +.if ${MACHINE_ARCH} == "alpha" + @cp /usr/mdec/boot2 ${RD}/boot.${FSIMAGE}/boot +.else + @cp /boot/* ${RD}/boot.${FSIMAGE}/boot .endif -.if defined(_MFSKERN) - @echo "Getting symbols from ${RD}/image.${FSIMAGE}/kernel for mfsroot" - @vnconfig /dev/${VNDEVICE} mfsroot + @echo "@load /kernel" > ${RD}/boot.${FSIMAGE}/boot/boot.conf + @echo "@echo Please insert MFS root floppy and press enter:" >> ${RD}/boot.${FSIMAGE}/boot/boot.conf + @echo "@read" >> ${RD}/boot.${FSIMAGE}/boot/boot.conf + @echo "@load -t mfs_root /mfsroot" >> ${RD}/boot.${FSIMAGE}/boot/boot.conf + @echo "@boot" >> ${RD}/boot.${FSIMAGE}/boot/boot.conf + @echo "/boot/loader" >${RD}/boot.${FSIMAGE}/boot.config + @touch ${RD}/boot.${FSIMAGE}/boot/loader.config +.endif + @vnconfig /dev/${VNDEVICE} fs-image.${FSIMAGE} @mkdir -p /tmp/mnt_xx @mount /dev/${VNDEVICE} /tmp/mnt_xx - @./dumpnlist ${RD}/image.${FSIMAGE}/kernel > /tmp/mnt_xx/stand/symbols + ./dumpnlist ${RD}/boot.${FSIMAGE}/kernel > /tmp/mnt_xx/stand/symbols @umount /tmp/mnt_xx @vnconfig -u /dev/${VNDEVICE} @rmdir /tmp/mnt_xx - @echo "Writing MFS image into kernel for ${FSIMAGE} floppy" - @./write_mfs_in_kernel ${RD}/image.${FSIMAGE}/kernel mfsroot - @cp ${RD}/image.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE} +.if defined(_MFSKERN) + ./write_mfs_in_kernel ${RD}/boot.${FSIMAGE}/kernel \ + fs-image.${FSIMAGE} +.endif +.if ${MACHINE_ARCH} == "i386" + kzip -v ${RD}/boot.${FSIMAGE}/kernel + @mv ${RD}/boot.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE} + @mv ${RD}/boot.${FSIMAGE}/kernel.kz ${RD}/boot.${FSIMAGE}/kernel + @cp ${.CURDIR}/../sys/i386/boot/biosboot/boot.help ${RD}/boot.${FSIMAGE} +.else + @cp ${RD}/boot.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE} + gzip -v ${RD}/boot.${FSIMAGE}/kernel + @mv ${RD}/boot.${FSIMAGE}/kernel.gz ${RD}/boot.${FSIMAGE}/kernel.gz .endif - @gzip -v ${RD}/image.${FSIMAGE}/kernel - @touch ${RD}/image.${FSIMAGE}/kernel.config - @rm -f ${RD}/floppies/${FSIMAGE}.flp + @printf \\a\\a\\a >> ${RD}/boot.${FSIMAGE}/boot.help + @touch ${RD}/boot.${FSIMAGE}/boot.config + @touch ${RD}/boot.${FSIMAGE}/kernel.config + @rm -f ${RD}/floppies/boot${FSIMAGE}.flp .if defined(_MFSKERN) - @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ - ${RD} ${MNT} ${BOOTMFSSIZE} ${RD}/image.${FSIMAGE} \ - ${BOOTINODE} ${BOOTMFSLABEL} + sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTMFSSIZE} \ + ${RD}/boot.${FSIMAGE} ${BOOTINODE} ${BOOTMFSLABEL} .else - @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ - ${RD} ${MNT} ${BOOTSIZE} ${RD}/image.${FSIMAGE} \ - ${BOOTINODE} ${BOOTLABEL} + sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTSIZE} \ + ${RD}/boot.${FSIMAGE} ${BOOTINODE} ${BOOTLABEL} .endif - @echo "Created ${RD}/floppies/${FSIMAGE}.flp" + mv fs-image ${RD}/floppies/boot${FSIMAGE}.flp .include <bsd.prog.mk> diff --git a/release/texts/FLOPPIES.TXT b/release/README.TXT index c817d8c41b32..2d3e9a48d5b6 100644 --- a/release/texts/FLOPPIES.TXT +++ b/release/README.TXT @@ -10,15 +10,15 @@ This release still uses only one installation floppy, the boot.flp image. For convenience (and for the DEC ALPHA architecture, on which binaries are quite a bit larger), however, we also provide the functionality of boot.flp now "decoupled" into a kern.flp image, -which contains just the boot kernel, and mfsroot.flp, which contains +which contains just the boot kernel, and mfsroot.gz, which contains the compressed MFS root image that is normally stored as part of the kernel itself on the boot.flp image. This allows you to boot from kern.flp, which will fit on a 1.44MB floppy even on the alpha, -and then use mfsroot.flp from a 2nd floppy. This also allows you +and then load mfsroot.gz from a 2nd floppy. This also allows you to easily make your own boot or MFS floppies should you need to customize some aspect of the installation process. As long as the kernel is compiled -with ``options MFS'' and ``options MFS_ROOT'', it will properly look for -and boot an mfsroot.flp image when run. The mfsroot.flp image is simply +with ``options MFS'' and ``options MFS_ROOT'', it will properly +boot an mfsroot.gz image when run. The mfsroot.gz image is simply a gzip'd filesystem image, something which can be made rather easily using vnconfig(8). If none of this makes any sense to you, don't worry about it - just use the boot.flp image as always; nothing @@ -55,3 +55,6 @@ or work well, depending on your hardware and operating system environment (different versions of UNIX have totally different names for the floppy drive - neat, huh? :-). + +The only image which is copied onto a floppy as an ordinary file is +mfsroot.gz, should you actually be using that image for something. diff --git a/release/scripts/doFS.sh b/release/doFS.sh index 0a63deee3a94..74bab0969b52 100644 --- a/release/scripts/doFS.sh +++ b/release/doFS.sh @@ -6,13 +6,6 @@ if [ "x$VNDEVICE" = "x" ] ; then fi export BLOCKSIZE=512 -if [ "$1" = "-s" ]; then - do_size="yes"; shift -else - do_size="" -fi - -FSIMG=$1; shift RD=$1 ; shift MNT=$1 ; shift FSSIZE=$1 ; shift @@ -24,7 +17,7 @@ deadlock=20 while true do - rm -f ${FSIMG} + rm -f fs-image if [ ! -b /dev/${VNDEVICE} -o ! -c /dev/r${VNDEVICE} ] ; then ( cd /dev && sh MAKEDEV ${VNDEVICE} ) @@ -36,34 +29,46 @@ do vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true - dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null + dd of=fs-image if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null # this suppresses the `invalid primary partition table: no magic' awk 'BEGIN {printf "%c%c", 85, 170}' |\ - dd of=${FSIMG} obs=1 seek=510 conv=notrunc 2>/dev/null + dd of=fs-image obs=1 seek=510 conv=notrunc 2>/dev/null + + vnconfig -s labels -c /dev/r${VNDEVICE} fs-image - vnconfig -s labels -c /dev/r${VNDEVICE} ${FSIMG} - disklabel -Brw /dev/r${VNDEVICE} ${FSLABEL} + if [ "`uname -m`" = "alpha" ]; then + disklabel -Brw -b ${RD}/trees/bin/usr/mdec/boot1 \ + /dev/r${VNDEVICE} ${FSLABEL} + else + disklabel -Brw \ + -b ${RD}/trees/bin/usr/mdec/fdboot \ + -s ${RD}/trees/bin/usr/mdec/bootfd \ + /dev/r${VNDEVICE} ${FSLABEL} + fi newfs -u 0 -t 0 -i ${FSINODE} -m 0 -T ${FSLABEL} -o space /dev/r${VNDEVICE}c mount /dev/${VNDEVICE}c ${MNT} - if [ -d ${FSPROTO} ]; then - (set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT}) - else - cp -p ${FSPROTO} ${MNT} - fi + ( set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT} ) - df -ki ${MNT} + df -ki /mnt - set `df -ki ${MNT} | tail -1` + set `df -ki /mnt | tail -1` umount ${MNT} + + fsck -p /dev/r${VNDEVICE}c < /dev/null + vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true + if ! echo $FSLABEL | grep -q minimum; then + echo ${FSSIZE} > fs-image.size + break + fi + echo ">>> Filesystem is ${FSSIZE} K, $4 left" echo ">>> ${FSINODE} bytes/inode, $7 left" - if [ "${do_size}" ]; then - echo ${FSSIZE} > ${FSIMG}.size - fi + echo ">>> `expr ${FSSIZE} \* 1024 / ${FSINODE}`" + echo ${FSSIZE} > fs-image.size break; done diff --git a/release/floppies/Makefile b/release/floppies/Makefile new file mode 100644 index 000000000000..01629be243ca --- /dev/null +++ b/release/floppies/Makefile @@ -0,0 +1,7 @@ +# $Id: Makefile,v 1.6 1997/07/16 12:24:13 julian Exp $ +# +SUBDIR= bin boot fixit + +.include <bsd.subdir.mk> + + diff --git a/release/floppies/bin/Makefile b/release/floppies/bin/Makefile new file mode 100644 index 000000000000..15f5ebff4c19 --- /dev/null +++ b/release/floppies/bin/Makefile @@ -0,0 +1,7 @@ +# $Id: Makefile,v 1.1 1997/07/16 12:24:18 julian Exp $ +# +SUBDIR= write_mfs_in_kernel dumpnlist + +.include <bsd.subdir.mk> + + diff --git a/release/floppies/bin/doFS.sh b/release/floppies/bin/doFS.sh new file mode 100644 index 000000000000..f0c2f2b189a3 --- /dev/null +++ b/release/floppies/bin/doFS.sh @@ -0,0 +1,71 @@ +: +#set -ex + +VNDEVICE=vn0 +export BLOCKSIZE=512 + +BOOTBLKDIR=$1 ; shift +MNT=$1 ; shift +FSSIZE=$1 ; shift +FSPROTO=$1 ; shift +FSINODE=$1 ; shift +FSLABEL=$1 ; shift + +deadlock=20 + +while true +do + rm -f fs-image + + if [ ! -b /dev/${VNDEVICE} -o ! -c /dev/r${VNDEVICE} ] ; then + ( cd /dev && sh MAKEDEV ${VNDEVICE} ) + fi + + umount /dev/${VNDEVICE} 2>/dev/null || true + + umount ${MNT} 2>/dev/null || true + + vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true + + dd of=fs-image if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null + # this suppresses the `invalid primary partition table: no magic' + awk 'BEGIN {printf "%c%c", 85, 170}' |\ + dd of=fs-image obs=1 seek=510 conv=notrunc 2>/dev/null + + vnconfig -s labels -c /dev/r${VNDEVICE} fs-image + + disklabel -Brw \ + -b ${BOOTBLKDIR}/boot1 \ + -s ${BOOTBLKDIR}/boot2 \ + /dev/r${VNDEVICE} minimum + + TPC=1 + CPD=1 + SPT=$(( 2 * $FSSIZE / 2)) + newfs -u ${SPT} -t ${TPC} -s $(( ${FSSIZE} * 2 )) -i ${FSINODE} -m 0 -o space /dev/r${VNDEVICE}c + + mount /dev/${VNDEVICE}c ${MNT} + + ( set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT} ) + + df -ki /mnt + + set `df -ki /mnt | tail -1` + + umount ${MNT} + + fsck -p /dev/r${VNDEVICE}c < /dev/null + + vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true + + if [ $FSLABEL != "minimum" ] ; then + echo ${FSSIZE} > fs-image.size + break + fi + + echo ">>> Filesystem is ${FSSIZE} K, $4 left" + echo ">>> ${FSINODE} bytes/inode, $7 left" + echo ">>> `expr ${FSSIZE} \* 1024 / ${FSINODE}`" + echo ${FSSIZE} > fs-image.size + break; +done diff --git a/release/floppies/bin/dumpnlist/Makefile b/release/floppies/bin/dumpnlist/Makefile new file mode 100644 index 000000000000..7cf75b881d33 --- /dev/null +++ b/release/floppies/bin/dumpnlist/Makefile @@ -0,0 +1,9 @@ +# $Id: Makefile,v 1.1 1997/07/22 02:50:58 julian Exp $ +# +PROG=dumpnlist +NOMAN=yes +.PATH: ${.CURDIR}/../../.. + +.include <bsd.prog.mk> + + diff --git a/release/floppies/bin/write_mfs_in_kernel/Makefile b/release/floppies/bin/write_mfs_in_kernel/Makefile new file mode 100644 index 000000000000..f77efb5aa990 --- /dev/null +++ b/release/floppies/bin/write_mfs_in_kernel/Makefile @@ -0,0 +1,9 @@ +# $Id: Makefile,v 1.1 1997/07/22 02:50:59 julian Exp $ +# +PROG=write_mfs_in_kernel +NOMAN=yes +.PATH: ${.CURDIR}/../../.. + +.include <bsd.prog.mk> + + diff --git a/release/floppies/boot/Makefile b/release/floppies/boot/Makefile new file mode 100644 index 000000000000..6200afe5b6fc --- /dev/null +++ b/release/floppies/boot/Makefile @@ -0,0 +1,4 @@ +# $Id$ +SUBDIR= crunch mfs floppy + +.include <bsd.subdir.mk> diff --git a/release/floppies/boot/crunch/Makefile b/release/floppies/boot/crunch/Makefile new file mode 100644 index 000000000000..90ee8bcdef60 --- /dev/null +++ b/release/floppies/boot/crunch/Makefile @@ -0,0 +1,15 @@ +OBJTOP=../../../.. +SYSINSTALL= ${OBJTOP}/release/sysinstall/sysinstall + +all: ${SYSINSTALL} + +${SYSINSTALL}: + cd ${.CURDIR}/../../../../release/sysinstall ; make + @if ! test -f ${SYSINSTALL} ; then \ + ${ECHO} "sysinstall not made" ; \ + ${ECHO} "Possibly need to 'make obj' for floppies and sysinstall" ; \ + exit 1; \ + fi + +.include "../../mk/makecrunch.mk" + diff --git a/release/floppies/boot/crunch/crunch.conf b/release/floppies/boot/crunch/crunch.conf new file mode 100644 index 000000000000..e1297385219a --- /dev/null +++ b/release/floppies/boot/crunch/crunch.conf @@ -0,0 +1,21 @@ +# $Id: crunch.conf,v 1.4 1997/07/22 02:51:00 julian Exp $ + +srcdirs /usr/src/bin +srcdirs /usr/src/release +srcdirs /usr/src/sbin/i386 +srcdirs /usr/src/sbin +srcdirs /usr/src/usr.bin +srcdirs /usr/src/gnu/usr.bin +srcdirs /usr/src/usr.sbin + +progs sh find +progs pwd ft ppp +progs sysinstall newfs gzip cpio bad144 fsck ifconfig route slattach +progs mount_nfs +ln gzip gunzip +ln gzip zcat +ln sh -sh + +libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lalias -lz +libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx + diff --git a/release/floppies/boot/floppy/Makefile b/release/floppies/boot/floppy/Makefile new file mode 100644 index 000000000000..b42c8203c448 --- /dev/null +++ b/release/floppies/boot/floppy/Makefile @@ -0,0 +1,112 @@ + +# $Id: Makefile,v 1.6 1997/07/22 02:51:00 julian Exp $ +# If this is a RELEASE, then set + +# Things which without too much trouble can be considered variables + +# mountpoint for filesystems. +TOP=${.CURDIR}/../../../.. +OBJTOP=${.OBJDIR}/../../../.. +FS_BIN=../../bin +SCRIPTDIR=${.CURDIR}/../../bin + +MNT= /mnt + +# other floppy parameters. +FSSIZE= 1440 +FSLABEL= fd1440 +FSINODE= 4300 + +NEWFSARGS= -c 80 -b 4096 -f 512 -i 4000 -m 0 -t 0 -u 0 \ + -o space -T ${FSLABEL} + + +# Upper size for the mfs in the boot.flp kernel. +# These are adjusted down to the minimum needed by doFS.sh. +BOOTMFSSIZE= 1200 +MFSINODE= 40000 + +# Things which will get you into trouble if you change them +MTREEFILES= ${.CURDIR}/../etc/mtree + + +# Complete the bootfd +# +# Now, just to get this picture down once and for all: +# +# +------------------------------------------------------------------------+ +# |boot.flp | +# +-----+-----+------------------------------------------------------------+ +# |boot1|boot2|floppy filesystem "bootfd" | +# +-----+-----+-+--------------------------------------------------------+-+ +# |kernel | +# +------------+-----------------------------------------+-+ +# |mfs filesystem "mfsfd" | +# +-----------------------------------------+ +# + +all: ${FS_BIN}/write_mfs_in_kernel + cd ${.CURDIR} && ${MAKE} doMFSKERN + + + +# +# --==## Compile a kernel by name ${KERNEL} ##==-- +# +# We don't erase the sys/compile/${KERNEL} directory, since somebody +# may want to reuse it (release.8 presently) +# +CONF=${TOP}/sys/i386/conf +COMPILE=${TOP}/sys/compile +doKERNEL: + cd ${CONF} && config ${KERNEL} + cd ${COMPILE}/${KERNEL} && \ + make depend && \ + make kernel && \ + +# +# --==## Put a filesystem into a BOOTMFS kernel ##==-- +# +LABELDIR=${OBJTOP}/sys/i386/boot/biosboot + +${COMPILE}/BOOTMFS/kernel: + rm -f ${COMPILE}/BOOTMFS/mfs_vfsops.o + cd ${CONF} && \ + sed -e '/SYSV/d' \ + -e '/pty/d' \ + -e '/PROCFS/d' \ + -e '/KTRACE/d' \ + -e 's/GENERIC/BOOTMFS/g' \ + -e '/maxusers/s/10/4/' < GENERIC > BOOTMFS && \ + echo "options MFS" >> BOOTMFS && \ + echo "options NFS_NOSERVER" >> BOOTMFS && \ + echo 'options "MAXCONS=4"' >> BOOTMFS && \ + echo "options USERCONFIG_BOOT" >> BOOTMFS + echo "options \"MFS_ROOT=`cat ../mfs/fs-image.size`\"" >> \ + ${CONF}/BOOTMFS + cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS + +doMFSKERN: ${COMPILE}/BOOTMFS/kernel + -mkdir tree + cp ${COMPILE}/BOOTMFS/kernel tree + ${FS_BIN}/write_mfs_in_kernel/write_mfs_in_kernel tree/kernel ../mfs/fs-image + kzip -v tree/kernel + mv tree/kernel.kz tree/kernel + cp ${COMPILE}/../i386/boot/biosboot/boot.help tree + touch tree/boot.config + @vnconfig /dev/vn0 ../mfs/fs-image + @mkdir -p /tmp/mnt_xx + @mount /dev/vn0 /tmp/mnt_xx + ${FS_BIN}/dumpnlist/dumpnlist ${COMPILE}/BOOTMFS/kernel > /tmp/mnt_xx/stand/symbols + @umount /tmp/mnt_xx + @vnconfig -u /dev/vn0 + @rmdir /tmp/mnt_xx + + sh -e ${SCRIPTDIR}/doFS.sh ${LABELDIR} ${MNT} ${FSSIZE} tree \ + 10000 ${FSLABEL} + +clean: + rm -rf tree fs-image fs-image.size + +.include <bsd.prog.mk> + diff --git a/release/floppies/boot/mfs/Makefile b/release/floppies/boot/mfs/Makefile new file mode 100644 index 000000000000..6a2032dd1459 --- /dev/null +++ b/release/floppies/boot/mfs/Makefile @@ -0,0 +1,25 @@ +### +# $Id: Makefile,v 1.5 1997/07/16 12:24:24 julian Exp $ +# +# What are we if we weren't told.. +CRUNCHDIRS= ../crunch +OBJTOP=../../../.. +TOP=${.CURDIR}/../../../.. +SCRIPTDIR=${.CURDIR}/../../bin +FSLABEL=minimum +ZIP=false + +# the directories you want on the fs +STANDLINKS= bin sbin +FS_DIRS= dev stand etc mnt mnt1 mnt2 tmp +FS_DEVICES= std wd0 wd1 wd2 sd0 sd1 sd2 cuaa0 cuaa1 cuaa2 cuaa3 \ + fd0 fd1 cd0 mcd0 scd0 matcd0 wcd0 st0 ft0 wt0 vty4 +# a subdir that contains a verbatim image to be copied to the fs +VERBATIM= ../verbatim + +.include "../../mk/crunch_fs.mk" +all: fs_image + +# tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \ +# tar xvf - -C ${RD}/mfsfd/stand + diff --git a/release/floppies/boot/verbatim/etc/services b/release/floppies/boot/verbatim/etc/services new file mode 100644 index 000000000000..bd1beff4d9a7 --- /dev/null +++ b/release/floppies/boot/verbatim/etc/services @@ -0,0 +1,4 @@ +nameserver 42/tcp name +ftp 21/tcp +domain 53/tcp nameserver +domain 53/udp nameserver diff --git a/release/floppies/fixit/Makefile b/release/floppies/fixit/Makefile new file mode 100644 index 000000000000..0e63f8144524 --- /dev/null +++ b/release/floppies/fixit/Makefile @@ -0,0 +1,6 @@ +### +# $Id$ +# +SUBDIR= crunch image + +.include <bsd.subdir.mk> diff --git a/release/floppies/fixit/crunch/Makefile b/release/floppies/fixit/crunch/Makefile new file mode 100644 index 000000000000..a1bf7cfb65d7 --- /dev/null +++ b/release/floppies/fixit/crunch/Makefile @@ -0,0 +1,3 @@ +OBJTOP=../../../.. +.include "../../mk/makecrunch.mk" + diff --git a/release/floppies/fixit/crunch/crunch.conf b/release/floppies/fixit/crunch/crunch.conf new file mode 100644 index 000000000000..a2365474b025 --- /dev/null +++ b/release/floppies/fixit/crunch/crunch.conf @@ -0,0 +1,43 @@ +# $Id: fixit_crunch.conf,v 1.14 1997/12/25 23:08:44 jkh Exp $ + +# first, we list the source dirs that our programs reside in. These are +# searched in order listed to find the dir containing each program. + +srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/usr.sbin +srcdirs /usr/src/gnu/usr.bin /usr/src/usr.bin/vi +srcdirs /usr/src/sbin/i386 + +# second, we list all the programs we want to include in our crunched binary. +# The order doesn't matter. Any program that needs hard links to it gets an +# `ln' directive. + +# /bin stuff + +progs cat chmod chroot cp date dd df echo ed expr hostname kill ln ls mkdir +progs mt mv pwd rcp rm rmdir sleep stty sync test + +ln test [ + +# /sbin stuff + +progs badsect chown clri disklabel dump dmesg fdisk ft +progs mknod mount newfs ping reboot restore scsi swapon umount + +progs mount_msdos mount_cd9660 mount_nfs + +ln dump rdump +ln restore rrestore +ln newfs mount_mfs +ln chown chgrp + +# /usr/bin stuff + +progs ftp more rsh sed telnet rlogin vi find grep +ln vi view +ln vi ex + +# finally, we specify the libraries to link in with our binary + +libs -lcrypt -ltelnet -lutil -ll -lm +libs -lcurses -ltermcap -ledit -lgnuregex -lkvm -lscsi -lz + diff --git a/release/floppies/fixit/image/Makefile b/release/floppies/fixit/image/Makefile new file mode 100644 index 000000000000..571ecc5d3c0f --- /dev/null +++ b/release/floppies/fixit/image/Makefile @@ -0,0 +1,20 @@ +### +# $Id: Makefile,v 1.4 1997/07/16 12:24:27 julian Exp $ +# +# What are we if we weren't told.. +CRUNCH?= fixit +CRUNCHDIRS= ../crunch +TOP=${.CURDIR}/../../../.. +OBJTOP=${.OBJDIR}/../../../.. +SCRIPTDIR=${.CURDIR}/../../bin +#FSLABEL=minimum +FSINODE=2000 + + +# the directories you want on the fs +FS_DIRS= dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp +# a subdir that contains a verbatim image to be copied to the fs +VERBATIM= ../verbatim + +.include "../../mk/crunch_fs.mk" +all: fs_image diff --git a/release/floppies/fixit/verbatim/.profile b/release/floppies/fixit/verbatim/.profile new file mode 100644 index 000000000000..38bdf8b94fe1 --- /dev/null +++ b/release/floppies/fixit/verbatim/.profile @@ -0,0 +1,15 @@ +: +# $Id$ +PATH=/stand +BLOCKSIZE=K +PS1="Fixit# " + +echo '+---------------------------------------------------+' +echo '| You are now running from a FreeBSD "fixit" floppy |' +echo '+---------------------------------------------------+' +echo +echo 'Good Luck!' +echo + +export PATH BLOCKSIZE PS1 + diff --git a/release/floppies/mk/crunch_fs.mk b/release/floppies/mk/crunch_fs.mk new file mode 100644 index 000000000000..c6d51d19bf8e --- /dev/null +++ b/release/floppies/mk/crunch_fs.mk @@ -0,0 +1,108 @@ +### +# $Id: crunch_fs.mk,v 1.1 1997/07/16 12:24:29 julian Exp $ +# +# This is included to make a floppy that includes a crunch file +# +# Variables that control this mk include file. +# TOP specifies where the top of the FreeBSD source tree is.. (*) +# FS_DIRS directories to make on the fs (*) +# STANDLINKS added symlinks to /stand on the fs +# VERBATIM a directory that contains tree to be copied to the fs +# FSSIZE defaults to 1440 +# FSLABEL defaults to fd1440 +# FSINODE defaults to 4000 +# FS_DEVICES devices to make on the fs (using MAKEDEV) (default = all) +# ZIP decides if the installed cruch will also be gzip'd(def=true) +# (*) = Mandatory +### + +# If we weren't told, default to nothing +.if ! defined( TOP ) +# define TOP! +xxx +.endif + +# mountpoint for filesystems. +MNT= /mnt + +# other floppy parameters. +FSSIZE?= 1440 +FSLABEL?= fd1440 +FSINODE?= 2000 +FS_DEVICES?= all +ZIP?=true + +# Things which will get you into trouble if you change them +TREE= tree +LABELDIR= ${OBJTOP}/sys/i386/boot/biosboot + +clean: + rm -rf tree fs-image fs-image.size step[0-9] + +.include <bsd.prog.mk> + + +# +# --==## Create a filesystem image ##==-- +# + +fs_image: ${TREE} step2 step3 step4 fs-image + +${TREE}: ${.CURDIR}/Makefile + rm -rf ${TREE} + mkdir -p ${TREE} + cd ${TREE} && mkdir ${FS_DIRS} + cd ${TREE} ; for i in ${STANDLINKS} ; \ + do \ + ln -s /stand $${i} ; \ + done + +step2: ${.CURDIR}/${CRUNCHDIRS} ${.CURDIR}/Makefile +.if defined(CRUNCHDIRS) + @cd ${.CURDIR} && $(MAKE) installCRUNCH DIR=${TREE}/stand ZIP=${ZIP} +.endif + touch step2 + +step3: step2 +.if defined (FS_DEVICES) + ( cd tree/dev && \ + cp ${TOP}/etc/etc.i386/MAKEDEV . && sh MAKEDEV ${FS_DEVICES} ) +.endif + touch step3 + +step4: step3 +.if defined(VERBATIM) + A=`pwd`;cd ${.CURDIR}/${VERBATIM}; \ + find . \! \( -name CVS -and -prune \) -print |cpio -pdmuv $$A/tree +.endif + true || cp ${TOP}/etc/spwd.db tree/etc + touch step4 + +fs-image: step4 + sh -e ${SCRIPTDIR}/doFS.sh ${LABELDIR} ${MNT} ${FSSIZE} tree \ + ${FSINODE} ${FSLABEL} + cp fs-image.size ${.CURDIR} + + +.if defined(CRUNCHDIRS) +installCRUNCH: +.if !defined(DIR) + @echo "DIR undefined in installCRUNCH" && exit 1 +.endif +.if !defined(ZIP) + @echo "ZIP undefined in installCRUNCH" && exit 1 +.endif +.for CRUNCHDIR in ${CRUNCHDIRS} + if ${ZIP} ; then \ + gzip -9 < ${CRUNCHDIR}/crunch > ${DIR}/.crunch ; \ + else \ + ln -f ${CRUNCHDIR}/crunch ${DIR}/.crunch ; \ + fi + chmod 555 ${DIR}/.crunch + for i in `crunchgen -l ${.CURDIR}/${CRUNCHDIR}/crunch.conf` ; do \ + ln -f ${DIR}/.crunch ${DIR}/$$i ; \ + done + rm -f ${DIR}/.crunch +.endfor +.endif + diff --git a/release/floppies/mk/makecrunch.mk b/release/floppies/mk/makecrunch.mk new file mode 100644 index 000000000000..8f2d3e70afe1 --- /dev/null +++ b/release/floppies/mk/makecrunch.mk @@ -0,0 +1,25 @@ + + +SYSINSTALL= ${OBJTOP}/release/sysinstall/sysinstall + +NOCRYPT?= yes + +all: crunch + +crunch: + -crunchgen ${.CURDIR}/crunch.conf + ${MAKE} -f crunch.mk all NOCRYP=${NOCRYPT} \ + "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY" + +clean: + rm -f *.o *.stub *.lo *_stub.c *.mk \ + crunch.cache \ + crunch.mk \ + crunch.c \ + crunch \ + .tmp_* + +install: + @echo " No idea what to do to install yet" + +.include <bsd.prog.mk> diff --git a/release/scripts/info.sh b/release/info.sh index b1c8c5356ccf..b1c8c5356ccf 100644 --- a/release/scripts/info.sh +++ b/release/info.sh diff --git a/release/picobsd/Version b/release/picobsd/Version index c9e1c0cbd01a..b9153dca573b 100644 --- a/release/picobsd/Version +++ b/release/picobsd/Version @@ -1 +1 @@ -VER=0.43 +VER=0.42 diff --git a/release/picobsd/build/build b/release/picobsd/build/build index 58d347c94201..786ee283f35d 100755 --- a/release/picobsd/build/build +++ b/release/picobsd/build/build @@ -1,22 +1,26 @@ #!/bin/sh - # -# $Id: build,v 1.11 1999/01/14 23:14:45 abial Exp $ +# $Id: build,v 1.9 1998/09/22 15:40:00 abial Exp $ # # You can set the SRC variable which points to your source tree. It's # /usr/src by default (most people shouldn't change it). SRC=/usr/src + +# Set this if your crunchgen and kzip don't support ELF. +#OBJFORMAT=aout; export OBJFORMAT + # Default MFS sizes for different types of the floppy. Again, most people # shouldn't change them unless they know what they are doing. DIAL_DFLT_SIZE=1600 ROUTER_DFLT_SIZE=820 -NET_DFLT_SIZE=1700 -ISP_DFLT_SIZE=1700 +NET_DFLT_SIZE=2200 +ISP_DFLT_SIZE=2200 -# DEVFS is currently broken. Always set this. +# SET THIS if you're not using DEVFS # NO_DEVFS=yes diff --git a/release/picobsd/build/populate b/release/picobsd/build/populate index 06abaae29bb1..82f3646c1722 100755 --- a/release/picobsd/build/populate +++ b/release/picobsd/build/populate @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id: populate,v 1.7 1999/01/14 23:14:46 abial Exp $ +# $Id: populate,v 1.5 1998/09/19 21:44:42 abial Exp $ # . ../Version @@ -53,8 +53,8 @@ then cp help.a /mnt/help.a) elif [ "${TYPE}" != "router" ] then - #cp ../../build/kvm_kernel.db /mnt/var/db/kvm_kernel.db - #rm ../../build/kvm_kernel.db + cp ../../build/kvm_kernel.db /mnt/var/db/kvm_kernel.db + rm ../../build/kvm_kernel.db fi echo "-> Making and installing crunch1..." @@ -74,4 +74,12 @@ if [ ! -f ../tools/dumpnlist/dumpnlist ] then (cd ../tools/dumpnlist; make) fi +../tools/dumpnlist/dumpnlist ./kernel >/mnt/stand/symbols + +echo "-> Preparing kernel config list..." +if [ ! -f ../tinyware/kget/kget ] +then + (cd ../tinyware/kget; make) +fi +../tinyware/kget/kget ./kernel /mnt/stand/vanilla (echo "-> Fixing permissions"; cd /mnt; chown -R root *) diff --git a/release/picobsd/build/stage1 b/release/picobsd/build/stage1 index c4159eb0dfea..9846dd0ee22b 100755 --- a/release/picobsd/build/stage1 +++ b/release/picobsd/build/stage1 @@ -1,7 +1,7 @@ #! /bin/sh - # -# $Id: stage1,v 1.6 1999/01/14 23:14:46 abial Exp $ +# $Id: stage1,v 1.3 1998/09/11 13:14:25 abial Exp $ # set -e @@ -13,14 +13,14 @@ fi echo "-> Preparing kernel..." cp -p ${SRC}/sys/compile/PICOBSD${suffix}.${SIZE}/kernel kernel -#if [ "${TYPE}" != "dial" ] -#then -# echo "-> Preparing kvm database..." -# mv /var/db/kvm_kernel.db /var/db/old.db -# kvm_mkdb kernel -# cp /var/db/kvm_kernel.db kvm_kernel.db -# mv /var/db/old.db /var/db/kvm_kernel.db -#fi +if [ "${TYPE}" != "dial" ] +then + echo "-> Preparing kvm database..." + mv /var/db/kvm_kernel.db /var/db/old.db + kvm_mkdb kernel + cp /var/db/kvm_kernel.db kvm_kernel.db + mv /var/db/old.db /var/db/kvm_kernel.db +fi echo "-> Preparing MFS filesystem..." umount /dev/vn0 2> /dev/null || true @@ -50,12 +50,7 @@ if [ "${TYPE}" != "router" ] then disklabel -rw vn0 auto else - if [ ${SIZE} -lt 1024 ] - then - disklabel -rw /dev/rvn0 fd${SIZE} - else - disklabel -rw vn0 auto - fi + disklabel -rw /dev/rvn0 fd820 fi if [ "X$?" != "X0" ] then @@ -65,7 +60,7 @@ then fi # Default setting for other (custom) setups. -INODES=4096 +INODES=16000 # You can save some space on MFS if you don't want so many inodes... if [ "${TYPE}" = "dial" ] then diff --git a/release/picobsd/build/stage2 b/release/picobsd/build/stage2 index 9354aadb1e83..d5f70a7aa33f 100755 --- a/release/picobsd/build/stage2 +++ b/release/picobsd/build/stage2 @@ -1,7 +1,7 @@ #! /bin/sh - # -# $Id: stage2,v 1.2 1998/09/07 06:46:25 abial Exp $ +# $Id: stage2,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ # set -e @@ -21,7 +21,6 @@ if [ ! -f ../tools/write_mfs_in_kernel/wmik ]; then fi ../tools/write_mfs_in_kernel/wmik kernel fs.PICOBSD -strip kernel -strip --remove-section=.note --remove-section=.comment kernel -gzip -9 -n kernel +kzip -v kernel rm fs.PICOBSD +rm kernel diff --git a/release/picobsd/build/stage3 b/release/picobsd/build/stage3 index 34b729dc95fd..04b1db384f31 100755 --- a/release/picobsd/build/stage3 +++ b/release/picobsd/build/stage3 @@ -1,14 +1,14 @@ #! /bin/sh - # -# $Id: stage3,v 1.3 1998/09/26 17:27:18 abial Exp $ +# $Id: stage3,v 1.2 1998/08/31 13:35:06 abial Exp $ # set -e . ../Version -if [ ! -f kernel.gz ]; then - echo "-> ERROR: you must build kernel.gz first" +if [ ! -f kernel.kz ]; then + echo "-> ERROR: you must build kernel.kz first" exit 1 fi @@ -86,23 +86,15 @@ then fi cd ${pwd} -cp kernel.gz /mnt/kernel.gz +cp kernel.kz /mnt/kernel if [ "X$?" != "X0" ] then - echo "-> ERROR while transferring kernel.gz to /mnt..." + echo "-> ERROR while transferring kernel.kz to /mnt..." echo "-> Aborting $0" exit 10 fi -mkdir /mnt/boot -cp /boot/loader . -kzip -v loader -mv loader.kz /mnt/boot/loader -rm -f loader loader.o -echo "/boot/loader" >/mnt/boot.config -echo "load /kernel">/mnt/boot/loader.rc -echo "load -t userconfig_script /kernel.config">>/mnt/boot/loader.rc (echo "-> Fixing permissions"; cd /mnt; chown -R root *) -rm kernel.gz +rm kernel.kz df -ik /mnt diff --git a/release/picobsd/dial/conf/Makefile b/release/picobsd/dial/conf/Makefile index 4be01f8f414e..7fd4743f647f 100644 --- a/release/picobsd/dial/conf/Makefile +++ b/release/picobsd/dial/conf/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1998/10/15 21:39:58 abial Exp $ +# $Id: Makefile,v 1.2 1998/09/29 12:12:31 abial Exp $ # SRC?=/usr/src @@ -17,5 +17,5 @@ $(KERNFILE): PICOBSD (cd ${CONF}; \ config ${CONFFILE}; \ cd ${COMPILE}; \ - make depend all) + make depend && make) diff --git a/release/picobsd/dial/conf/PICOBSD b/release/picobsd/dial/conf/PICOBSD index 4be43f626c36..5886e30bfe1a 100644 --- a/release/picobsd/dial/conf/PICOBSD +++ b/release/picobsd/dial/conf/PICOBSD @@ -1,5 +1,5 @@ # -# $Id: PICOBSD,v 1.4 1998/11/14 20:10:15 abial Exp $ +# $Id: PICOBSD,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ # machine "i386" cpu "I386_CPU" @@ -12,7 +12,6 @@ maxusers 3 options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem -options FFS_ROOT options MFS options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem @@ -20,7 +19,7 @@ options "EXT2FS" options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor -options INTRO_USERCONFIG #imply -c and parse info area +options USERCONFIG_BOOT #imply -c and parse info area #options DEVFS options PCI_QUIET options NO_SWAPPING @@ -31,16 +30,16 @@ config kernel root on fd0 controller isa0 controller pci0 -controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 +controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr disk fd0 at fdc0 drive 0 disk fd1 at fdc0 drive 1 options "CMD640" # work around CMD640 chip deficiency -controller wdc0 at isa? port "IO_WD1" bio irq 14 +controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1 -controller wdc1 at isa? port "IO_WD2" bio irq 15 +controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd2 at wdc1 drive 0 disk wd3 at wdc1 drive 1 @@ -49,20 +48,16 @@ options ATAPI_STATIC #Don't do it as an LKM device wcd0 #IDE CD-ROM # syscons is the default console driver, resembling an SCO console +device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr -controller atkbdc0 at isa? port IO_KBD tty -device atkbd0 at isa? tty irq 1 -device psm0 at isa? tty irq 12 -device vga0 at isa? port ? conflicts -device sc0 at isa? tty +device npx0 at isa? port "IO_NPX" irq 13 vector npxintr -device npx0 at isa? port IO_NPX irq 13 - -device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 -device sio1 at isa? port "IO_COM2" tty irq 3 -device sio2 at isa? disable port "IO_COM3" tty irq 5 -device sio3 at isa? disable port "IO_COM4" tty irq 9 +device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 vector siointr +device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr +device sio2 at isa? disable port "IO_COM3" tty irq 5 vector siointr +device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr +device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr # Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. @@ -72,11 +67,16 @@ device de0 #device de1 device fxp0 -device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 -device ep0 at isa? port 0x300 net irq 10 -device ie0 at isa? port 0x300 net irq 5 iomem 0xd0000 -device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 -device lnc0 at isa? port 0x300 net irq 10 +device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr +#device ed1 at isa? port 0x300 net irq 5 iomem 0xd0000 vector edintr +device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr +device ep0 at isa? port 0x300 net irq 10 vector epintr +#device ex0 at isa? port? net irq? vector exintr +#device fe0 at isa? port 0x300 net irq ? vector feintr +device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr +device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr +#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr +#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr pseudo-device loop pseudo-device ether diff --git a/release/picobsd/dial/crunch1/Makefile b/release/picobsd/dial/crunch1/Makefile index c47bae8d5327..93b6d78b373e 100644 --- a/release/picobsd/dial/crunch1/Makefile +++ b/release/picobsd/dial/crunch1/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.2 1998/10/15 21:39:59 abial Exp $ +# $Id: Makefile,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ # NOCRYPT?= yes SRC?=/usr/src @@ -15,7 +15,7 @@ crunch: fi; @cat crunch.conf|sed -e "s@/usr/src@${SRC}@" >>crunch1.conf @crunchgen ${.CURDIR}/crunch1.conf - @${MAKE} -f crunch1.mk all -DRELEASE_CRUNCH NOCRYPT=${NOCRYPT} \ + @${MAKE} -f crunch1.mk all NOCRYPT=${NOCRYPT} \ "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY" #2>&1 >/dev/null clean: diff --git a/release/picobsd/dial/crunch1/crunch.conf b/release/picobsd/dial/crunch1/crunch.conf index 3558ddd0a761..f516b752531c 100644 --- a/release/picobsd/dial/crunch1/crunch.conf +++ b/release/picobsd/dial/crunch1/crunch.conf @@ -1,4 +1,4 @@ -# $Id: crunch.conf,v 1.4 1998/11/15 23:30:26 abial Exp $ +# $Id: crunch.conf,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ # # NOTE1: the string "/usr/src" will be automatically replaced with the # correct value set in 'build' script - you should change it there @@ -11,9 +11,9 @@ # * You have to configure and build the port # * Then you have to make a symlink: # cd /usr/ports/security/ssh/work/ -# ln -s ssh-1.2.26 ssh +# ln -s ssh-1.2.21 ssh # * Then you have to add OBJS=${SSH_OBJS} in the Makefile (somewhere around -# line 327) +# line 290) srcdirs /usr/ports/security/ssh/work/ # ash, kget etc... @@ -33,7 +33,7 @@ ln gzip gunzip ln gzip zcat ln gzip gzcat -progs ash test kget echo pwd msg stty +progs ash test kget echo pwd progs hostname cat kill sps vm ns progs chmod chown help progs cp df fsck ping mv ln traceroute @@ -45,7 +45,6 @@ ln ash sh ln ash -sh ln test [ ln sps ps -ln msg dmesg ln ns netstat ln mount_msdos msdos ln mount_cd9660 cd9660 diff --git a/release/picobsd/dial/floppy.tree/etc/login.conf b/release/picobsd/dial/floppy.tree/etc/login.conf index 9361a33c2f9e..97ea6e8b700f 100644 --- a/release/picobsd/dial/floppy.tree/etc/login.conf +++ b/release/picobsd/dial/floppy.tree/etc/login.conf @@ -1,7 +1,7 @@ # This file controls resource limits, accounting limits and # default user environment settings. # -# $Id: login.conf,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: login.conf,v 1.1.1.1 1998/07/14 07:30:41 abial Exp $ # @@ -45,7 +45,7 @@ standard:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,EDITOR=/usr/bin/ee:\ :path=~/bin /bin /usr/bin:\ - :nologin=/var/run/nologin:\ + :nologin=/etc/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :stacksize=2M:\ diff --git a/release/picobsd/dial/floppy.tree/etc/rc.network b/release/picobsd/dial/floppy.tree/etc/rc.network new file mode 100644 index 000000000000..690f32a5387f --- /dev/null +++ b/release/picobsd/dial/floppy.tree/etc/rc.network @@ -0,0 +1,70 @@ +#!/bin/sh - +# $Id: rc.network.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +network_pass1() { + echo -n 'Wstepna konfiguracja sieci:' + # Set the host name if it is not already set + if [ -z "`hostname -s`" ] ; then + hostname $hostname + echo ' hostname' + fi + # Set up all the network interfaces, calling startup scripts if needed + for ifn in ${network_interfaces}; do + if [ -e /etc/start_if.${ifn} ]; then + . /etc/start_if.${ifn} + fi + # Do the primary ifconfig if specified + eval ifconfig_args=\$ifconfig_${ifn} + if [ -n "${ifconfig_args}" ] ; then + ifconfig ${ifn} ${ifconfig_args} + fi + # Check to see if aliases need to be added + alias=0 + while : + do + eval ifconfig_args=\$ifconfig_${ifn}_alias${alias} + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} alias + alias=`expr ${alias} + 1` + else + break; + fi + done + ifconfig ${ifn} + done + # Configure routing + if [ "x$defaultrouter" != "xNO" ] ; then + static_routes="default ${static_routes}" + route_default="default ${defaultrouter}" + fi + # Set up any static routes. This should be done before router discovery. + if [ "x${static_routes}" != "x" ]; then + for i in ${static_routes}; do + eval route_args=\$route_${i} + route add ${route_args} + done + fi + echo -n 'Dodatkowe opcje routingu:' + if [ -n "$tcp_extensions" -a "x$tcp_extensions" != "xYES" ] ; then + echo -n ' tcp_extensions=NO' + sysctl -w net.inet.tcp.rfc1323=0 >/dev/null 2>&1 + sysctl -w net.inet.tcp.rfc1644=0 >/dev/null 2>&1 + fi + if [ "X$gateway_enable" = X"YES" ]; then + echo -n ' IP_gateway=YES' + sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1 + fi + if [ "X$arpproxy_all" = X"YES" ]; then + echo -n ' wlaczam ARP_PROXY_ALL: ' + sysctl -w net.link.ether.inet.proxyall=1 2>&1 + fi + echo '.' + network_pass1_done=YES # Let future generations know we made it. +} + +network_pass2() { + network_pass2_done=YES +} + +network_pass3() { + network_pass3_done=YES +} diff --git a/release/picobsd/dial/floppy.tree/etc/resolv.conf b/release/picobsd/dial/floppy.tree/etc/resolv.conf new file mode 100644 index 000000000000..d273c3bcec6f --- /dev/null +++ b/release/picobsd/dial/floppy.tree/etc/resolv.conf @@ -0,0 +1,3 @@ +# $Id: resolv.conf.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +domain mydomain.org.pl +nameserver 194.204.159.1 diff --git a/release/picobsd/dial/floppy.tree/etc/services b/release/picobsd/dial/floppy.tree/etc/services index eec499fafec7..817b6d315272 100644 --- a/release/picobsd/dial/floppy.tree/etc/services +++ b/release/picobsd/dial/floppy.tree/etc/services @@ -91,4 +91,3 @@ uucp 540/tcp uucp 540/udp uucp-rlogin 541/tcp uucp-rlogin 541/udp -natd 8668/divert # Network Address Translation diff --git a/release/picobsd/dial/lang/LICENCE.ssh b/release/picobsd/dial/lang/LICENCE.ssh index d5a0361e20f2..eb9023627723 100644 --- a/release/picobsd/dial/lang/LICENCE.ssh +++ b/release/picobsd/dial/lang/LICENCE.ssh @@ -3,6 +3,6 @@ http://www.cs.hut.fi/ssh for details. In short, it permits non-commercial use only. Your usage may be further restricted by applicable local laws on using strong encryption methods. -<abial@freebsd.org> +<abial@nask.pl> -$Id: LICENCE.ssh,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +$Id: LICENCE.ssh,v 1.1.1.1 1998/07/14 07:30:41 abial Exp $ diff --git a/release/picobsd/dial/lang/README.en b/release/picobsd/dial/lang/README.en index 299c9406fb40..4b2ffad4fbd1 100644 --- a/release/picobsd/dial/lang/README.en +++ b/release/picobsd/dial/lang/README.en @@ -101,6 +101,6 @@ I'll be glad hearing from you about your experiences with PicoBSD. Thanks. Have fun! -Andrzej Bialecki <abial@freebsd.org> +Andrzej Bialecki <abial@nask.pl> -$Id: README.en,v 1.3 1998/10/15 21:40:00 abial Exp $ +$Id: README.en,v 1.2 1998/09/26 17:27:19 abial Exp $ diff --git a/release/picobsd/dial/lang/README.pl b/release/picobsd/dial/lang/README.pl index bc31940c79b6..974ac81f81f7 100644 --- a/release/picobsd/dial/lang/README.pl +++ b/release/picobsd/dial/lang/README.pl @@ -102,6 +102,6 @@ Mo¿na tam znale¼æ trochê wiêcej informacji, oraz poprawki i nowe wersje. Mi³ej zabawy! -Andrzej Bia³ecki <abial@freebsd.org> +Andrzej Bia³ecki <abial@nask.pl> -$Id: README.pl,v 1.3 1998/10/15 21:40:00 abial Exp $ +$Id: README.pl,v 1.2 1998/09/26 17:27:19 abial Exp $ diff --git a/release/picobsd/dial/lang/boot.help.en b/release/picobsd/dial/lang/boot.help.en index 382222b61887..ecc3fa4653dd 100644 --- a/release/picobsd/dial/lang/boot.help.en +++ b/release/picobsd/dial/lang/boot.help.en @@ -18,6 +18,6 @@ I hope you'll enjoy it. - abial@freebsd.org + abial@nask.pl +--------------------------------------------------------------------------+ diff --git a/release/picobsd/dial/lang/boot.help.pl b/release/picobsd/dial/lang/boot.help.pl index c52eb1191496..0edf7ceeda59 100644 --- a/release/picobsd/dial/lang/boot.help.pl +++ b/release/picobsd/dial/lang/boot.help.pl @@ -18,6 +18,6 @@ Milego uzywania. - abial@freebsd.org + abial@nask.pl +----------------------------------------------------------------------+ diff --git a/release/picobsd/dial/lang/dialup.en b/release/picobsd/dial/lang/dialup.en index 23b5d8ee8d98..918c6703ce96 100755 --- a/release/picobsd/dial/lang/dialup.en +++ b/release/picobsd/dial/lang/dialup.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: dialup.en,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: dialup.en,v 1.3 1998/08/07 19:29:57 abial Exp $ set_resolv() { echo "[H[J" echo "[1m Default Domain Name[m" @@ -163,19 +163,7 @@ do echo "floppy!!! If you don't like it... well, you must dial in manually." echo "In that case abort this script (Ctrl-C). Otherwise, continue.[37m" echo "" - stty -echo read -p "Please enter your password: " pass - echo "" - read -p "Enter again your password: " pass1 - stty echo - echo "" - if [ "X${pass}" != "X${pass1}" ] - then - echo "Passwords didn't match! Press Enter to continue..." - read junk - pass="" - set_password - fi done } @@ -190,21 +178,22 @@ do echo "1) [32m......login:[37m ${user}" echo " [32m...password:[37m ********" echo " [36m(terminal server starts PPP here)[37m" + echo "" echo "2) [32m......login:[37m ${user}" echo " [32m...password:[37m ********" echo " [32m...protocol:[37m ppp" echo " [36m(terminal server starts PPP here)[37m" + echo "" echo "3) [32m......username:[37m ${user}" echo " [32m......password:[37m ********" echo " [36m(terminal server starts PPP here)[37m" + echo "" echo "4) [32m......username:[37m ${user}" echo " [32m......password:[37m ********" echo " [32mportX/..xxx...:[37m ppp" echo " [36m(terminal server starts PPP here)[37m" - echo "5) [32mUse CHAP to log in.[37m" - echo "6) [32mUse PAP to log in.[37m" echo "" - read -p "Choose 1,2,3,4,5 or 6: " chat + read -p "Choose 1,2,3 or 4: " chat case ${chat} in 1) chat1="TIMEOUT 10 ogin:--ogin: ${user} word: \\\\P" @@ -222,12 +211,6 @@ do chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P port ppp" chat2="username/password/port" ;; - 5) chat1="-" - chat2="CHAP" - ;; - 6) chat1="-" - chat2="PAP" - ;; *) echo "Bad value! Please choose 1,2,3 or 4." echo "" unset chat @@ -338,12 +321,7 @@ echo " set speed ${speed}" >>/etc/ppp/ppp.conf echo " set phone ${phone}" >>/etc/ppp/ppp.conf echo " set authkey ${pass}" >>/etc/ppp/ppp.conf echo " set timeout ${timo}" >>/etc/ppp/ppp.conf -if [ "X${chat1}" = "-" ] -then - echo " set authname ${user}" >>/etc/ppp/ppp.conf -else - echo " set login \"${chat1}\"" >>/etc/ppp/ppp.conf -fi +echo " set login \"${chat1}\"" >>/etc/ppp/ppp.conf echo " set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0" >>/etc/ppp/ppp.conf echo " Done." @@ -366,30 +344,12 @@ echo "" echo "Now, if you're sure that your /etc/ppp/ppp.conf file is ok (which is" echo -n "probable :-) would you like to start the dialup connection now? (y/n) " read ans -opts="" while [ "X${ans}" = "Xy" ] do echo "[H[J" - if [ "X${opts}" = "X" ] - then - echo "We'll use the following arguments to 'ppp':" - echo "" - echo " ppp -background dialup" - echo " - echo -n "Would you like to change them? (y/n) " - read oo - if [ "X${oo}" = "Xy" ] - then - read -p "Enter ppp arguments here: " opts - else - opts="-background dialup" - fi - echo "" - echo "" - fi echo "Starting dialup connection. Wait until you see a 'PPP Enabled' message..." echo "" - ppp ${opts} + ppp -background dialup if [ "X$?" != "X0" ] then echo "" diff --git a/release/picobsd/dial/lang/dialup.pl b/release/picobsd/dial/lang/dialup.pl index 2d65e8441d93..3d7dcf508570 100755 --- a/release/picobsd/dial/lang/dialup.pl +++ b/release/picobsd/dial/lang/dialup.pl @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: dialup.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: dialup.pl,v 1.4 1998/08/10 19:07:52 abial Exp $ set_resolv() { echo "[H[J" echo "[1m Domy¶lna Nazwa Domeny[m" @@ -162,19 +162,7 @@ do echo "rêcznie, tak jak dotychczas. W tym przypadku przerwij ten skrypt" echo "przez Ctrl-C.[37m" echo "" - stty -echo read -p "Podaj swoje has³o: " pass - echo "" - read -p "Podaj powtórnie swoje has³o: " pass1 - stty echo - echo "" - if [ "X${pass}" != "X${pass1}" ] - then - echo "Has³a nie pasuj± do siebie. Naci¶nij Enter..." - pass="" - read junk - set_pass - fi done } @@ -200,11 +188,7 @@ do echo " [32mportX/..xxx...:[37m ppp" echo " [36m(tutaj startuje PPP)[37m" echo "" - echo "4) [32mZastosuj CHAP[37m" - echo "" - echo "5) [32mZastosuj PAP[37m" - echo "" - read -p "Wybierz 1,2,3,4 lub 5: " chat + read -p "Wybierz 1,2 lub 3: " chat case ${chat} in 1) chat1="TIMEOUT 10 ogin:--ogin: ${user} word: \\\\P" @@ -218,12 +202,6 @@ do chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P port ppp" chat2="NASK - username/password/port" ;; - 4) chat1="-" - chat2="CHAP" - ;; - 5) chat1="-" - chat2="PAP" - ;; *) echo "Z³a warto¶æ! Musisz wybraæ 1,2 lub 3." echo "" unset chat @@ -337,12 +315,7 @@ echo " set line /dev/cuaa${dev}" >>/etc/ppp/ppp.conf echo " set phone ${phone}" >>/etc/ppp/ppp.conf echo " set authkey ${pass}" >>/etc/ppp/ppp.conf echo " set timeout ${timo}" >>/etc/ppp/ppp.conf -if [ "X${chat1}" = "-" ] -then - echo "set authname ${user}" >>/etc/ppp/ppp.conf -else - echo " set login \"${chat1}\"" >>/etc/ppp/ppp.conf -fi +echo " set login \"${chat1}\"" >>/etc/ppp/ppp.conf echo " set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0" >>/etc/ppp/ppp.conf echo " Zrobione." @@ -366,27 +339,9 @@ echo "" echo "Ok. Je¶li Twój plik /etc/ppp/ppp.conf jest prawid³owy (co jest dosyæ" echo -n "prawdopodobne :-), czy chcesz teraz uruchomiæ po³±czenie dialup? (t/n) " read ans -opts="" while [ "X${ans}" = "Xt" ] do echo "[H[J" - if [ "X${opts}" = "X" ] - then - echo "Wystartujemy 'ppp' z poni¿szymi opcjami:" - echo "" - echo " ppp -background dialup" - echo " - echo -n "Czy chcesz je zmienic?? (t/n) " - read oo - if [ "X${oo}" = "Xt" ] - then - read -p "Podaj opcje ppp: " opts - else - opts="-background dialup" - fi - echo "" - echo "" - fi echo "Uruchamiam po³±czenie dialup. Proszê czekaæ dopóki nie pojawi siê" echo "komunikat 'PPP Enabled'..." echo "" diff --git a/release/picobsd/dial/lang/rc.en b/release/picobsd/dial/lang/rc.en index 8a0e806c1e02..c64b446e9e3a 100644 --- a/release/picobsd/dial/lang/rc.en +++ b/release/picobsd/dial/lang/rc.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc.en,v 1.2 1998/09/26 17:27:19 abial Exp $ +# $Id: rc.en,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ ############################################ ### Special setup for one floppy PICOBSD ### ### THIS IS NOT THE NORMAL /etc/rc !!!!! ### @@ -97,7 +97,7 @@ echo '| BSD license (except for SSH). For more |' echo '| details see http://www.freebsd.org/~picobsd, |' echo '| or contact the author. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' exit 0 diff --git a/release/picobsd/dial/lang/rc.pl b/release/picobsd/dial/lang/rc.pl index 61dfd2f76b33..8042a1c68243 100644 --- a/release/picobsd/dial/lang/rc.pl +++ b/release/picobsd/dial/lang/rc.pl @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id: rc.pl,v 1.2 1998/09/26 17:27:19 abial Exp $ +# $Id: rc.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ # ############################################ ### Special setup for one floppy PICOBSD ### @@ -101,7 +101,7 @@ echo '| SSH). Po wiecej szczegolow zajrzyj na |' echo '| http://www.freebsd.org/~picobsd, lub |' echo '| skontaktuj sie z autorem. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' exit 0 diff --git a/release/picobsd/dial/lang/update.en b/release/picobsd/dial/lang/update.en index 8fff72917e4c..006e0ed4b292 100755 --- a/release/picobsd/dial/lang/update.en +++ b/release/picobsd/dial/lang/update.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: update.en,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: update.en,v 1.4 1998/08/10 19:07:53 abial Exp $ pwd=`pwd` echo -n "Updating /etc contents on startup floppy... " mount /dev/fd0a /start_floppy @@ -14,7 +14,7 @@ cd /etc cp -Rp . /start_floppy/etc/ echo " Done." echo -n "Updating kernel parameters... " -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a cd ${pwd} echo " Done." diff --git a/release/picobsd/dial/lang/update.pl b/release/picobsd/dial/lang/update.pl index d462b9f84089..97105d229aaf 100755 --- a/release/picobsd/dial/lang/update.pl +++ b/release/picobsd/dial/lang/update.pl @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: update.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: update.pl,v 1.4 1998/08/10 19:07:53 abial Exp $ pwd=`pwd` echo -n "Uaktualniam katalog /etc na dyskietce... " mount /dev/fd0a /start_floppy @@ -14,7 +14,7 @@ cd /etc cp -Rp . /start_floppy/etc/ echo " Zrobione." echo -n "Uaktualniam parametry j±dra..." -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a cd /etc cd ${pwd} diff --git a/release/picobsd/dial/mfs.tree/Makefile b/release/picobsd/dial/mfs.tree/Makefile index 44f3b75de1b9..9c9ca2e361a0 100644 --- a/release/picobsd/dial/mfs.tree/Makefile +++ b/release/picobsd/dial/mfs.tree/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.4 1998/09/22 15:41:05 abial Exp $ +# $Id: Makefile,v 1.3 1998/09/20 00:46:24 abial Exp $ # DESTDIR?=/mnt @@ -63,7 +63,6 @@ links: tree devnodes: tree (cd ${DESTDIR}/dev; \ /dev/MAKEDEV std sysmouse tun2 cuaa0 cuaa1 cuaa2 vty10 fd0 pty0; \ - /dev/MAKEDEV psm0; \ /dev/MAKEDEV wd0s1h wd0s2 wd0s3 wd0s4 wd1s1h wd1s2 wd1s3 wd1s4) clean: diff --git a/release/picobsd/doc/src/Makefile b/release/picobsd/doc/src/Makefile index cbd065c8c21e..6478cbfdc518 100644 --- a/release/picobsd/doc/src/Makefile +++ b/release/picobsd/doc/src/Makefile @@ -1,17 +1,14 @@ # -# $Id: Makefile,v 1.1 1998/09/26 17:23:01 abial Exp $ +# $Id$ # .include "../../Version" -DATE!="date" - DOCS= bugs.html faq.html hardware.html how2build.html \ - intrinsics.html intro.html TODO.html + intrinsics.html intro.html all: ../../Version - for i in ${DOCS}; \ + for i in `ls *.html`; \ do \ - cat $${i}|sed -e 's/@VER@/${VER}/g' \ - -e 's/@DATE@/${DATE}/g' >../$${i}; \ + cat $${i}|sed -e 's/@VER@/${VER}/g' >../$${i}; \ done diff --git a/release/picobsd/doc/src/TODO.html b/release/picobsd/doc/src/TODO.html deleted file mode 100644 index 8192f02a0cb2..000000000000 --- a/release/picobsd/doc/src/TODO.html +++ /dev/null @@ -1,154 +0,0 @@ -<html> -<! $Id: TODO.html,v 1.2 1998/12/22 21:40:56 abial Exp $ > -<body> -<h1><center> Small FreeBSD ToDo List. -</center></h1> - -<p>This list represents various tasks which are being collected from -discussions on freebsd-small, and which represent the general -direction and needs of using FreeBSD for small installations.</p> - -<p>The tasks are arranged by how important they are to the overall -idea and goals of the project. If you are interested in doing some -part of the work, please contact the coordinator of PicoBSD project -(<A HREF="mailto:abial@freebsd.org">Andrzej Bialecki</a>).</p> - -<hr> - -<h2>Short term tasks:</h2> - -<ul> -<li> -Eliminate need for patching FreeBSD source tree - either by -keeping our own version of Makefiles, or by adding (many) knobs to -the standard ones. (NOTE: this will be resolved in v. 0.44). -</li> -<li> -Provide options for building separate kernel and FS images of -various sizes. -</li> -<li> -Add some "wizards" to help people new to Unix configure "dialup" -and "net" for most common tasks. -</li> -<li> -Replace most of currently used scripts with Makefiles. -(NOTE: this will be resolved in v. 0.44). -</li> -<li> -Add simple authentication module to oinit. -</li> -<li> -Fix kzip to be able to produce kzip'ped ELF kernels. -(NOTE: currently we work around it by using kzipped /boot/loader). -</li> -<li> -Write better documentation. This is very important - the most -common configurations should be described in detail, step by step. -</li> -<li> -Collect our experiences with using FreeBSD with SBCs, flash disks -etc, and write a short practical guide to embedding FreeBSD. -</li> -</ul> -<hr> - -<h2>Medium term tasks:</h2> - -<ul> -<li> -Change the building process so that it allows to easily choose -(with finer granularity) needed components of the target system. -</li> -<li> -Make use of recently added KLD to allow for easy adding and -removing drivers when running stripped kernels. -</li> -<li> -Investigate pros and cons of using the new boot/loader together -with ELF kernels. -(NOTE for v.0.43: it was simply mandatory to use it :-) -</li> -<li> -Change currently used crunched binaries to something more flexible -- as it is now, even small change in set of programs requires -rebuilding of the whole image. -</li> -<li> -Provide options for building systems which operate from -(basically) read-only media, such as CD-ROM or flash disk. Such -system doesn't need to keep all root FS in memory, but only small -fraction of it for /tmp and /var. -</li> -<li> -Integrate DHCP into "dialup" version. -</li> -<li> -Rework oinit to be more modular, and write additional modules -(remote access, SNMP (?), authentication, shell(), configuration -editor). -</li> -<li> -Provide a remote access (telnetd/login/shell) module for the -"router" version. Make the shell() module more predictable and -compatible with common sense :-) -</li> -<li> -At last prepare usable version of ISP floppy, and test it (some -basic tests with server PPP). This involves among others a version -of PPP which supports Radius. -</li> -</ul> - -<hr> - -<h2>Long term tasks:</h2> - -<ul> -<li> -Either port ROMfs from Linux, or write our own replacement for it. -</li> -<li> -Describe the configuration tasks and parameters of PicoBSD systems -in terms of hierarchy of categories - this is needed to start -working on the next two points. -</li> -<li> -Design a flexible and efficient scheme (not necessarily compatible -with currently used set of shell scripts) for storing and editing -system configuration in some form of hierarchical DB. -</li> -<li> -Design a user interface for configuration of system parameters -and services, meeting the following requirements: hierachical, -logical, helpful (hinting), providing ability to automate certain -tasks. -</li> -<li> -Reduce memory footprint. -</li> -<li> -Add other language versions. -</li> -<li> -Throw some more effort in porting the newer version of W (graphical -UI), so that it uses VESA color modes. IMHO it's worth it. -</li> -</ul> - -<hr> - -<h2>Other half-baked ideas...</h2> - -<p>(fill this in :-)</p> - -<hr> -Last modified: -@DATE@ - - -<p><i>Send your comments, ideas, and most importantly the code itself, to -<A HREF="mailto:abial@freebsd.org">abial@freebsd.org</a>.</i></p> - -</body> -</html> diff --git a/release/picobsd/doc/src/UCI.html b/release/picobsd/doc/src/UCI.html deleted file mode 100644 index ae74b8489f82..000000000000 --- a/release/picobsd/doc/src/UCI.html +++ /dev/null @@ -1,960 +0,0 @@ -<html> -<! $Id: UCI.html,v 1.2 1998/11/25 11:08:54 abial Exp $ > -<body> -<h1><center> Unified Configuration Interface Project -</center></h1> - -<p>The idea behind this project is to completely replace currently -used configuration approach, which is based on several shell scripts, and to -provide ability to change system behaviour basing on set of well-defined -parameters' hierarchy. One of the goals is also to provide an object -oriented model of the OS management and structure, instead of currently -used (inconsistent) procedural model of system/service startup/shutdown.</p> - -<p>This project involves such issues as: -<ul> -<li> -providing consistent view of the system and its functional subsystems as -a set of interrelated objects equipped with certain properties. -</li> -<li> -providing global approach to user interface, either command-line or with GUI -front-ends. -</li> -<li> -managing system resources and subsystems. This includes managing -static and dynamic interdependencies between subsystems, ability to -upgrade/downgrade specific subsystems on-the-fly. -</li> -</ul> -</p> - -<p><i><b>This is work in progress</b> - I'm aware that many pieces -are either completely missing or misplaced. Please send any comments and -changes you seem appropriate either directly to me, or better to -freebsd-small@freebsd.org. I'll gladly welcome anyone who can help with -design and/or implementation.</i></p> - - -<hr> - -<h1><center> Unified Configuration Interface -</center></h1> - -<ul> -<li> -<p>Let's first introduce the following terms: -<ul> -<li> -<b>management base</b> - the actual structure holding configuration and -information data according to defined structure. This structure will most -probably have a form of tree (possibly with cross-branch links or some other -mechanism representing mutual dependencies) - the way it's stored is -something which needs to be discussed. -</li> -<li> -<b>user interface</b> - a method (and agent) for presenting data stored in -management base in such a way that it can be viewed and modified by -legitimate users. -</li> -<li> -<b>system monitor</b> - an entity performing actual configuration and monitoring -tasks, from one side dealing with management base, and from the other -dealing with the system resources and subsystems, and from yet another dealing -either directly with the user (thus acting as a user interface), -or passing requests to other entity which acts as user interface. -</li> -<li> -<b>subsystem</b> - a package containing programs, configuration data, as well -as installing/deinstalling/start/stop stubs, which form together one logical -entity performing specific services on behalf of the system. Each subsystem -is viewed as an object with specific properties, dependencies, which is able -to generate events, service general requests common to all such subsystems, -and provide specific services to other subsystems. -</li> -</ul> -</li> -<li> -<p>One possible approach to storing the management data is to use already -existing framework known as MIB, as defined in applicable RFCs.</p> - -<p>This approach has several advantages: it represents well thought-out work -of many experienced individuals and teams, it has already proven to be -useful, it's widely used and accepted, it's easily extensible, it's able to -represent quite complicated objects, etc.</p> - -<p>It has some drawbacks, as well: e.g. there is no standard mechanism for -representing events and indirectly related objects, it tends to create -deep and narrow trees which require to descent several levels to change some -commonly used parameters, it doesn't say anything about the mutual -dependencies between objects and parameters (except parent-child-sibling), -and about required sequence to properly set their parameters, etc.</p> - -<p>These issues are not directly addressed in standards, and real -implementations (known to me) have to implement these additional mechanisms -"behind the scenes", so that their workings are not obvious nor easily -accessible (let alone changeable).</p> - -<p>So, if we decide to use it, we need to address these issues somehow. -The next point presents one possible approach to this dilemma.</p> -</li> -<li> -<p>The term "object" used in the following discussion represents a functional -subsystem, such as system service, usually performed by some specific -process (or, a set of global system parameters, in which case the system -monitor agent is the service itself). </p> - -<p>Each object represented in management base can be characterized by -following properties: -<ul> -<li> -its internal state, possibly consisting of several parameters and currently -performed functions, but represented to the rest of the system as a symbolic -state, one of set of states common to all objects. -</li> -<li> -a temporary space for new sets of parameters, which are being supplied by -other subsystems, prior to their actual application, -</li> -<li> -FSM definition, describing state transitions in reaction to received events, -</li> -<li> -list of events it can generate and accept, -</li> -<li> -list of dependencies on other objects' states and services, -</li> -<li> -list of requests it can handle, -</li> -<li> -list of parameters it can accept and/or provide, with their valid ranges. -</li> -</ul> -</p> - -<p>A few words on system startup: the system startup routines should ensure -that dependencies can be unwound into linear, ordered list. If it's not -possible, they should detect possible deadlocks at runtime, and act as an -arbiter between conflicting parties (or signal an error). In case of -unsatisfied dependency on some missing subsystem, the system monitor will -act appropriately as described below (in paragraph on request handling).</p> - -<p>The <b>set of symbolic states</b> may consist of the following states, -depicting object's current internal state (as described by its FSM): - -<center><table border> -<tr><th>Name</th><th>Meaning</th></tr> -<tr> -<td>INIT</td><td>the subsystem is initializing itself, possibly loading -necessary data and binaries from permanent storage.</td> -</tr> -<tr> -<td>CHECK</td><td>performing consistency check on newly supplied parameter values</td> -</tr> -<tr> -<td>READY</td><td>ready to start performing its primary function, but not started</td> -</tr> -<tr> -<td>START</td><td>start-up tasks (related to its primary function, as opposed -to INIT which is related to its own initialization)</td> -</tr> -<tr> -<td>STOP</td><td>stop (shutdown) tasks (when the object intends to stop -performing its function). This can involve unloading data and binaries from -main memory.</td> -</tr> -<tr> -<td>RUN</td><td>primary (work) phase</td> -</tr> -<tr> -<td>IDLE</td><td>waiting for some external event to happen</td> -</tr> -<tr> -<td>BUSY</td><td>the subsystem is busy (either with performing some -high-priority task, or just simply hung), and cannot be interrupted without -complete restart,</td> -</tr> -<tr> -<td>ERROR</td><td>this object is either improperly configured, or -malfunctioning</td> -</tr> -<tr> -<td>(other...)</td><td>(other...)</td> -</tr> -</table></center> -</p> - -<p>The <b>set of possible actions</b> may include the following actions:</p> - -<center><table border> -<tr><th>Name</th><th>Meaning</th></tr> -<tr> -<td>LIST_EV_REQ</td><td>get list of events the subsystem can generate</td> -</tr> -<tr> -<td>LIST_ACT_REQ</td><td>get list of actions the subsystem can respond to</td> -</tr> -<tr> -<td>GET_DEF_REQ</td><td>get definition of given parameter (the arguments, and -valid ranges)</td> -</tr> -<tr> -<td>SET_REQ</td><td>set given parameter to given value (this value will -be used only after COMMIT_REQ)</td> -</tr> -<tr> -<td>GET_REQ</td><td>get currently used value of given parameter</td> -</tr> -<tr> -<td>COMMIT_REQ</td><td>commit changes supplied in last transaction to currently -used set of parameters</td> -</tr> -<tr> -<td>ROLLBACK_REQ</td><td>revert last commit</td> -</tr> -<tr> -<td>INIT_REQ</td><td>perform initialization tasks</td> -</tr> -<tr> -<td>START_REQ</td><td>start performing primary function</td> -</tr> -<tr> -<td>STOP_REQ</td><td>stop performing primary function</td> -</tr> -<tr> -<td>RESTART_REQ</td><td>restart operation, possibly forcefully</td> -</tr> -<tr> -<td>NOTIFY_REQ</td><td>notify me of any changes in your state</td> -</tr> -<tr> -<td>CHECK_REQ</td><td>perform self-consistency check</td> -</tr> -<tr> -<td>UPGRADE_REQ</td><td>upgrade the subsystem - this possibly involves -downloading necessary pieces via network to permanent storage area. The -upgrade process should be transactional, and should save the older version -of the subsystem in case the DOWNGRADE_REQ should be issued.</td> -</tr> -<tr> -<td>DOWNGRADE_REQ</td><td>downgrade the subsystem - restore the previous -version of the subsystem from the copy on permanent storage.</td> -</tr> -<tr> -<td>UNINSTALL_REQ</td><td>uninstall the subsystem completely - possibly -freeing the space on permanent storage.</td> -</tr> -<tr> -<td>(other...)</td><td>(other...)</td> -</tr> -</table></center> -<p><i>(Each request includes source service identifier and credentials of -the sender)</i></p> - -<p>The <b>set of events</b> which can be generated by subsystems may include -the following:</p> - -<center><table border> -<tr><th>Name</th><th>Meaning</th></tr> -<tr> -<td>EV_ACK</td><td>positive acknowledge of the last operation</td> -</tr> -<tr> -<td>EV_NACK</td><td>negative acknowledge of the last operation</td> -</tr> -<tr> -<td>EV_CHANGE</td><td>change notification (includes the name of changed -parameter, and/or FSM state change)</td> -</tr> -<tr> -<td>EV_DEP</td><td>signal the dependency on another subsystem - ask for -existence of the service. Probably there should be two types of the dependency: -a soft one (where the subsystem can still function even if the dependency is -unresolved) and a hard one (when the existence and proper functioning of the -other subsystem is mandatory for its function).</td> -</tr> -<tr> -<td>(other...)</td><td>(other...)</td> -</tr> -</table></center> - -<p>One of event attributes can be a flag which says that this particular event -is a directed, or broadcast message. In case of directed message, it should -be forwarded only to interested parties. Broadcast message is sent to all -subsystems.</p> - -<p>System monitor agent will process these events and route them to -appropriate subsystems which are registered with it. Generally, if some -subsystem is dependent on some other, it will want to also receive all events -generated by the other subsystem.</p> - -<p>In case the subsystem -is missing, and the system monitor received events signalling that some other -subsystem is depending on it, the system monitor should arrange either for -installing necessary pieces from some media (be it permanent storage, or the -network), or to send an EV_NACK to the requesting subsystem. It's the -responsibility of the requesting subsystem to deal with such case -appropriately to the type of dependency (i.e. either "hard" or "soft"). - -<p>Ideally, the system monitor agent will be equipped with routines to -serialize the management data into human-readable form, so that it's easily -stored, backed up, and repaired in case of inconsistencies.</p> -</li> -<li> -<p>Actual user interface is still quite another story: I've seen UIs which -merely followed the standard MIBs, and menus were composed of actual OID -numbers plus DESCRIPTION field. In my experience, they are (barely) -acceptable, though due to the usual width and depth of MIB trees you had to -traverse several levels down and up in order to change some (protocol-wise) -related parameters.</p> - -<p>More acceptable UI would collect interrelated items under common menu -entries, irrespectibly of their actual position in the MIB tree.</p> - -<p>A worthwhile goal to pursue is to create such an UI which could guide -you through the most common configuration tasks, while at the same time -allowing for unrestricted and quick use by power users. This can be done -either as a set of configuration "wizards" or extensive hinting, command -completion, etc.</p> -</li> -<li> -<p>The management database should be easily exportable via standard -protocols, such as SNMP or LDAP.</p> - -<p>Most known to me (if not all) implementations of agents for these -protocols are (contrary to their name) quite heavy-weight - so their use -should be either optional, or replaced with some other light-weight -protocol and a proxy agent running on other machine. One example of -such proxy agent is existing UCD-SNMP implementation which in -significant part follows the sysctl(3) tree, merely exporting it as -a part of the MIB trees.</p> - -<p>It's worthwhile to consider also use of other protocols such as -DHCP (and BOOTP), Service Location Protocol (SLP - RFC2165) for easy -integration with LAN resources, easy initial configuration, and peer -discovery.</p> -</li> -<li> -<p>All operations performed by system monitor agent should be transactional, -i.e. it should be possible to commit a set of changes as one logical entity, -and be sure that either it's applied in whole, or not at all. This includes -also ability to abort processing in the middle.</p> - -<p>This probably means that each object (subsystem) should be able to store -not only its current configuration data, but also the newly supplied config -data that are to be applied after the transaction ends successfuly.</p> - -<p>Operations should be verified against allowed values, as well as against -allowed credentials, and basing on this either committed or aborted.</p> -</li> -<li> -<p>A few notes on possible implementation of system monitor:</p> -<ul> -<li> -let's assume that all configuration information is read on startup -by some specialized daemon (this can be part of init(8) as well), -which then performs role of communication agent through which passes -all configuration information, be it request for change, request -for info, request for start / shutdown, or notification about the change. -</li> -<li> -configuration information itself is stored either in binary database, or as -a filesystem hierachy mimicking configuration items hierarchy. -</li> -<li> -each user-level program performing some task (such as routing daemon, inetd -etc) is either equipped with the ability to communicate with config agent, or -is relinked with special stub which fakes to the program necessary config -files and events (such as signals to reread configuration). -<p>This probably means also that some libc routines would have to be replaced, -because they assume reading configuration from certain disk files.</p> - -<p>Since each such subsystem needs to implement some common actions such as -installing, deinstalling, start/stop etc, we could use already present -system of packages (with some minor modifications) to easily achieve -part of the goals (i.e. install/deinstall/upgrade/downgrade/stop/start).</p> -</li> -<li> -each subsystem performing some task requests its initial config data -from system monitor, at the same time registering with it to receive -configuration events, such as request to re-read data, to provide currently -used config data, return status, react for signals, restarts, etc... -</li> -<li> -system monitor acts as a meeting point for all producers and consumers -of events and config data. It needs to maintain a table of registered -subsystems, set of events they provide, set of events they want to receive, -etc.. Basing on this table, it routes appropriate information to -appropriate parties. -</li> -<li> -user interface is then just one of clients of system monitor, albeit possessing -special privileges. -</li> -<li> -one of important tasks of system monitor, in case given -object (subsystem) registers with it to be notified about certain events, is -to ensure that such type of event can be possibly generated. This is to -prevent subsystems from waiting for events coming from other non-existent -subsystems. See the discussion above on satisfying dependencies. -</li> -</ul> -<i><p>NOTE: this is one possible approach - a centralized one. It's worth to -consider other approach, distributed, in which case each object (subsystem) -sends and listens to the data at a meeting point specific to each other -object. This eliminates (or drastically minimizes) the role of system -monitor which is a single point of failure in centralized case.</p></i> -</li> -</ul> - -<hr> - -<p>Here is my initial proposal for the User Interface hierarchy:</p> - -<ul> -<li> -System configuration. - <ol> - <li> - Boot device and file <br> - <small>Name of the boot device (possibly networked) and boot - image.</small> - <ol> - <li> - (Enumeration of available devices) - <ol> - <li> - (Enumeration of available files) - </li> - </ol> - </li> - </ol> - </li> - <li> - Config file <br> - <small>Configuration file management - loading and saving, either - local or remote (if applicable). </small> - <ol> - <li> - Load / Save - <ol> - <li> - Source / Destination <br> - (Enumeration of available storage places, possibly - networked) - </li> - </ol> - </li> - <li> - Edit directly (geek mode) - </li> - </ol> - </li> - <li> - Subsystems <br> - <ol> - <li> - Module management <br> - <small>Optional hardware drivers and protocol modules - management.</small> - <ol> - <li> - (Enumeration of available loadable modules) - <ol> - <li> - Load / unload / status - </li> - </ol> - </li> - </ol> - </li> - <li> - Package management<br> - <small>Management of basic and optional system services.</small> - <ol> - <li> - (Enumeration of locally available packages) - <ol> - <li> - Start / Stop / Status / Configure - </li> - </ol> - </li> - </ol> - </li> - <li> - Default source of service packages<br> - <small>Where to automatically get the missing packages from. - </small> - <ol> - <li> - (Enumeration of available media) <br> - (local and remote disks, ftp, http) - </li> - </ol> - </li> - </ol> - </li> - <li> - Resource management - <ol> - <li> - Memory consumption <br> - <small>This is entry point to a subtree, which allows to set - up various resource limits for subsystems, services and - processes.</small> - </li> - <li> - Space consumption<br> - <small>(Things like minimal free space on permanent storage..) - </small> - </li> - <li> - Task priorities - <small>This includes not only currently running tasks, but all - which can possibly be started.</small> - <ol> - <li> - List / Modify - </li> - </ol> - </li> - </ol> - </li> - <li> - System console - </li> - <li> - Virtual consoles (if applicable) - </li> - <li> - System Date / Time Zone - </li> - <li> - Banner - </li> - <li> - Logging - <ol> - <li> - Local logging - </li> - <li> - Remote logging - </li> - </ol> - </li> - </ol> -</li> -<li> -Network configuration. - <ol> - <li> - Hostname and Domain - </li> - <li> - Interfaces - <ol> - <li> - (Enumeration of physical interfaces) <br> - (Enumeration of virtual interfaces, if applicable) <br> - (Options for creating virtual interfaces, if applicable) - <ol> - <li> - Interface options (speed, media, encapsulation, - description, etc.) - </li> - <li> - ARP - </li> - <li> - Bridging - </li> - <li> - IP - <ol> - <li> - Adress / netmask / alias - </li> - </ol> - </li> - <li> - IPX - </li> - <li> - AppleTalk - </li> - </ol> - </li> - </ol> - </li> - <li> - Protocol Options - <ol> - <li> - IP, UDP, TCP, ARP, IPX, ATM ... <br> - (Enumeration of available protocols) - <ol> - <li> - (Enumeration of protocol specific options, such as - buffer sizes, algorithms, ARP tables etc) - <ol> - <li> - List / Add / Delete / Modify / Set (where - applicable) - </li> - </ol> - </li> - </ol> - </li> - </ol> - </li> - <li> - Routes - <ol> - <li> - List - </li> - <li> - Static - <ol> - <li> - Add / Delete / List - <ol> - <li> - (route expression) - </li> - </ol> - </li> - </ol> - </li> - <li> - Dynamic - <ol> - <li> - (Enumeration of available routing protocols) - <ol> - <li> - Add / Delete / List - <ol> - <li> - (route expression) - </li> - </ol> - </li> - </ol> - </li> - </ol> - </li> - </ol> - </li> - <li> - Network services - <ol> - <li> - DNS - <ol> - <li> - Hosts - <ol> - <li> - Add / Delete / List - <ol> - <li> - (hosts definitions) - </li> - </ol> - </li> - </ol> - </li> - <li> - Resolvers - <ol> - <li> - Add / Delete / List - <ol> - <li> - (hosts addresses) - </li> - </ol> - </li> - </ol> - </li> - <li> - Local DNS server config - </li> - </ol> - </li> - <li> - PPP - <ol> - <li> - Server - </li> - <li> - Client - </li> - </ol> - </li> - <li> - NFS - <ol> - <li> - Server - </li> - <li> - Client - </li> - </ol> - </li> - <li> - NIS - </li> - <li> - DHCP - <ol> - <li> - Add / Delete / Reserve / List - <ol> - <li> - (IP address expressions) - </li> - </ol> - </li> - </ol> - </li> - <li> - SNMP - <ol> - <li> - Protocol version - </li> - <li> - Send traps to... - </li> - <li> - Access Control Lists <br> - <small>(This is either full-blown ACL system in case - of SNMPv2, or a community string for SNMPv1.)</small> - </li> - </ol> - </li> - <li> - Printing - <ol> - <li> - Local / Remote - <ol> - <li> - Printers - <ol> - <li> - Add / Modify / Delete / List - </li> - </ol> - </li> - <li> - Queues - <ol> - <li> - Priority / Delete / List - </li> - </ol> - </li> - </ol> - </li> - </ol> - </li> - <li> - SMB services - </li> - <li> - Network Address Translation - </li> - <li> - Packet filters - </li> - <li> - Bandwidth Manager - </li> - <li> - NTP - </li> - <li> - Remote Access - </li> - </ol> - </li> - </ol> -<li> -User management. - <ol> - <li> - User accounts - <ol> - <li> - Add / Delete / Modify / List - <ol> - <li> - Name / Password / ACL - </li> - </ol> - </li> - </ol> - </li> - <li> - User profiles - <ol> - <li> - Access Control Lists. - <ol> - <li> - Add / Delete / Modify / List - <ol> - <li> - Name / Template / Definition - </li> - </ol> - </li> - </ol> - </li> - <li> - ACL Templates - <ol> - <li> - Add / Delete / Modify / List - <ol> - <li> - Name - <ol> - <li> - Command restrictions list - </li> - <li> - Location restrictions list - </li> - <li> - Resources restrictions list - </li> - <li> - Time restrictions list - </li> - <li> - Authentication methods - <ol> - <li> - Unix passwd - </li> - <li> - S/Key - </li> - <li> - Kerberos - </li> - <li> - Radius - </li> - <li> - TACACS - </li> - </ol> - </li> - </ol> - </li> - </ol> - </li> - </ol> - </li> - </ol> - </li> - </ol> -</li> -<li> -Other services - <ol> - <li> - Cron tasks - </li> - </ol> -</li> -<li> -Filesystems. - <ol> - <li> - Local / Remote - <ol> - <li> - (Enumeration of available FS-s) - <ol> - <li> - FS / Mounting point / Options - </li> - </ol> - </li> - <li> - Swap Partition / Swap File - <ol> - <li> - Create / Turn on - </li> - </ol> - </ol> - </li> - </ol> -</li> -<li> -Environment - <ol> - <li> - Set / Unset / List - </li> - </ol> -</li> -<li> -System status - <ol> - <li> - (Enumeration of available status items) - </li> - </ol> -</li> -<li> -Diagnostics - <ol> - <li> - Debug - <ol> - <li> - (Enumeration of subsystems hierarchy, those of which can - provide debugging data) - <ol> - <li> - Set / Clear / Level - </li> - </ol> - </li> - </ol> - </li> - <li> - System messages - </li> - <li> - Ping / traceroute / rtquery - </li> - </ol> -</li> -</ul> - -<hr> -<i> -<p>Please send your comments to <A HREF="mailto:abial@freebsd.org"> -Andrzej Bialecki</a></p> -<p>Last modified: -@DATE@ -</p> -</i> - -</body> -</html> diff --git a/release/picobsd/doc/src/bugs.html b/release/picobsd/doc/src/bugs.html index 2eb29cee525d..c878d0096831 100644 --- a/release/picobsd/doc/src/bugs.html +++ b/release/picobsd/doc/src/bugs.html @@ -1,5 +1,5 @@ <HTML> -<! $Id: bugs.html,v 1.6 1998/11/01 20:01:40 abial Exp $ > +<! $Id: bugs.html,v 1.3 1998/10/12 07:52:34 abial Exp $ > <HEAD> <TITLE>History and Bug fixes</TITLE> </HEAD> @@ -14,25 +14,9 @@ the list before reporting a new one.</p> <p>We tried to make this software bug-free, but life is life... Sorry for the inconvenience.</p> -<h3>PicoBSD 0.43</h3> -<ul> -<li> - 1999.01.19: A lot of fixes related to architectural changes in - 3.0-current code. Most importantly, we run now ELF kernel and we use - the new bootloader. This is most probably the last release of PicoBSD in - its present shape - the next version will (hopefully) become a part of - normal release building process. -</li> -</ul> - <h3>PicoBSD 0.42</h3> <ul> <li> - 1999.01.15: Well, it seems that this version was for developers - only... ;-) It was abandoned when recent massive changes in -current - demanded more serious measures... -</li> -<li> 1998.10.15: Small fixes and updates to match the 3.0-RELEASE source tree. The binary snapshot built from 3.0-R sources will soon follow... @@ -134,12 +118,12 @@ the list before reporting a new one.</p> </ul> <h5>Last modified: -@DATE@ +Mon Oct 12 00:51:45 PDT 1998 </h5> <HR align="center" width="100%"> <CENTER><h5>Any comments? Send them to -<A HREF="mailto:abial@freebsd.org">the author</A> </h5></CENTER> +<A HREF="mailto:abial@nask.pl">the author</A> </h5></CENTER> </BODY> </HTML> diff --git a/release/picobsd/doc/src/faq.html b/release/picobsd/doc/src/faq.html index 1a86d587f67c..c45b56e78477 100644 --- a/release/picobsd/doc/src/faq.html +++ b/release/picobsd/doc/src/faq.html @@ -1,5 +1,5 @@ <HTML> -<! $Id: faq.html,v 1.3 1998/10/28 16:16:31 abial Exp $ > +<! $Id: faq.html,v 1.1 1998/09/26 17:23:01 abial Exp $ > <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Author" CONTENT="Dinesh Nair"> @@ -39,7 +39,7 @@ fully grown daemons, and PicoBSD as a system infested with <P>PicoBSD has versions based on FreeBSD 3.0-RELEASE, 3.0-current and FreeBSD 2.2.5-RELEASE. -<A HREF="mailto:abial@freebsd.org">Andrzej Bialecki</A> maintains the <A HREF="http://www.freebsd.org/~picobsd/picobsd.html">FreeBSD +<A HREF="mailto:abial@nask.pl">Andrzej Bialecki</A> maintains the <A HREF="http://www.freebsd.org/~picobsd/picobsd.html">FreeBSD 3.0-RELEASE and -current versions</A> and <A HREF="mailto:dinesh@alphaque.com">Dinesh Nair</A> maintains the <A HREF="http://info.net-gw.com/picoBSD/">FreeBSD @@ -101,7 +101,7 @@ maintained by Dinesh Nair</LI> Additional mirror sites will be brought online as demand increases. If you're interested in mirroring the PicoBSD distribution, please get in touch with <A HREF="mailto:dinesh@alphaque.com">Dinesh Nair</A> or -<A HREF="mailto:abial@freebsd.org">Andrzej Bialecki</A>. +<A HREF="mailto:abial@nask.pl">Andrzej Bialecki</A>. <P><B>How do I copy it to the floppy?</B></p> @@ -241,7 +241,7 @@ Handbook</A> or the <A HREF="http://www.freebsd.org/">FreeBSD Home</A>. PicoBSD user community comes in. And big thanks to all of you who already sent us some suggestions!</FONT></CENTER> <P><B><FONT SIZE=-1>Last Modified: -@DATE@ +Thu Oct 15 23:31:28 CEST 1998 </FONT></B></P> </BODY> </HTML> diff --git a/release/picobsd/doc/src/hardware.html b/release/picobsd/doc/src/hardware.html index 2954695f6481..207508123e11 100644 --- a/release/picobsd/doc/src/hardware.html +++ b/release/picobsd/doc/src/hardware.html @@ -1,5 +1,5 @@ <html> -<! $Id: hardware.html,v 1.1 1998/09/26 17:23:01 abial Exp $ > +<! $Id: hardware.html,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ > <body> <h1><center>Lists of supported hardware configurations.</center></h1> @@ -103,10 +103,5 @@ you'll find it as a cheap yet reliable alternative to commercial communication servers :-)) This work is still in progress, and <A HREF="beta.html">I need some people to test</a> the early dial-in server version.</p> - -<hr> -<i>Last modified: -@DATE@ -</i> </body> </html> diff --git a/release/picobsd/doc/src/how2build.html b/release/picobsd/doc/src/how2build.html index 7225603a5039..9a29f28bfcd1 100644 --- a/release/picobsd/doc/src/how2build.html +++ b/release/picobsd/doc/src/how2build.html @@ -1,5 +1,5 @@ <html> -<! $Id: how2build.html,v 1.3 1998/10/28 16:16:31 abial Exp $ > +<! $Id: how2build.html,v 1.1 1998/09/26 17:23:01 abial Exp $ > <head> <title><center>PicoBSD Development Kit</center></title> </head> @@ -184,10 +184,6 @@ <p>If, for some reason, the scripts don't work for you at all, also let me know.</p> -<hr> -<i>Last modified: -@DATE@ - -<p><A HREF="mailto:abial@freebsd.org"><abial@freebsd.org></a></i></p> +<A HREF="mailto:abial@nask.pl"><abial@nask.pl></a> </body> </html> diff --git a/release/picobsd/doc/src/intrinsics.html b/release/picobsd/doc/src/intrinsics.html index dc4ca55aba3c..cac4703cbcbe 100644 --- a/release/picobsd/doc/src/intrinsics.html +++ b/release/picobsd/doc/src/intrinsics.html @@ -1,5 +1,5 @@ <html> -<! $Id: intrinsics.html,v 1.1 1998/09/26 17:23:01 abial Exp $ > +<! $Id: intrinsics.html,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ > <head> <title><center>Details of building process</center></title> </head> @@ -122,5 +122,5 @@ the build process:</p> <h6> Last modified: -@DATE@ +Wed Aug 19 18:49:08 CEST 1998 </h6> diff --git a/release/picobsd/doc/src/intro.html b/release/picobsd/doc/src/intro.html index 0b69b6b7b663..c69622be2d9a 100644 --- a/release/picobsd/doc/src/intro.html +++ b/release/picobsd/doc/src/intro.html @@ -1,5 +1,5 @@ <HTML> -<! $Id: intro.html,v 1.5 1998/11/01 19:52:47 abial Exp $ > +<! $Id: intro.html,v 1.2 1998/09/26 17:39:21 abial Exp $ > <HEAD> <TITLE>PicoBSD</TITLE> </HEAD> @@ -9,6 +9,7 @@ <HR shade align="center" size="8" width="25%"></CENTER> +<IMG SRC="../../icons/daemon.gif" ALIGN="right"> <p><b>Contents:</b></p> <ul> <li> @@ -156,7 +157,7 @@ version 0.4 it's a part of official FreeBSD CVS and lives in <code>src/release/picobsd</code>. I also create the snapshots of this source tree - keep in mind that they are not so up-to-date as the tree in FreeBSD CVS. You can get the snapshot I made on -Sun Nov 1 11:48:32 PST 1998 +Mon Oct 12 00:53:02 PDT 1998 <A HREF="http://www.freebsd.org/~picobsd/picobsd/picobsd.tgz">here</a>.</p> <p> Now, if you don't like the setup of PicoBSD, or you miss @@ -215,15 +216,14 @@ imagination and coding skills:</p> <ul> <li> To write a command line tool patterned after Cisco IOS, which could configure -various aspects of router-like version of PicoBSD. -<p>Well, currently you can read very preliminary draft of proposed -architecture, called the <A HREF="UCI.html">Unified Configuration Interface.</a></p> +various aspects of router-like version of PicoBSD. I'm nowhere near with this +goal - I even don't have any good idea how to do it cleanly (I do have some +ideas, but I classify them as dirty hacks). </li> <li> To put an XWindow-like GUI on the 'dialup' floppy. (Update: you can look at <A HREF="http://www.freebsd.org/~picobsd/preview/preview2.tgz">preview -version</a> and send me your comments. <b>I need some help in porting newer -version of W</b>). +version</a> and send me your comments). </li> <li> To gain some experience with solid state disks, and prepare standard images @@ -247,23 +247,23 @@ to be able to run truely effortlessly on 4MB machines... This would probably include rewriting oinit(8) to run multithreaded. </li> <li> -And many others... You can find a complete list -<A HREF="TODO.html">here</a>. +And many others, too vague to put them here. <b>You</b> can also suggest me +some others applications/solutions you're dreaming of... </li> </ul> <A NAME="credits"><h3>Credits</h3> <p>The following people are either responsible for the very existence of this -project, or significantly eased my pains in gaining necessary knowledge:</p> +project, or significantly eased my pains of gaining necessary knowledge:</p> <ul> <li> the whole FreeBSD team for this magnificent OS, and their hard work of continuous development, </li> <li> -Dinesh Nair, for co-development and preparing of the version which compiled -on 2.2.5-RELEASE, +Dinesh Nair, for co-development and preparing of the version which compiles +on -RELEASE, </li> <li> Joe Greco, for his encouraging example of XKERNEL (some parts of the scripts @@ -292,15 +292,15 @@ guys! which allows you to use it in various ways, including commercial applications. So grab it and enjoy! And if you feel that you want to help with this project, either by donating some time to write code, or by -some other donation, just <A HREF="mailto:abial@freebsd.org">contact me</a>.</p> +some other donation, just <A HREF="mailto:abial@nask.pl">contact me</a>.</p> <h5>Last modified: -@DATE@ +Fri Sep 4 01:17:44 PDT 1998 </h5> <HR shade align="left" size="2" width="100%"> <CENTER><h5>Any comments? Send them to -<A HREF="mailto:abial@freebsd.org">the author</A> </h5></CENTER> +<A HREF="mailto:abial@nask.pl">the author</A> </h5></CENTER> </BODY> </HTML> diff --git a/release/picobsd/help/dmesg.hlp.en b/release/picobsd/help/dmesg.hlp.en deleted file mode 100644 index b55e690b2b5b..000000000000 --- a/release/picobsd/help/dmesg.hlp.en +++ /dev/null @@ -1,5 +0,0 @@ -[1mdmesg[m display kernel message buffer contents - - Usage: - - dmesg | more diff --git a/release/picobsd/help/dmesg.hlp.pl b/release/picobsd/help/dmesg.hlp.pl deleted file mode 100644 index 544c6ca49da3..000000000000 --- a/release/picobsd/help/dmesg.hlp.pl +++ /dev/null @@ -1,5 +0,0 @@ -[1mdmesg[m wy¶wietl zawarto¶æ bufora komunikatów - - Sposób u¿ycia: - - dmesg | more diff --git a/release/picobsd/help/help.hlp.en b/release/picobsd/help/help.hlp.en index b38db3d6c552..dc35a4154edd 100644 --- a/release/picobsd/help/help.hlp.en +++ b/release/picobsd/help/help.hlp.en @@ -3,5 +3,5 @@ This command displays short description of the commands included on PicoBSD floppy. When invoked with no argument, it displays this text :-). Any other argument is treated as a name of file located in - /help.a archive on the floppy, and this file is displayed page by + /help directory on the floppy, and this file is displayed page by page. diff --git a/release/picobsd/help/help.hlp.pl b/release/picobsd/help/help.hlp.pl index 47e039d0c847..fa219d50185c 100644 --- a/release/picobsd/help/help.hlp.pl +++ b/release/picobsd/help/help.hlp.pl @@ -3,5 +3,5 @@ To polecenie wyswietla krotka instrukcje obslugi programow na dyskietce. Uruchomione bez zadnego argumentu, wyswietla ten tekst. :-) Kazdy inny argument traktowany jest jak nazwa pliku znajdujacego sie - w archiwum /help.a, po czym zostaje wyswietlona zawartosc tego pliku + w katalogu /help, po czym zostaje wyswietlona zawartosc tego pliku strona po stronie. diff --git a/release/picobsd/help/vm.hlp.en b/release/picobsd/help/vm.hlp.en index 6a391c1b1956..c707ca5cd9a3 100644 --- a/release/picobsd/help/vm.hlp.en +++ b/release/picobsd/help/vm.hlp.en @@ -3,8 +3,8 @@ This program repeatedly displays current memory usage, showing the following numbers: - * procs: number of processes; r - running, w - waiting for I/O, - l - sleeping, s - swapping + * procs: number of processes; r - running, d - waiting for I/O, + p - paging, s - sleeping, * virt mem: virtual memory amounts (total and active), in kB * real mem: real memory amounts (total and active), in kB * shared vm: amount of shared virtual memory (total and active), in kB diff --git a/release/picobsd/help/vm.hlp.pl b/release/picobsd/help/vm.hlp.pl index 00b8509a92d3..b95d838ea02b 100644 --- a/release/picobsd/help/vm.hlp.pl +++ b/release/picobsd/help/vm.hlp.pl @@ -4,9 +4,9 @@ wyswietlajac nastepujace wartosci: * procs: liczba procesow: r - running (dzialajace), - w - czekajace na I/O, - l - sleeping, - s - swapping, + d - czekajace na I/O, + p - paging, + s - sleeping, * virt mem: ilosc pamieci witrualnej (total i active), w kB * real mem: ilosc pamieci rzeczywistej (total i active) w kB * shared vm: ilosc dzielonej pamieci wirtualnej, w kB diff --git a/release/picobsd/isp/conf/Makefile b/release/picobsd/isp/conf/Makefile index af4b903f642e..52a6b75c6e3b 100644 --- a/release/picobsd/isp/conf/Makefile +++ b/release/picobsd/isp/conf/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1998/10/15 21:40:01 abial Exp $ +# $Id: Makefile,v 1.2 1998/09/29 12:12:47 abial Exp $ # SRC?=/usr/src @@ -17,5 +17,5 @@ $(KERNFILE): PICOBSD (cd ${CONF}; \ config ${CONFFILE}; \ cd ${COMPILE}; \ - make depend all) + make depend && make) diff --git a/release/picobsd/isp/conf/PICOBSD b/release/picobsd/isp/conf/PICOBSD index 9f9c5dc12adc..e1994e4e5522 100644 --- a/release/picobsd/isp/conf/PICOBSD +++ b/release/picobsd/isp/conf/PICOBSD @@ -1,5 +1,5 @@ # -# $Id: PICOBSD,v 1.7 1999/01/14 23:20:09 abial Exp $ +# $Id: PICOBSD,v 1.3 1998/09/19 21:44:57 abial Exp $ # machine "i386" @@ -13,7 +13,6 @@ maxusers 20 options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem -options FFS_ROOT options NFS #Network Filesystem #options BOOTP options MFS @@ -22,7 +21,7 @@ options "CD9660" #ISO 9660 Filesystem options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options USERCONFIG #boot -c editor -options INTRO_USERCONFIG #imply -c and parse info area +options USERCONFIG_BOOT #imply -c and parse info area options VISUAL_USERCONFIG #visual boot -c editor options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT @@ -39,16 +38,16 @@ config kernel root on fd0a controller isa0 controller pci0 -controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 +controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr disk fd0 at fdc0 drive 0 #disk fd1 at fdc0 drive 1 options "CMD640" # work around CMD640 chip deficiency -controller wdc0 at isa? port "IO_WD1" bio irq 14 +controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1 -controller wdc1 at isa? port "IO_WD2" bio irq 15 +controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd2 at wdc1 drive 0 disk wd3 at wdc1 drive 1 @@ -57,40 +56,36 @@ options ATAPI_STATIC #Don't do it as an LKM device wcd0 #IDE CD-ROM # syscons is the default console driver, resembling an SCO console +device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr -controller atkbdc0 at isa? port IO_KBD tty -device atkbd0 at isa? tty irq 1 -device vga0 at isa? port ? conflicts -device sc0 at isa? tty +device npx0 at isa? port "IO_NPX" irq 13 vector npxintr -device npx0 at isa? port IO_NPX irq 13 - -device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 -device sio1 at isa? port "IO_COM2" tty irq 3 -device sio2 at isa? port "IO_COM3" tty irq 5 -device sio3 at isa? port "IO_COM4" tty irq 9 +device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 vector siointr +device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr +device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr +device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr # Support for multiport serial cards -options COM_MULTIPORT +options "COM_MULTIPORT" # AST device sio4 at isa? port 0x2a0 tty flags 0x701 device sio5 at isa? port 0x2a8 tty flags 0x701 device sio6 at isa? port 0x2b0 tty flags 0x701 -device sio7 at isa? port 0x2b8 tty flags 0x701 irq 12 +device sio7 at isa? port 0x2b8 tty flags 0x701 irq 12 vector siointr # Boca Board. You must configure the ports above with -c to change the flags. device sio8 at isa? port 0x120 tty flags 0xb05 device sio9 at isa? port 0x128 tty flags 0xb05 device sio10 at isa? port 0x130 tty flags 0xb05 -device sio11 at isa? port 0x138 tty flags 0xb05 irq 12 +device sio11 at isa? port 0x138 tty flags 0xb05 irq 12 vector siointr # Hayes ESP boards -options COM_ESP +options "COM_ESP" # Comtrol Rocketport # The PCI versions @@ -101,24 +96,30 @@ device rp0 at isa? port 0x100 tty device rp1 at isa? port 0x180 tty # Cyclades Cyclom-Y serial driver -device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 -device cy1 at isa? tty irq 11 iomem 0xd6000 iosiz 0x2000 +device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr +device cy1 at isa? tty irq 11 iomem 0xd6000 iosiz 0x2000 vector cyintr -device lpt0 at isa? port? tty irq 7 +device lpt0 at isa? port? tty irq 7 vector lptintr # Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. # Right now it appears that the ie0 must be probed before ep0. See # revision 1.20 of this file. device de0 +device de1 device fxp0 -device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 -device ed1 at isa? port 0x300 net irq 5 iomem 0xd0000 -device ep0 at isa? port 0x300 net irq 10 -device ep1 at isa? port 0x280 net irq 5 -device ie0 at isa? port 0x300 net irq 5 iomem 0xd0000 -device lnc0 at isa? port 0x300 net irq 10 drq 0 +device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr +device ed1 at isa? port 0x300 net irq 5 iomem 0xd0000 vector edintr +device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr +device ep0 at isa? port 0x300 net irq 10 vector epintr +device ep1 at isa? port 0x280 net irq 5 vector epintr +#device ex0 at isa? port? net irq? vector exintr +#device fe0 at isa? port 0x300 net irq ? vector feintr +#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr +device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr +#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr +#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr pseudo-device loop pseudo-device ether diff --git a/release/picobsd/isp/crunch1/Makefile b/release/picobsd/isp/crunch1/Makefile index eeb626fad359..a5c69e8af06d 100644 --- a/release/picobsd/isp/crunch1/Makefile +++ b/release/picobsd/isp/crunch1/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.3 1998/10/15 21:40:01 abial Exp $ +# $Id: Makefile,v 1.2 1998/08/28 08:57:16 abial Exp $ # SRC?=/usr/src @@ -7,17 +7,21 @@ all: crunch crunch: @if [ ! -f .patched ]; then \ + cat login.diff|(cd /usr/src/usr.bin/login; patch -p0); \ cat passwd.diff|(cd /usr/src/usr.bin/passwd; patch -p0); \ + cat ppp.diff|(cd /usr/src/usr.sbin/ppp; patch -p0); \ touch .patched; \ fi @cat crunch.conf|sed -e "s@/usr/src@${SRC}@" >crunch1.conf @crunchgen ./crunch1.conf - @${MAKE} -f crunch1.mk -DNOPAM all \ + @${MAKE} -f crunch1.mk all \ "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY -DNOSECURE -DNOCRYPT" #2>&1 >/dev/null clean: @if [ -f .patched ]; then \ + cat login.diff|(cd /usr/src/usr.bin/login; patch -R -p0); \ cat passwd.diff|(cd /usr/src/usr.bin/passwd; patch -R -p0); \ + cat ppp.diff|(cd /usr/src/usr.sbin/ppp; patch -R -p0); \ rm .patched; \ fi rm -f *.o *.stub *.lo *_stub.c *.mk \ @@ -38,8 +42,8 @@ install: done rm /mnt/stand/crunch # Install the MIB files - #mkdir -p /mnt/usr/local/share/snmp/mibs - #cp ../../net/crunch1/mibs/*.txt /mnt/usr/local/share/snmp/mibs/ + mkdir -p /mnt/usr/local/share/snmp/mibs + cp ../../net/crunch1/mibs/*.txt /mnt/usr/local/share/snmp/mibs/ .include <bsd.prog.mk> diff --git a/release/picobsd/isp/crunch1/crunch.conf b/release/picobsd/isp/crunch1/crunch.conf index 2c8e1035d1b8..7418d0b5d23a 100644 --- a/release/picobsd/isp/crunch1/crunch.conf +++ b/release/picobsd/isp/crunch1/crunch.conf @@ -1,5 +1,5 @@ # -# $Id: crunch.conf,v 1.4 1998/09/15 11:12:18 abial Exp $ +# $Id: crunch.conf,v 1.3 1998/09/15 07:35:31 abial Exp $ # # NOTE: the string "/usr/src" will be automatically replaced with the # correct value set in 'build' script - you should change it there @@ -16,7 +16,7 @@ srcdirs ../../tinyware # OBJS=${MIBOBJS} ${AGENTOBJS} # * we install a special version of MIB files - stripped of comments and # descriptions. These MIBs are included here to save you the stripping. -#srcdirs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5 +srcdirs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5 # other sources srcdirs /usr/src/bin srcdirs /usr/src/sbin/i386 @@ -27,13 +27,12 @@ srcdirs /usr/src/usr.sbin srcdirs /usr/src/libexec progs ash test echo hostname ln login getty -progs inetd telnetd stty w msg kget natd +progs inetd telnetd stty w msg kget snmpd natd progs init fsck ifconfig df ps ns vm cat progs cp rm mkdir ls chmod chown progs sysctl route swapon pwd_mkdb dev_mkdb progs mount mount_msdos umount comcontrol progs kill mount_std natd -#progs snmpd progs pwd pppd telnet more progs passwd date @@ -55,7 +54,7 @@ ln msg dmesg ln ns netstat # For snmpd -#libs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5/snmplib/libsnmp.a +libs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5/snmplib/libsnmp.a libs -ledit -lutil -lmd -lcrypt -lmp -lgmp -lm -lkvm libs -lmytinfo -lipx -lz -lpcap -lalias libs -ltermcap -lgnuregex -ltelnet -lcurses diff --git a/release/picobsd/isp/floppy.tree/etc/hosts b/release/picobsd/isp/floppy.tree/etc/hosts new file mode 100644 index 000000000000..5b9108cabc1d --- /dev/null +++ b/release/picobsd/isp/floppy.tree/etc/hosts @@ -0,0 +1,5 @@ +# $Id: hosts.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# This file should contain the addresses and aliases +# for local hosts that share this file. +127.0.0.1 localhost localhost.mydomain.org.pl +127.0.0.1 pico.mydomain.org.pl diff --git a/release/picobsd/isp/floppy.tree/etc/login.conf b/release/picobsd/isp/floppy.tree/etc/login.conf index 9361a33c2f9e..3bfdd8ae6fa9 100644 --- a/release/picobsd/isp/floppy.tree/etc/login.conf +++ b/release/picobsd/isp/floppy.tree/etc/login.conf @@ -1,7 +1,7 @@ # This file controls resource limits, accounting limits and # default user environment settings. # -# $Id: login.conf,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: login.conf,v 1.1.1.1 1998/07/14 07:30:45 abial Exp $ # @@ -45,7 +45,7 @@ standard:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,EDITOR=/usr/bin/ee:\ :path=~/bin /bin /usr/bin:\ - :nologin=/var/run/nologin:\ + :nologin=/etc/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :stacksize=2M:\ diff --git a/release/picobsd/isp/floppy.tree/etc/motd b/release/picobsd/isp/floppy.tree/etc/motd new file mode 100644 index 000000000000..8efbc7f97a5a --- /dev/null +++ b/release/picobsd/isp/floppy.tree/etc/motd @@ -0,0 +1,12 @@ +======================================================= + [31m)\_)\[37m +PicoBSD 0.42 (ISP-alpha) [31m([37m[1mo,o[m[31m)[37m + [32m__ [31m\~/[37m +Witamy w PicoBSD! [32m-->=[41m===[40m[31m\[37m + [32m~~[37m [31md d[37m +W glownym katalogu w pliku README znajdziesz [35mpico[37m +krotki opis systemu. Mozesz go obejrzec przy pomocy +"more /README". + +Wiecej informacji znajdziesz u autora (abial@nask.pl). + diff --git a/release/picobsd/isp/floppy.tree/etc/rc b/release/picobsd/isp/floppy.tree/etc/rc new file mode 100644 index 000000000000..bcb8c2bd02fe --- /dev/null +++ b/release/picobsd/isp/floppy.tree/etc/rc @@ -0,0 +1,62 @@ +#!/bin/sh +# $Id: rc.pl,v 1.2 1998/09/26 17:27:22 abial Exp $ +############################################ +### Special setup for one floppy PICOBSD ### +### THIS IS NOT THE NORMAL /etc/rc !!!!! ### +############################################ +mount -a -t nonfs +if [ -f /etc/rc.conf ]; then + . /etc/rc.conf +fi +rm -f /var/run/* +if [ "x$swapfile" != "xNO" -a -w "$swapfile" -a -b /dev/vn0b ]; then + echo "Dodaje $swapfile jako dodatkowy swap." + vnconfig /dev/vn0b $swapfile && swapon /dev/vn0b +fi +# configure serial devices +if [ -f /etc/rc.serial ]; then + . /etc/rc.serial +fi +# start up the initial network configuration. +if [ -f /etc/rc.network ]; then + . /etc/rc.network + network_pass1 +fi +mount -a -t nfs +# clean up left-over files +(cd /var/run && { cp /dev/null utmp; chmod 644 utmp; }) +if [ -n "$network_pass1_done" ]; then + network_pass2 +fi +if [ -n "$network_pass2_done" ]; then + network_pass3 +fi +if [ "X${inetd_enable}" = X"YES" ]; then + echo "Uruchamiam inetd."; inetd ${inetd_flags} +fi +if [ "X${snmpd_enable}" = X"YES" ]; then + echo "Uruchamiam snmpd."; snmpd ${snmpd_flags} +fi + +dev_mkdb + +echo '' +if [ "x$swapfile" = "xNO" ]; then + echo "UWAGA: brak swapu!" + echo "Nie uruchamiaj zbyt wielu programow na raz..." +fi +echo '' +echo '' +echo '+------------ PicoBSD 0.42 (ISP) --------------+' +echo '| |' +echo '| Zaloguj sie jako "root" (haslo "setup"). |' +echo '| |' +echo '| Ta wersja PicoBSD w pelni podlega |' +echo '| licencji BSD. Po wiecej szczegolow zajrzyj |' +echo '| na http://www.freebsd.org/~picobsd, lub |' +echo '| skontaktuj sie z autorem. |' +echo '| |' +echo '| abial@nask.pl |' +echo '| |' +echo '+----------------------------------------------+' +exit 0 diff --git a/release/picobsd/isp/floppy.tree/etc/rc.conf b/release/picobsd/isp/floppy.tree/etc/rc.conf new file mode 100644 index 000000000000..aa1ae8c92765 --- /dev/null +++ b/release/picobsd/isp/floppy.tree/etc/rc.conf @@ -0,0 +1,25 @@ +#!/bin/sh +# $Id: rc.conf.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +swapfile="NO" # Set to name of swapfile if aux swapfile desired. +### Network configuration sub-section ###################### +### Basic network options: ### +hostname="pico.mydomain.org.pl" # Set this! +firewall="NO" # firewall type (see /etc/rc.firewall) or NO +tcp_extensions="NO" # Allow RFC1323 & RFC1644 extensions (or NO). +network_interfaces="lo0" # List of network interfaces (lo0 is loopback). +ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. +#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry. +### Network daemons options: ### +inetd_enable="YES" # Run the network daemon dispatcher (or NO) +inetd_flags="" # Optional flags to inetd +snmpd_enable="YES" # Run the SNMP daemon (or NO) +snmpd_flags="-C -c /etc/snmpd.conf" # Optional flags to snmpd +### Network routing options: ### +defaultrouter="NO" # Set to default gateway (or NO). +static_routes="" # Set to static route list (or leave empty). +gateway_enable="NO" # Set to YES if this host will be a gateway. +arpproxy_all="" # replaces obsolete kernel option ARP_PROXYALL. +### Allow local configuration override at the very end here ## +if [ -f /etc/rc.conf.local ]; then + . /etc/rc.conf.local +fi diff --git a/release/picobsd/isp/floppy.tree/etc/resolv.conf b/release/picobsd/isp/floppy.tree/etc/resolv.conf new file mode 100644 index 000000000000..4a006565d54a --- /dev/null +++ b/release/picobsd/isp/floppy.tree/etc/resolv.conf @@ -0,0 +1,3 @@ +# $Id: resolv.conf.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +domain mydomain.org.pl +nameserver 148.81.16.51 diff --git a/release/picobsd/isp/floppy.tree/etc/services b/release/picobsd/isp/floppy.tree/etc/services index eec499fafec7..817b6d315272 100644 --- a/release/picobsd/isp/floppy.tree/etc/services +++ b/release/picobsd/isp/floppy.tree/etc/services @@ -91,4 +91,3 @@ uucp 540/tcp uucp 540/udp uucp-rlogin 541/tcp uucp-rlogin 541/udp -natd 8668/divert # Network Address Translation diff --git a/release/picobsd/isp/lang/README.en b/release/picobsd/isp/lang/README.en index d1dc2dc05725..18e0cbf5b98c 100644 --- a/release/picobsd/isp/lang/README.en +++ b/release/picobsd/isp/lang/README.en @@ -30,4 +30,4 @@ I'll be glad hearing from you about your experiences with PicoBSD. Thanks. Have fun! -Andrzej Bialecki <abial@freebsd.org> +Andrzej Bialecki <abial@nask.pl> diff --git a/release/picobsd/isp/lang/README.pl b/release/picobsd/isp/lang/README.pl index a680e20c3f4a..18ea380788d4 100644 --- a/release/picobsd/isp/lang/README.pl +++ b/release/picobsd/isp/lang/README.pl @@ -30,4 +30,4 @@ Jakie sa minimalne wymagania? Milej zabawy! -Andrzej Bialecki <abial@freebsd.org> +Andrzej Bialecki <abial@nask.pl> diff --git a/release/picobsd/isp/lang/m.en b/release/picobsd/isp/lang/m.en new file mode 100644 index 000000000000..077a3b596caf --- /dev/null +++ b/release/picobsd/isp/lang/m.en @@ -0,0 +1,11 @@ + +PicoBSD 0.32 (ISP-alpha) + +Welcome to PicoBSD! + +You can find a short description of the +system in file /README. You can view it using +"more /README". + +For more info contact the author (abial@nask.pl). + diff --git a/release/picobsd/isp/lang/m.pl b/release/picobsd/isp/lang/m.pl new file mode 100644 index 000000000000..8870e1e51dd9 --- /dev/null +++ b/release/picobsd/isp/lang/m.pl @@ -0,0 +1,11 @@ + +PicoBSD 0.32 (ISP-alpha) + +Witamy w PicoBSD! + +W glownym katalogu w pliku README znajdziesz +krotki opis systemu. Mozesz go obejrzec przy pomocy +"more /README". + +Wiecej informacji znajdziesz u autora (abial@nask.pl). + diff --git a/release/picobsd/isp/lang/motd.en b/release/picobsd/isp/lang/motd.en index 77a1949f998e..4acae898e74a 100644 --- a/release/picobsd/isp/lang/motd.en +++ b/release/picobsd/isp/lang/motd.en @@ -8,5 +8,5 @@ You can find a short description of the [35mpico[37m system in file /README. You can view it using "more /README". -For more info contact the author (abial@freebsd.org). +For more info contact the author (abial@nask.pl). diff --git a/release/picobsd/isp/lang/motd.pl b/release/picobsd/isp/lang/motd.pl index 1ceed3813fb2..8ee14d36dbcb 100644 --- a/release/picobsd/isp/lang/motd.pl +++ b/release/picobsd/isp/lang/motd.pl @@ -8,5 +8,5 @@ W glownym katalogu w pliku README znajdziesz [35mpico[37m krotki opis systemu. Mozesz go obejrzec przy pomocy "more /README". -Wiecej informacji znajdziesz u autora (abial@freebsd.org). +Wiecej informacji znajdziesz u autora (abial@nask.pl). diff --git a/release/picobsd/isp/lang/rc.en b/release/picobsd/isp/lang/rc.en index ad135e31ab19..e49427ba4205 100644 --- a/release/picobsd/isp/lang/rc.en +++ b/release/picobsd/isp/lang/rc.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc.en,v 1.4 1999/01/12 14:09:20 asami Exp $ +# $Id: rc.en,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ ############################################ ### Special setup for one floppy PICOBSD ### ### THIS IS NOT THE NORMAL /etc/rc !!!!! ### @@ -25,6 +25,7 @@ fi mount -a -t nfs chmod 666 /dev/tty[pqrsPQRS]* # clean up left-over files +rm -f /etc/nologin (cd /var/run && { cp /dev/null utmp; chmod 644 utmp; }) if [ -n "$network_pass1_done" ]; then network_pass2 @@ -35,6 +36,9 @@ fi if [ "X${inetd_enable}" = X"YES" ]; then echo "Starting inetd."; inetd ${inetd_flags} fi +if [ "X${snmpd_enable}" = X"YES" ]; then + echo "Starting snmpd."; snmpd ${snmpd_flags} +fi dev_mkdb @@ -54,7 +58,7 @@ echo '| BSD license. For more details see |' echo '| http://www.freebsd.org/~picobsd, or contact |' echo '| the author. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' exit 0 diff --git a/release/picobsd/isp/lang/rc.pl b/release/picobsd/isp/lang/rc.pl index 38e0e3156e1d..33e896b49c64 100644 --- a/release/picobsd/isp/lang/rc.pl +++ b/release/picobsd/isp/lang/rc.pl @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc.pl,v 1.3 1998/11/01 20:19:19 abial Exp $ +# $Id: rc.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ ############################################ ### Special setup for one floppy PICOBSD ### ### THIS IS NOT THE NORMAL /etc/rc !!!!! ### @@ -34,6 +34,9 @@ fi if [ "X${inetd_enable}" = X"YES" ]; then echo "Uruchamiam inetd."; inetd ${inetd_flags} fi +if [ "X${snmpd_enable}" = X"YES" ]; then + echo "Uruchamiam snmpd."; snmpd ${snmpd_flags} +fi dev_mkdb @@ -53,7 +56,7 @@ echo '| licencji BSD. Po wiecej szczegolow zajrzyj |' echo '| na http://www.freebsd.org/~picobsd, lub |' echo '| skontaktuj sie z autorem. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' exit 0 diff --git a/release/picobsd/isp/lang/update.en b/release/picobsd/isp/lang/update.en index a821d4c9df56..acbd0dea8ca7 100755 --- a/release/picobsd/isp/lang/update.en +++ b/release/picobsd/isp/lang/update.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: update.en,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: update.en,v 1.3 1998/08/10 19:16:43 abial Exp $ pwd=`pwd` echo -n "Updating /etc contents on startup floppy... " mount /dev/fd0a /start_floppy @@ -17,7 +17,7 @@ cp -Rp . /start_floppy/etc/ pwd_mkdb master.passwd echo " Done." echo -n "Updating kernel parameters... " -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a cd ${pwd} echo " Done." diff --git a/release/picobsd/isp/lang/update.pl b/release/picobsd/isp/lang/update.pl index 1b2c52358c91..3a95e0002bf9 100755 --- a/release/picobsd/isp/lang/update.pl +++ b/release/picobsd/isp/lang/update.pl @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: update.pl,v 1.1.1.1 1998/08/27 17:38:42 abial Exp $ +# $Id: update.pl,v 1.3 1998/08/10 19:16:43 abial Exp $ pwd=`pwd` echo -n "Uaktualniam katalog /etc na dyskietce... " mount /dev/fd0a /start_floppy @@ -17,7 +17,7 @@ cp -Rp . /start_floppy/etc/ pwd_mkdb master.passwd echo " Zrobione." echo -n "Uaktualniam parametry jadra..." -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a cd ${pwd} echo " Zrobione." diff --git a/release/picobsd/net/conf/Makefile b/release/picobsd/net/conf/Makefile index 06f74873e7a8..52a6b75c6e3b 100644 --- a/release/picobsd/net/conf/Makefile +++ b/release/picobsd/net/conf/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1998/10/15 21:40:02 abial Exp $ +# $Id: Makefile,v 1.2 1998/09/29 12:12:47 abial Exp $ # SRC?=/usr/src @@ -17,5 +17,5 @@ $(KERNFILE): PICOBSD (cd ${CONF}; \ config ${CONFFILE}; \ cd ${COMPILE}; \ - make depend all) + make depend && make) diff --git a/release/picobsd/net/conf/PICOBSD b/release/picobsd/net/conf/PICOBSD index 89cf63b10632..24ebe4e08356 100644 --- a/release/picobsd/net/conf/PICOBSD +++ b/release/picobsd/net/conf/PICOBSD @@ -1,5 +1,5 @@ # -# $Id: PICOBSD,v 1.7 1999/01/18 10:17:33 abial Exp $ +# $Id: PICOBSD,v 1.2 1998/09/02 14:16:03 abial Exp $ # machine "i386" @@ -13,14 +13,14 @@ maxusers 10 options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem -options FFS_ROOT options NFS #Network Filesystem options MFS options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem +options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options USERCONFIG #boot -c editor -options INTRO_USERCONFIG #imply -c and parse info area +options USERCONFIG_BOOT #imply -c and parse info area options VISUAL_USERCONFIG #visual boot -c editor options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT @@ -32,21 +32,21 @@ options NO_LKM #options DUMMYNET #options BRIDGE -config kernel root on fd0a +config kernel root on fd0 controller isa0 controller pci0 -controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 +controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr disk fd0 at fdc0 drive 0 #disk fd1 at fdc0 drive 1 options "CMD640" # work around CMD640 chip deficiency -controller wdc0 at isa? port "IO_WD1" bio irq 14 +controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1 -controller wdc1 at isa? port "IO_WD2" bio irq 15 +controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd2 at wdc1 drive 0 disk wd3 at wdc1 drive 1 @@ -55,34 +55,39 @@ options ATAPI_STATIC #Don't do it as an LKM device wcd0 #IDE CD-ROM # syscons is the default console driver, resembling an SCO console +device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr -controller atkbdc0 at isa? port IO_KBD tty -device atkbd0 at isa? tty irq 1 -device vga0 at isa? port ? conflicts -device sc0 at isa? tty +device npx0 at isa? port "IO_NPX" irq 13 vector npxintr -device npx0 at isa? port IO_NPX irq 13 +device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 vector siointr +device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr +device sio2 at isa? disable port "IO_COM3" tty irq 5 vector siointr +device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr -device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 -device sio1 at isa? port "IO_COM2" tty irq 3 -device sio2 at isa? disable port "IO_COM3" tty irq 5 -device sio3 at isa? disable port "IO_COM4" tty irq 9 - -device lpt0 at isa? port? tty irq 7 +device lpt0 at isa? port? tty irq 7 vector lptintr # Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. # Right now it appears that the ie0 must be probed before ep0. See # revision 1.20 of this file. device de0 +device de1 device fxp0 +device fxp1 -device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 -device ed1 at isa? port 0x300 net irq 10 iomem 0xd0000 -device ep0 at isa? port 0x300 net irq 10 -device ep1 at isa? port 0x280 net irq 5 -device ie0 at isa? port 0x300 net irq 5 iomem 0xd0000 -device ie1 at isa? port 0x360 net irq 7 iomem 0xd0000 +device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr +device ed1 at isa? port 0x300 net irq 5 iomem 0xd0000 vector edintr +device ie0 at isa? port 0x280 net irq 10 iomem 0xd0000 vector ieintr +device ie1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector ieintr +device ep0 at isa? port 0x300 net irq 10 vector epintr +device ep1 at isa? port 0x280 net irq 5 vector epintr +#device ex0 at isa? port? net irq? vector exintr +#device fe0 at isa? port 0x300 net irq ? vector feintr +#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr +#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr +#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr +#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr +#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr pseudo-device loop pseudo-device ether diff --git a/release/picobsd/net/crunch1/Makefile b/release/picobsd/net/crunch1/Makefile index 8ee9026bb125..0966f3830be6 100644 --- a/release/picobsd/net/crunch1/Makefile +++ b/release/picobsd/net/crunch1/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.2 1998/10/15 21:40:03 abial Exp $ +# $Id: Makefile,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ # SRC?=/usr/src @@ -7,17 +7,21 @@ all: crunch crunch: @if [ ! -f .patched ]; then \ + cat login.diff|(cd /usr/src/usr.bin/login; patch -p0); \ cat passwd.diff|(cd /usr/src/usr.bin/passwd; patch -p0); \ + cat ppp.diff|(cd /usr/src/usr.sbin/ppp; patch -p0); \ touch .patched; \ fi @cat crunch.conf|sed -e "s@/usr/src@${SRC}@" >crunch1.conf @crunchgen ./crunch1.conf - @${MAKE} -f crunch1.mk -DNOPAM all \ + @${MAKE} -f crunch1.mk all \ "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY -DNOSECURE -DNOCRYPT" #2>&1 >/dev/null clean: @if [ -f .patched ]; then \ + cat login.diff|(cd /usr/src/usr.bin/login; patch -R -p0); \ cat passwd.diff|(cd /usr/src/usr.bin/passwd; patch -R -p0); \ + cat ppp.diff|(cd /usr/src/usr.sbin/ppp; patch -R -p0); \ rm .patched; \ fi rm -f *.o *.stub *.lo *_stub.c *.mk \ @@ -38,7 +42,7 @@ install: done rm /mnt/stand/crunch # Install the MIB files - #cp mibs/*.txt /mnt/usr/local/share/snmp/mibs/ + cp mibs/*.txt /mnt/usr/local/share/snmp/mibs/ .include <bsd.prog.mk> diff --git a/release/picobsd/net/crunch1/crunch.conf b/release/picobsd/net/crunch1/crunch.conf index 1114f069002d..7aa5e1d1e593 100644 --- a/release/picobsd/net/crunch1/crunch.conf +++ b/release/picobsd/net/crunch1/crunch.conf @@ -1,5 +1,5 @@ # -# $Id: crunch.conf,v 1.4 1998/09/15 11:12:25 abial Exp $ +# $Id: crunch.conf,v 1.3 1998/09/15 07:35:38 abial Exp $ # # NOTE: the string "/usr/src" will be automatically replaced with the # correct value set in 'build' script - you should change it there @@ -16,7 +16,7 @@ srcdirs ../../tinyware # OBJS=${MIBOBJS} ${AGENTOBJS} # * we install a special version of MIB files - stripped of comments and # descriptions. These MIBs are included here to save you the stripping. -#srcdirs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5.3 +srcdirs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5 # other sources srcdirs /usr/src/bin srcdirs /usr/src/sbin/i386 @@ -27,13 +27,12 @@ srcdirs /usr/src/usr.sbin srcdirs /usr/src/libexec progs ash test echo hostname ln login getty stty -progs inetd telnetd w msg kget +progs inetd telnetd w msg kget snmpd progs init ifconfig df sps ns vm cat progs cp rm mknod chmod chown mkdir ls syslogd progs sysctl route pwd_mkdb dev_mkdb progs mount mount_msdos umount progs kill mount_std natd -#progs snmpd progs pwd ppp telnet more progs passwd date @@ -55,7 +54,7 @@ ln ns netstat ln chown chgrp # For snmpd -#libs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5.3/snmplib/libsnmp.a +libs /usr/ports/net/ucd-snmp/work/ucd-snmp-3.5/snmplib/libsnmp.a libs -lncurses -lmytinfo -lipx -lz -lpcap -lalias libs -ledit -lutil -lmd -lcrypt -lmp -lgmp -lm -lkvm libs -lgnuregex -ltelnet diff --git a/release/picobsd/net/floppy.tree/etc/hosts b/release/picobsd/net/floppy.tree/etc/hosts new file mode 100644 index 000000000000..c3563eae8767 --- /dev/null +++ b/release/picobsd/net/floppy.tree/etc/hosts @@ -0,0 +1,5 @@ +# $Id: hosts.pl,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ +# This file should contain the addresses and aliases +# for local hosts that share this file. +127.0.0.1 localhost localhost.mydomain.org.pl +127.0.0.1 pico.mydomain.org.pl diff --git a/release/picobsd/net/floppy.tree/etc/login.conf b/release/picobsd/net/floppy.tree/etc/login.conf index 8e0451e1d2d7..bde61214b21c 100644 --- a/release/picobsd/net/floppy.tree/etc/login.conf +++ b/release/picobsd/net/floppy.tree/etc/login.conf @@ -1,7 +1,7 @@ # This file controls resource limits, accounting limits and # default user environment settings. # -# $Id: login.conf,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ +# $Id: login.conf,v 1.1.1.1 1998/07/14 07:30:49 abial Exp $ # @@ -45,7 +45,7 @@ standard:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,EDITOR=/usr/bin/ee:\ :path=~/bin /bin /usr/bin:\ - :nologin=/var/run/nologin:\ + :nologin=/etc/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :stacksize=2M:\ diff --git a/release/picobsd/net/floppy.tree/etc/motd b/release/picobsd/net/floppy.tree/etc/motd new file mode 100644 index 000000000000..547a0684b95b --- /dev/null +++ b/release/picobsd/net/floppy.tree/etc/motd @@ -0,0 +1,12 @@ +======================================================= + [31m)\_)\[37m +PicoBSD 0.42 (NET) [31m([37m[1mo,o[m[31m)[37m + [32m__ [31m\~/[37m +Witamy w PicoBSD! [32m-->=[41m===[40m[31m\[37m + [32m~~[37m [31md d[37m +W glownym katalogu w pliku README znajdziesz [35mpico[37m +krotki opis systemu. Mozesz go obejrzec przy pomocy +"more /README". + +Wiecej informacji znajdziesz u autora (abial@nask.pl). + diff --git a/release/picobsd/net/floppy.tree/etc/rc b/release/picobsd/net/floppy.tree/etc/rc new file mode 100644 index 000000000000..05c5f4f5b6f0 --- /dev/null +++ b/release/picobsd/net/floppy.tree/etc/rc @@ -0,0 +1,62 @@ +#!/bin/sh +# $Id: rc.pl,v 1.2 1998/09/26 17:27:24 abial Exp $ +############################################ +### Special setup for one floppy PICOBSD ### +### THIS IS NOT THE NORMAL /etc/rc !!!!! ### +############################################ +mount -a -t nonfs +if [ -f /etc/rc.conf ]; then + . /etc/rc.conf +fi +rm -f /var/run/* +if [ "x$swapfile" != "xNO" -a -w "$swapfile" -a -b /dev/vn0b ]; then + echo "Dodaje $swapfile jako dodatkowy swap." + vnconfig /dev/vn0b $swapfile && swapon /dev/vn0b +fi +# configure serial devices +if [ -f /etc/rc.serial ]; then + . /etc/rc.serial +fi +# start up the initial network configuration. +if [ -f /etc/rc.network ]; then + . /etc/rc.network + network_pass1 +fi +mount -a -t nfs +# clean up left-over files +(cd /var/run && { cp /dev/null utmp; chmod 644 utmp; }) +if [ -n "$network_pass1_done" ]; then + network_pass2 +fi +if [ -n "$network_pass2_done" ]; then + network_pass3 +fi +if [ "X${inetd_enable}" = X"YES" ]; then + echo "Uruchamiam inetd."; inetd ${inetd_flags} +fi +if [ "X${snmpd_enable}" = X"YES" ]; then + echo "Uruchamiam snmpd."; snmpd ${snmpd_flags} +fi + +dev_mkdb + +echo '' +if [ "x$swapfile" = "xNO" ]; then + echo "UWAGA: brak swapu!" + echo "Nie uruchamiaj zbyt wielu programow na raz..." +fi +echo '' +echo '' +echo '+------------ PicoBSD 0.42 (NET) --------------+' +echo '| |' +echo '| Zaloguj sie jako "root" (haslo "setup"). |' +echo '| |' +echo '| Ta wersja PicoBSD w pelni podlega |' +echo '| licencji BSD. Po wiecej szczegolow zajrzyj |' +echo '| na http://www.freebsd.org/~picobsd, lub |' +echo '| skontaktuj sie z autorem. |' +echo '| |' +echo '| abial@nask.pl |' +echo '| |' +echo '+----------------------------------------------+' +exit 0 diff --git a/release/picobsd/net/floppy.tree/etc/rc.conf b/release/picobsd/net/floppy.tree/etc/rc.conf new file mode 100644 index 000000000000..c4cdac8b9000 --- /dev/null +++ b/release/picobsd/net/floppy.tree/etc/rc.conf @@ -0,0 +1,25 @@ +#!/bin/sh +# $Id: rc.conf.pl,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ +swapfile="NO" # Set to name of swapfile if aux swapfile desired. +### Network configuration sub-section ###################### +### Basic network options: ### +hostname="pico.mydomain.org.pl" # Set this! +firewall="NO" # firewall type (see /etc/rc.firewall) or NO +tcp_extensions="NO" # Allow RFC1323 & RFC1644 extensions (or NO). +network_interfaces="lo0" # List of network interfaces (lo0 is loopback). +ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. +#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry. +### Network daemons options: ### +inetd_enable="YES" # Run the network daemon dispatcher (or NO) +inetd_flags="" # Optional flags to inetd +snmpd_enable="YES" # Run the SNMP daemon (or NO) +snmpd_flags="-C -c /etc/snmpd.conf" # Optional flags to snmpd +### Network routing options: ### +defaultrouter="NO" # Set to default gateway (or NO). +static_routes="" # Set to static route list (or leave empty). +gateway_enable="NO" # Set to YES if this host will be a gateway. +arpproxy_all="" # replaces obsolete kernel option ARP_PROXYALL. +### Allow local configuration override at the very end here ## +if [ -f /etc/rc.conf.local ]; then + . /etc/rc.conf.local +fi diff --git a/release/picobsd/net/floppy.tree/etc/rc.network b/release/picobsd/net/floppy.tree/etc/rc.network new file mode 100644 index 000000000000..3079c94d9604 --- /dev/null +++ b/release/picobsd/net/floppy.tree/etc/rc.network @@ -0,0 +1,80 @@ +#!/bin/sh - +# $Id: rc.network.pl,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ +network_pass1() { + echo -n 'Wstepna konfiguracja sieci:' + # Set the host name if it is not already set + if [ -z "`hostname -s`" ] ; then + hostname $hostname + echo ' hostname' + fi + # Set up all the network interfaces, calling startup scripts if needed + for ifn in ${network_interfaces}; do + if [ -e /etc/start_if.${ifn} ]; then + . /etc/start_if.${ifn} + fi + # Do the primary ifconfig if specified + eval ifconfig_args=\$ifconfig_${ifn} + if [ -n "${ifconfig_args}" ] ; then + ifconfig ${ifn} ${ifconfig_args} + fi + # Check to see if aliases need to be added + alias=0 + while : + do + eval ifconfig_args=\$ifconfig_${ifn}_alias${alias} + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} alias + alias=`expr ${alias} + 1` + else + break; + fi + done + ifconfig ${ifn} + done + # Load the filters if required + if [ -n "$firewall_enable" -a -f /etc/rc.firewall -a \ + "x$firewall_enable" = "xYES" ] ; then + . /etc/rc.firewall + echo "Zaladowano reguly filtrujace do firewalla." + else + echo "UWAGA: system posiada wbudowany modul firewalla, ale zadne reguly" + echo " filtrujace nie zostaly zaladowane." + echo " Wszystkie rodzaje ruchu IP sa dozwolone." + fi + # Configure routing + if [ "x$defaultrouter" != "xNO" ] ; then + static_routes="default ${static_routes}" + route_default="default ${defaultrouter}" + fi + # Set up any static routes. This should be done before router discovery. + if [ "x${static_routes}" != "x" ]; then + for i in ${static_routes}; do + eval route_args=\$route_${i} + route add ${route_args} + done + fi + echo -n 'Dodatkowe opcje routingu:' + if [ -n "$tcp_extensions" -a "x$tcp_extensions" != "xYES" ] ; then + echo -n ' tcp_extensions=NO' + sysctl -w net.inet.tcp.rfc1323=0 >/dev/null 2>&1 + sysctl -w net.inet.tcp.rfc1644=0 >/dev/null 2>&1 + fi + if [ "X$gateway_enable" = X"YES" ]; then + echo -n ' IP_gateway=YES' + sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1 + fi + if [ "X$arpproxy_all" = X"YES" ]; then + echo -n ' wlaczam ARP_PROXY_ALL: ' + sysctl -w net.link.ether.inet.proxyall=1 2>&1 + fi + echo '.' + network_pass1_done=YES # Let future generations know we made it. +} + +network_pass2() { + network_pass2_done=YES +} + +network_pass3() { + network_pass3_done=YES +} diff --git a/release/picobsd/net/floppy.tree/etc/resolv.conf b/release/picobsd/net/floppy.tree/etc/resolv.conf new file mode 100644 index 000000000000..fe9223b69f87 --- /dev/null +++ b/release/picobsd/net/floppy.tree/etc/resolv.conf @@ -0,0 +1,3 @@ +# $Id: resolv.conf.pl,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ +domain mydomain.org.pl +nameserver 148.81.16.51 diff --git a/release/picobsd/net/floppy.tree/etc/services b/release/picobsd/net/floppy.tree/etc/services index eec499fafec7..817b6d315272 100644 --- a/release/picobsd/net/floppy.tree/etc/services +++ b/release/picobsd/net/floppy.tree/etc/services @@ -91,4 +91,3 @@ uucp 540/tcp uucp 540/udp uucp-rlogin 541/tcp uucp-rlogin 541/udp -natd 8668/divert # Network Address Translation diff --git a/release/picobsd/net/lang/README.en b/release/picobsd/net/lang/README.en index 2d358de0a937..ad398f76a24d 100644 --- a/release/picobsd/net/lang/README.en +++ b/release/picobsd/net/lang/README.en @@ -38,4 +38,4 @@ I'll be glad hearing from you about your experiences with PicoBSD. Thanks. Have fun! -Andrzej Bialecki <abial@freebsd.org> +Andrzej Bialecki <abial@nask.pl> diff --git a/release/picobsd/net/lang/README.pl b/release/picobsd/net/lang/README.pl index d7e3f6755ceb..3ac412c3fa57 100644 --- a/release/picobsd/net/lang/README.pl +++ b/release/picobsd/net/lang/README.pl @@ -53,4 +53,4 @@ Jakie sa roznice w stosunku do poprzedniej wersji? Milej zabawy! -Andrzej Bialecki <abial@freebsd.org> +Andrzej Bialecki <abial@nask.pl> diff --git a/release/picobsd/net/lang/m.en b/release/picobsd/net/lang/m.en new file mode 100644 index 000000000000..f6df2234bf01 --- /dev/null +++ b/release/picobsd/net/lang/m.en @@ -0,0 +1,11 @@ + +PicoBSD 0.35 (NET) + +Welcome to PicoBSD! + +You can find a short description of the +system in file /README. You can view it using +"more /README". + +For more info contact the author (abial@nask.pl). + diff --git a/release/picobsd/net/lang/m.pl b/release/picobsd/net/lang/m.pl new file mode 100644 index 000000000000..ff39857afb1f --- /dev/null +++ b/release/picobsd/net/lang/m.pl @@ -0,0 +1,11 @@ + +PicoBSD 0.35 (NET) + +Witamy w PicoBSD! + +W glownym katalogu w pliku README znajdziesz +krotki opis systemu. Mozesz go obejrzec przy pomocy +"more /README". + +Wiecej informacji znajdziesz u autora (abial@nask.pl). + diff --git a/release/picobsd/net/lang/motd.en b/release/picobsd/net/lang/motd.en index f3f774471f11..c498edc1aa6f 100644 --- a/release/picobsd/net/lang/motd.en +++ b/release/picobsd/net/lang/motd.en @@ -8,5 +8,5 @@ You can find a short description of the [35mpico[37m system in file /README. You can view it using "more /README". -For more info contact the author (abial@freebsd.org). +For more info contact the author (abial@nask.pl). diff --git a/release/picobsd/net/lang/motd.pl b/release/picobsd/net/lang/motd.pl index 9f8cedfe797c..12acd4e2a66f 100644 --- a/release/picobsd/net/lang/motd.pl +++ b/release/picobsd/net/lang/motd.pl @@ -8,5 +8,5 @@ W glownym katalogu w pliku README znajdziesz [35mpico[37m krotki opis systemu. Mozesz go obejrzec przy pomocy "more /README". -Wiecej informacji znajdziesz u autora (abial@freebsd.org). +Wiecej informacji znajdziesz u autora (abial@nask.pl). diff --git a/release/picobsd/net/lang/rc.en b/release/picobsd/net/lang/rc.en index 295a882dfc7a..7658846b7144 100644 --- a/release/picobsd/net/lang/rc.en +++ b/release/picobsd/net/lang/rc.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc.en,v 1.4 1999/01/12 14:09:21 asami Exp $ +# $Id: rc.en,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ ############################################ ### Special setup for one floppy PICOBSD ### ### THIS IS NOT THE NORMAL /etc/rc !!!!! ### @@ -25,6 +25,7 @@ fi mount -a -t nfs chmod 666 /dev/tty[pqrsPQRS]* # clean up left-over files +rm -f /etc/nologin (cd /var/run && { cp /dev/null utmp; chmod 644 utmp; }) if [ -n "$network_pass1_done" ]; then network_pass2 @@ -35,6 +36,9 @@ fi if [ "X${inetd_enable}" = X"YES" ]; then echo "Starting inetd."; inetd ${inetd_flags} fi +if [ "X${snmpd_enable}" = X"YES" ]; then + echo "Starting snmpd."; snmpd ${snmpd_flags} +fi dev_mkdb @@ -54,7 +58,7 @@ echo '| BSD license. For more details see |' echo '| http://www.freebsd.org/~picobsd, or contact |' echo '| the author. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' exit 0 diff --git a/release/picobsd/net/lang/rc.pl b/release/picobsd/net/lang/rc.pl index d19f3367a6f2..130ec42fe546 100644 --- a/release/picobsd/net/lang/rc.pl +++ b/release/picobsd/net/lang/rc.pl @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc.pl,v 1.3 1998/11/01 20:19:23 abial Exp $ +# $Id: rc.pl,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ ############################################ ### Special setup for one floppy PICOBSD ### ### THIS IS NOT THE NORMAL /etc/rc !!!!! ### @@ -34,6 +34,9 @@ fi if [ "X${inetd_enable}" = X"YES" ]; then echo "Uruchamiam inetd."; inetd ${inetd_flags} fi +if [ "X${snmpd_enable}" = X"YES" ]; then + echo "Uruchamiam snmpd."; snmpd ${snmpd_flags} +fi dev_mkdb @@ -53,7 +56,7 @@ echo '| licencji BSD. Po wiecej szczegolow zajrzyj |' echo '| na http://www.freebsd.org/~picobsd, lub |' echo '| skontaktuj sie z autorem. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' exit 0 diff --git a/release/picobsd/net/lang/update.en b/release/picobsd/net/lang/update.en index cf6e1b131b42..012cbaacd698 100755 --- a/release/picobsd/net/lang/update.en +++ b/release/picobsd/net/lang/update.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: update.en,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ +# $Id: update.en,v 1.3 1998/08/10 19:17:11 abial Exp $ pwd=`pwd` echo -n "Updating /etc contents on startup floppy... " mount /dev/fd0a /start_floppy @@ -17,7 +17,7 @@ cp -Rp . /start_floppy/etc/ pwd_mkdb master.passwd echo " Done." echo -n "Updating kernel parameters... " -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a cd ${pwd} echo " Done." diff --git a/release/picobsd/net/lang/update.pl b/release/picobsd/net/lang/update.pl index 3055d05356f6..c1bf95b7f2cb 100755 --- a/release/picobsd/net/lang/update.pl +++ b/release/picobsd/net/lang/update.pl @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: update.pl,v 1.1.1.1 1998/08/27 17:38:43 abial Exp $ +# $Id: update.pl,v 1.3 1998/08/10 19:17:11 abial Exp $ pwd=`pwd` echo -n "Uaktualniam katalog /etc na dyskietce... " mount /dev/fd0a /start_floppy @@ -17,7 +17,7 @@ cp -Rp . /start_floppy/etc/ pwd_mkdb master.passwd echo " Zrobione." echo -n "Uaktualniam parametry jadra..." -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a cd ${pwd} echo " Zrobione." diff --git a/release/picobsd/router/conf/Makefile b/release/picobsd/router/conf/Makefile index bd33b5e9d02d..52a6b75c6e3b 100644 --- a/release/picobsd/router/conf/Makefile +++ b/release/picobsd/router/conf/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1998/10/15 21:40:05 abial Exp $ +# $Id: Makefile,v 1.2 1998/09/29 12:12:47 abial Exp $ # SRC?=/usr/src @@ -17,5 +17,5 @@ $(KERNFILE): PICOBSD (cd ${CONF}; \ config ${CONFFILE}; \ cd ${COMPILE}; \ - make depend all) + make depend && make) diff --git a/release/picobsd/router/conf/PICOBSD b/release/picobsd/router/conf/PICOBSD index 4a277e8ec2fc..0a8d652c1d9f 100644 --- a/release/picobsd/router/conf/PICOBSD +++ b/release/picobsd/router/conf/PICOBSD @@ -1,5 +1,5 @@ # -# $Id: PICOBSD,v 1.10 1999/01/14 23:22:51 abial Exp $ +# $Id: PICOBSD,v 1.5 1998/09/23 15:20:55 abial Exp $ # machine "i386" @@ -13,7 +13,6 @@ maxusers 10 #options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem -options FFS_ROOT #options NFS #Network Filesystem options MFS #options MSDOSFS #MSDOS Filesystem @@ -34,21 +33,21 @@ options NO_SWAPPING #options DUMMYNET #options BRIDGE -config kernel root on fd0a +config kernel root on fd0 controller isa0 controller pci0 -controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 +controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr disk fd0 at fdc0 drive 0 #disk fd1 at fdc0 drive 1 #options "CMD640" # work around CMD640 chip deficiency -#controller wdc0 at isa? port "IO_WD1" bio irq 14 +#controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr #disk wd0 at wdc0 drive 0 #disk wd1 at wdc0 drive 1 -#controller wdc1 at isa? port "IO_WD2" bio irq 15 +#controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr #disk wd2 at wdc1 drive 0 #disk wd3 at wdc1 drive 1 @@ -57,20 +56,16 @@ disk fd0 at fdc0 drive 0 #device wcd0 #IDE CD-ROM # syscons is the default console driver, resembling an SCO console +device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr -controller atkbdc0 at isa? port IO_KBD tty -device atkbd0 at isa? tty irq 1 -device vga0 at isa? port ? conflicts -device sc0 at isa? tty +device npx0 at isa? port "IO_NPX" irq 13 vector npxintr -device npx0 at isa? port IO_NPX irq 13 - -device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 +device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 vector siointr device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr -device sio2 at isa? disable port "IO_COM3" tty irq 5 -device sio3 at isa? disable port "IO_COM4" tty irq 9 +device sio2 at isa? disable port "IO_COM3" tty irq 5 vector siointr +device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr -#device lpt0 at isa? port? tty irq 7 +#device lpt0 at isa? port? tty irq 7 vector lptintr # Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. @@ -79,16 +74,23 @@ device sio3 at isa? disable port "IO_COM4" tty irq 9 device de0 device fxp0 -device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 -device ed1 at isa? port 0x300 net irq 10 iomem 0xd0000 -device ep0 at isa? port 0x300 net irq 10 -device ep1 at isa? port 0x280 net irq 5 -device ie0 at isa? port 0x300 net irq 5 iomem 0xd0000 -device ie1 at isa? port 0x360 net irq 7 iomem 0xd0000 +device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr +device ed1 at isa? port 0x300 net irq 5 iomem 0xd0000 vector edintr +device ie0 at isa? port 0x280 net irq 10 iomem 0xd0000 vector ieintr +device ie1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector ieintr +device ep0 at isa? port 0x300 net irq 10 vector epintr +device ep1 at isa? port 0x280 net irq 5 vector epintr +#device ex0 at isa? port? net irq? vector exintr +#device fe0 at isa? port 0x300 net irq ? vector feintr +#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr +#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr +#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr +#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr +#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr pseudo-device loop pseudo-device ether -#pseudo-device tun 2 +#pseudo-device tun 4 #pseudo-device vn #pseudo-device bpfilter 4 pseudo-device ppp 4 diff --git a/release/picobsd/router/floppy.tree/etc/hosts b/release/picobsd/router/floppy.tree/etc/hosts new file mode 100644 index 000000000000..d74ecbad93f0 --- /dev/null +++ b/release/picobsd/router/floppy.tree/etc/hosts @@ -0,0 +1,5 @@ +# $Id: hosts.pl,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ +# This file should contain the addresses and aliases +# for local hosts that share this file. +127.0.0.1 localhost localhost.mydomain.org.pl +127.0.0.1 pico.mydomain.org.pl diff --git a/release/picobsd/router/floppy.tree/etc/login.conf b/release/picobsd/router/floppy.tree/etc/login.conf index caa56994130b..d6a8d955949d 100644 --- a/release/picobsd/router/floppy.tree/etc/login.conf +++ b/release/picobsd/router/floppy.tree/etc/login.conf @@ -1,7 +1,7 @@ # This file controls resource limits, accounting limits and # default user environment settings. # -# $Id: login.conf,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ +# $Id: login.conf,v 1.1 1998/08/02 13:03:30 abial Exp $ # @@ -45,7 +45,7 @@ standard:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,EDITOR=/usr/bin/ee:\ :path=~/bin /bin /usr/bin:\ - :nologin=/var/run/nologin:\ + :nologin=/etc/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :stacksize=2M:\ diff --git a/release/picobsd/router/floppy.tree/etc/motd b/release/picobsd/router/floppy.tree/etc/motd new file mode 100644 index 000000000000..41b2fb6a7706 --- /dev/null +++ b/release/picobsd/router/floppy.tree/etc/motd @@ -0,0 +1,11 @@ +======================================================= + [31m)\_)\[37m +PicoBSD 0.42 (ROUTER) [31m([37m[1mo,o[m[31m)[37m + [32m__ [31m\~/[37m +Witamy w PicoBSD! [32m-->=[41m===[40m[31m\[37m + [32m~~[37m [31md d[37m +Dokumentacja systemu znajduje sie na [35mpico[37m +http://www.freebsd.org/~picobsd/. + +Wiecej informacji znajdziesz u autora (abial@nask.pl). + diff --git a/release/picobsd/router/floppy.tree/etc/rc b/release/picobsd/router/floppy.tree/etc/rc new file mode 100644 index 000000000000..13716d4d8745 --- /dev/null +++ b/release/picobsd/router/floppy.tree/etc/rc @@ -0,0 +1,18 @@ +#!/bin/sh +# $Id: rc.pl,v 1.2 1998/09/26 17:27:26 abial Exp $ +### Special setup for one floppy PICOBSD ### +ifconfig lo0 inet 127.0.0.1 netmask 0xffffff00 +hostname pico +echo "" +echo "" +echo '+----------- PicoBSD 0.42 (ROUTER) ------------+' +echo '| |' +echo '| Ta wersja PicoBSD podlega w pelni licencji |' +echo '| BSD. Wiecej informacji mozna znalezc na |' +echo '| http://www.freebsd.org/~picobsd, lub u |' +echo '| autora. |' +echo '| |' +echo '| abial@nask.pl |' +echo '| |' +echo '+----------------------------------------------+' +echo "" diff --git a/release/picobsd/router/floppy.tree/etc/rc.conf b/release/picobsd/router/floppy.tree/etc/rc.conf new file mode 100644 index 000000000000..84e6fc9c4ddf --- /dev/null +++ b/release/picobsd/router/floppy.tree/etc/rc.conf @@ -0,0 +1,25 @@ +#!/bin/sh +# $Id: rc.conf,v 1.2 1998/08/10 19:17:49 abial Exp $ +swapfile="NO" # Set to name of swapfile if aux swapfile desired. +### Network configuration sub-section ###################### +### Basic network options: ### +hostname="pico.mydomain.org.pl" # Set this! +firewall="NO" # firewall type (see /etc/rc.firewall) or NO +tcp_extensions="NO" # Allow RFC1323 & RFC1644 extensions (or NO). +network_interfaces="lo0" # List of network interfaces (lo0 is loopback). +ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. +#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry. +### Network daemons options: ### +inetd_enable="YES" # Run the network daemon dispatcher (or NO) +inetd_flags="" # Optional flags to inetd +snmpd_enable="YES" # Run the SNMP daemon (or NO) +snmpd_flags="-C -c /etc/snmpd.conf" # Optional flags to snmpd +### Network routing options: ### +defaultrouter="NO" # Set to default gateway (or NO). +static_routes="" # Set to static route list (or leave empty). +gateway_enable="NO" # Set to YES if this host will be a gateway. +arpproxy_all="" # replaces obsolete kernel option ARP_PROXYALL. +### Allow local configuration override at the very end here ## +if [ -f /etc/rc.conf.local ]; then + . /etc/rc.conf.local +fi diff --git a/release/picobsd/router/floppy.tree/etc/resolv.conf b/release/picobsd/router/floppy.tree/etc/resolv.conf new file mode 100644 index 000000000000..d24da1e19f13 --- /dev/null +++ b/release/picobsd/router/floppy.tree/etc/resolv.conf @@ -0,0 +1,3 @@ +# $Id: resolv.conf.pl,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ +domain mydomain.org.pl +nameserver 148.81.16.51 diff --git a/release/picobsd/router/floppy.tree/etc/services b/release/picobsd/router/floppy.tree/etc/services index eec499fafec7..817b6d315272 100644 --- a/release/picobsd/router/floppy.tree/etc/services +++ b/release/picobsd/router/floppy.tree/etc/services @@ -91,4 +91,3 @@ uucp 540/tcp uucp 540/udp uucp-rlogin 541/tcp uucp-rlogin 541/udp -natd 8668/divert # Network Address Translation diff --git a/release/picobsd/router/lang/README.en b/release/picobsd/router/lang/README.en index 71e9dd267f46..bd289fecafdc 100644 --- a/release/picobsd/router/lang/README.en +++ b/release/picobsd/router/lang/README.en @@ -37,4 +37,4 @@ I'll be glad hearing from you about your experiences with PicoBSD. Thanks. Have fun! -Andrzej Bialecki <abial@freebsd.org> +Andrzej Bialecki <abial@nask.pl> diff --git a/release/picobsd/router/lang/README.pl b/release/picobsd/router/lang/README.pl index 269348b20c5c..ed440c1d03a9 100644 --- a/release/picobsd/router/lang/README.pl +++ b/release/picobsd/router/lang/README.pl @@ -36,4 +36,4 @@ Po dalsze szczegoly zajrzyj do oryginalnej dokumentacji. Milej zabawy! -Andrzej Bialecki <abial@freebsd.org> +Andrzej Bialecki <abial@nask.pl> diff --git a/release/picobsd/router/lang/motd.pl b/release/picobsd/router/lang/motd.pl index cfdbba9e18aa..0bb381886289 100644 --- a/release/picobsd/router/lang/motd.pl +++ b/release/picobsd/router/lang/motd.pl @@ -7,5 +7,5 @@ Witamy w PicoBSD! [32m-->=[41m===[40m[31m\[37m Dokumentacja systemu znajduje sie na [35mpico[37m http://www.freebsd.org/~picobsd/. -Wiecej informacji znajdziesz u autora (abial@freebsd.org). +Wiecej informacji znajdziesz u autora (abial@nask.pl). diff --git a/release/picobsd/router/lang/rc.en b/release/picobsd/router/lang/rc.en index ee7614ddbced..21a0e4b09f2f 100644 --- a/release/picobsd/router/lang/rc.en +++ b/release/picobsd/router/lang/rc.en @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc.en,v 1.2 1998/09/26 17:27:26 abial Exp $ +# $Id: rc.en,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ ### Special setup for one floppy PICOBSD ### ifconfig lo0 inet 127.0.0.1 netmask 0xffffff00 hostname pico @@ -12,7 +12,7 @@ echo '| BSD license. For more details see |' echo '| http://www.freebsd.org/~picobsd, or contact |' echo '| the author. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' echo "" diff --git a/release/picobsd/router/lang/rc.pl b/release/picobsd/router/lang/rc.pl index 686eec6aa1a2..167a145b4f95 100644 --- a/release/picobsd/router/lang/rc.pl +++ b/release/picobsd/router/lang/rc.pl @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc.pl,v 1.2 1998/09/26 17:27:26 abial Exp $ +# $Id: rc.pl,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ ### Special setup for one floppy PICOBSD ### ifconfig lo0 inet 127.0.0.1 netmask 0xffffff00 hostname pico @@ -12,7 +12,7 @@ echo '| BSD. Wiecej informacji mozna znalezc na |' echo '| http://www.freebsd.org/~picobsd, lub u |' echo '| autora. |' echo '| |' -echo '| abial@freebsd.org |' +echo '| abial@nask.pl |' echo '| |' echo '+----------------------------------------------+' echo "" diff --git a/release/picobsd/router/lang/update.en b/release/picobsd/router/lang/update.en index 894f70b257a2..552840c151ae 100755 --- a/release/picobsd/router/lang/update.en +++ b/release/picobsd/router/lang/update.en @@ -1,10 +1,10 @@ -# $Id: update.en,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ +# $Id: update.en,v 1.2 1998/08/10 19:17:55 abial Exp $ echo -n "Updating /etc contents on startup floppy... " mount /dev/fd0a /start_floppy cd /etc cp -Rp . /start_floppy/etc/ echo " Done." echo -n "Updating kernel parameters... " -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a echo " Done." diff --git a/release/picobsd/router/lang/update.pl b/release/picobsd/router/lang/update.pl index c4ad1c69932e..5790eb61bd84 100755 --- a/release/picobsd/router/lang/update.pl +++ b/release/picobsd/router/lang/update.pl @@ -1,11 +1,11 @@ #!/bin/sh -# $Id: update.pl,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ +# $Id: update.pl,v 1.2 1998/08/10 19:17:55 abial Exp $ echo -n "Uaktualniam katalog /etc na dyskietce... " mount /dev/fd0a /start_floppy cd /etc cp -Rp . /start_floppy/etc/ echo " Zrobione." echo -n "Uaktualniam parametry jadra..." -kget /start_floppy/kernel.config +kget -incore /start_floppy/kernel.config /stand/vanilla umount /dev/fd0a echo " Zrobione." diff --git a/release/picobsd/tinyware/aps/README b/release/picobsd/tinyware/aps/README index 760af8b53ce7..2664c449bbaf 100644 --- a/release/picobsd/tinyware/aps/README +++ b/release/picobsd/tinyware/aps/README @@ -11,9 +11,9 @@ When I have some time, I'll add usual switches and other functions that normal Also, what I'm now inclined to think is that it should be reworked to use more general (and less complicated) sysctl(3). -<abial@freebsd.org> +<abial@nask.pl> (As of 1998.07.31 this program is no longer used in PicoBSD. See sps(1) in TinyWare collection). -$Id: README,v 1.1.1.1 1998/08/27 17:38:44 abial Exp $ +$Id: README,v 1.2 1998/07/31 20:57:42 abial Exp $ diff --git a/release/picobsd/tinyware/help/README b/release/picobsd/tinyware/help/README index ededf1f29db4..8b86ba137576 100644 --- a/release/picobsd/tinyware/help/README +++ b/release/picobsd/tinyware/help/README @@ -3,6 +3,6 @@ This is work in progress. Eventually I'll prepare the help system for newbies, and these files are just the beginning of it... -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ +$Id: README,v 1.1.1.1 1998/07/14 07:30:53 abial Exp $ diff --git a/release/picobsd/tinyware/help/help.c b/release/picobsd/tinyware/help/help.c index 5c49a04c6d39..0e0c9cc54354 100644 --- a/release/picobsd/tinyware/help/help.c +++ b/release/picobsd/tinyware/help/help.c @@ -1,6 +1,6 @@ /*- * Copyright (c) 1998 Eric P. Scott <eps@sirius.com> - * Copyright (c) 1998 Andrzej Bialecki <abial@freebsd.org> + * Copyright (c) 1998 Andrzej Bialecki <abial@nask.pl> * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: help.c,v 1.3 1998/09/23 14:51:34 abial Exp $ + * $Id: help.c,v 1.2 1998/09/07 19:00:34 abial Exp $ */ diff --git a/release/picobsd/tinyware/kget/Makefile b/release/picobsd/tinyware/kget/Makefile index ba9fe16aa7b0..d55e863b19f6 100644 --- a/release/picobsd/tinyware/kget/Makefile +++ b/release/picobsd/tinyware/kget/Makefile @@ -1,9 +1,9 @@ -# $Id: Makefile,v 1.3 1998/10/25 03:16:02 abial Exp $ +# $Id: Makefile,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ # -SRC?=/usr/src PROG=kget -CFLAGS+= -I${SRC}/sys -SRCS= kget.c +CFLAGS+= -I/usr/src/sys -DUC_PRIVATE -DKERN_NO_SYMBOLS +SRCS= uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_main.h \ + uc_eisa.c uc_pci.c NOMAN=yes .include <bsd.prog.mk> diff --git a/release/picobsd/tinyware/kget/README b/release/picobsd/tinyware/kget/README index 9490dd747969..2acc5ea552d3 100644 --- a/release/picobsd/tinyware/kget/README +++ b/release/picobsd/tinyware/kget/README @@ -1,15 +1,12 @@ -1999.01.06 +1998.06.29 What is it? ----------- -This utility allows to gather device configuration which possibly -was changed in userconfig (-c) session, and to save it to /kernel.config -file on startup floppy, so that when user boots next time, the -settings will automatically be changed. - -This program uses sysctl(3) interface to retrieve data from the kernel - -the machdep.uc_devlist sysctl was added Jan 5 1999 to 3.0-current. +This utility is taken almost in its entirety from /stand/sysinstall. It allows +to gather device configuration which possibly was changed in userconfig (-c) +session, and to save it to /kernel.config file on startup floppy, so that when +user boots next time, the settings will automatically be changed. How can I use it? ----------------- @@ -17,25 +14,34 @@ How can I use it? The best way is to call it from /etc/rc in such phase when the startup floppy is mounted, and redirect its output to /kernel.config on the floppy. -Usage is straightforward: +NOTE: You need first to create symbols' list, using 'dumpnlist' utility, and +place it in /stand/symbols. - kget output_filename +Usage is straightforward: -where output_filename is either regular file (then it's created or -overwritten), or a "-" meaning standard output. + kget -incore|kernel_name output_filename [vanilla] In simplest form you can do - kget - + kget -incore - + +to list current in core parameters, or + + kget kernel_file - + +to see settings of another kernel. + +or -to list current in-core parameters, or + kget -incore - /stand/vanilla - kget /kernel.config +to produce list of changes from 'vanilla' configuration. You can redirect this +list to /kernel.config file with no changes - it already contains required +keywords. -to produce list of changes from 'vanilla' configuration and write -it to /kernel.config file - it already contains required keywords. +Credits go to Jordan K. Hubbard for 95% of this code. The rest is mine :-) Andrzej Bialecki -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.3 1998/11/01 20:19:40 abial Exp $ +$Id: README,v 1.2 1998/08/11 06:53:21 abial Exp $ diff --git a/release/picobsd/tinyware/kget/kget.c b/release/picobsd/tinyware/kget/kget.c deleted file mode 100644 index b8426e4fdc86..000000000000 --- a/release/picobsd/tinyware/kget/kget.c +++ /dev/null @@ -1,113 +0,0 @@ -/*- - * Copyright (c) 1999 Andrzej Bialecki <abial@freebsd.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id: kget.c,v 1.1 1999/01/08 21:09:42 abial Exp $ - */ - -#include <stdio.h> -#include <string.h> -#include <sys/types.h> -#include <sys/sysctl.h> -#include "i386/isa/isa_device.h" - -struct isa_device *id; -char *p; - -int -main(int argc, char *argv[]) -{ - int len,i; - char *buf; - char *mib="machdep.uc_devlist"; - char name[9]; - FILE *fout; - - if(argc<2) { - fout=stdout; - } else { - if(strcmp(argv[1],"-")==0) { - fout=stdout; - } else { - fout=fopen(argv[1],"w"); - if(fout==NULL) { - perror("opening output file"); - exit(1); - } - } - } - - /* We use sysctlbyname, because the oid is unknown (OID_AUTO) */ - - /* get the buffer size */ - i=sysctlbyname(mib,NULL,&len,NULL,NULL); - if(i) { - perror("buffer sizing"); - exit(-1); - } - buf=(char *)malloc(len*sizeof(char)); - i=sysctlbyname(mib,buf,&len,NULL,NULL); - if(i) { - perror("retrieving data"); - exit(-1); - } - i=0; - while(i<len) { - id=(struct isa_device *)(buf+i); - p=(buf+i+sizeof(struct isa_device)); - strncpy(name,p,8); - if(!id->id_enabled) { - fprintf(fout,"di %s%d\n",name,id->id_unit); - } else { - fprintf(fout,"en %s%d\n",name,id->id_unit); - if(id->id_iobase>0) { - fprintf(fout,"po %s%d %#x\n",name,id->id_unit, - id->id_iobase); - } - if(id->id_irq>0) { - fprintf(fout,"ir %s%d %d\n",name,id->id_unit, - ffs(id->id_irq)-1); - } - if(id->id_drq>0) { - fprintf(fout,"dr %s%d %d\n",name,id->id_unit, - id->id_drq); - } - if(id->id_maddr>0) { - fprintf(fout,"iom %s%d %#x\n",name,id->id_unit, - id->id_maddr); - } - if(id->id_msize>0) { - fprintf(fout,"ios %s%d %d\n",name,id->id_unit, - id->id_msize); - } - fprintf(fout,"f %s%d %#x\n",name,id->id_unit, - id->id_flags); - } - i+=sizeof(struct isa_device)+8; - } - fprintf(fout,"q\n"); - fclose(fout); - free(buf); - exit(0); -} diff --git a/release/picobsd/tinyware/kget/kget.h b/release/picobsd/tinyware/kget/kget.h new file mode 100644 index 000000000000..fc88782379f7 --- /dev/null +++ b/release/picobsd/tinyware/kget/kget.h @@ -0,0 +1,2 @@ +#define SAFE_STRCPY strcpy +#define msgDebug printf diff --git a/release/picobsd/tinyware/kget/uc_eisa.c b/release/picobsd/tinyware/kget/uc_eisa.c new file mode 100644 index 000000000000..c0483fc8d3a2 --- /dev/null +++ b/release/picobsd/tinyware/kget/uc_eisa.c @@ -0,0 +1,166 @@ +/*************************************************** + * file: userconfig/uc_eisa.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_eisa.c,v 1.5 1998/09/14 19:14:11 jkh Exp $ + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <nlist.h> +#include <i386/eisa/eisaconf.h> + +#include "uc_main.h" + +struct eisa_device_node { + struct eisa_device dev; + struct eisa_device_node *next; +}; + +/* module prototypes */ +static void eisa_fill_in(struct kernel *, struct uc_eisa *, struct eisa_device_node *); + +void +get_eisa_info(struct kernel *kp){ + int i, total; + u_int *ls; + struct eisa_driver *ed; + struct uc_eisa *ep, *epc; + char *name; + + if(kp->nl[EISA_SET].n_value || kp->nl[EISA_LIST].n_value) { + ep=epc=(struct uc_eisa *)malloc(sizeof(struct uc_eisa)); + if(!kp->incore) { + if(kp->nl[EISA_SET].n_value) { + u_int ndev; + ls=(u_int *)kv_to_u(kp, kp->nl[EISA_SET].n_value, sizeof(u_int)*10); /* XXX, size? */ + ndev=ls[0]; + for(i=1;i<(ndev+1);i++){ + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*i); + epc = ep+(i-1); + ed=(struct eisa_driver *)kv_to_u(kp, ls[i], sizeof(struct eisa_driver)); + name=(char *)kv_to_u(kp, (u_int)ed->name, 10); /* XXX, size? */ + asprintf(&epc->device, "%s", name); + asprintf(&epc->full_name, "?"); + } + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*i); + epc = ep+(i-1); + bzero(epc, sizeof(struct uc_eisa)); + kp->eisa_devp=ep; + } else { /* not incore and no symbol, we have no EISA devs... */ + kp->eisa_devp=(struct uc_eisa *)0; + } + } else { + /* if we're incore, we can get data from _eisa_dev_list, */ + /* which should be much more useful, but I'll need a machine */ + /* to test :( */ + if(kp->nl[EISA_LIST].n_value) { + u_int t; + struct eisa_device_node *edn; + + t=kv_dref_p(kp, kp->nl[EISA_LIST].n_value); + total=0; + while(t) { + edn=(struct eisa_device_node *) + kv_to_u(kp, t,sizeof(struct eisa_device_node)); + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*(total+1)); + epc=ep+total; + eisa_fill_in(kp, epc, edn); + t=(u_int)edn->next; + free(edn); + total++; + } + + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*(total+1)); + epc=ep+total; + bzero(epc, sizeof(struct uc_eisa)); + kp->eisa_devp=ep; + } else { + kp->eisa_devp=(struct uc_eisa *)0; + } + } + } else { + kp->eisa_devp=(struct uc_eisa *)0; + } +} + +struct list * +get_eisa_devlist(struct kernel *kp){ + struct list *dl; + struct uc_eisa *kdp; + + dl=list_new(); + + for(kdp=kp->eisa_devp; kdp->device; kdp++){ + list_append(dl, kdp->device); + } + return(dl); +} + + +struct list * +get_eisa_device(struct uc_eisa *ep){ + struct list *list; + list=list_new(); + + list_append(list, ep->device); + list_append(list, ep->full_name); + + return(list); +} + + +static void +eisa_fill_in(struct kernel *kp, struct uc_eisa *epc, struct eisa_device_node *edn){ + struct eisa_driver *edrv; + char *n; + + edrv=(struct eisa_driver *)kv_to_u(kp, (u_int)edn->dev.driver, + sizeof(struct eisa_driver)); + + n=(char *)kv_to_u(kp, (u_int)edrv->name, 20); + asprintf(&epc->device, "%s%lu", n, edn->dev.unit); + free(n); + + n=(char *)kv_to_u(kp, (u_int)edn->dev.full_name, 40); /*XXX*/ + asprintf(&epc->full_name, "%s", n); + free(n); + free(edrv); +} + +void +eisa_free(struct kernel *kp, int writeback){ + struct uc_eisa *ep; + + for(ep=kp->eisa_devp;ep->device;ep++){ + free(ep->device); + free(ep->full_name); + } + free(kp->eisa_devp); + kp->eisa_devp=0; +} + +/* end of userconfig/uc_eisa.c */ diff --git a/release/picobsd/tinyware/kget/uc_isa.c b/release/picobsd/tinyware/kget/uc_isa.c new file mode 100644 index 000000000000..6a5d750e49d9 --- /dev/null +++ b/release/picobsd/tinyware/kget/uc_isa.c @@ -0,0 +1,211 @@ +/*************************************************** + * file: userconfig/uc_isa.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_isa.c,v 1.5 1998/10/06 07:41:48 msmith Exp $ + */ + +#include <sys/types.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <nlist.h> +#include <i386/isa/isa_device.h> + +#include "uc_main.h" + +void +get_isa_info(struct kernel *kp){ + int total, i, j; + struct uc_isa *idp; + struct isa_device *p, *isa_dp; + struct isa_driver *drv; + char *name; + + if(kp->nl[ISA_BIOTAB].n_value || kp->nl[ISA_TTYTAB].n_value || kp->nl[ISA_NETTAB].n_value || + kp->nl[ISA_CAMTAB].n_value || kp->nl[ISA_NULLTAB].n_value || + kp->nl[ISA_WDCTAB].n_value || kp->nl[ISA_FDCTAB].n_value) { + + idp = kp->isa_devp = (struct uc_isa *)malloc(sizeof(struct uc_isa)); + total=0; /* a running total of the number of isa devices */ + + for (i=0; i<6; i++) { /* the isa devices */ + if(kp->nl[i].n_value) { + p = isa_dp = (struct isa_device *)kv_to_u(kp, kp->nl[i].n_value, /* XXX size? */ + sizeof(struct isa_device)*30); + /* build the device list */ + /* `total' keeps a running total of all the devices found */ + for (j=0; p->id_id; j++, p++, total++) { + kp->isa_devp = (struct uc_isa *)realloc(kp->isa_devp, + sizeof(struct uc_isa)*(total+1)); + idp=kp->isa_devp+total; + + drv=(struct isa_driver *)kv_to_u(kp, (u_int)p->id_driver, sizeof(struct isa_driver)); + name=(char *)kv_to_u(kp, (u_int)drv->name, 64); + + if (i==ISA_WDCTAB || i==ISA_FDCTAB) { /* special case the disk devices */ + char n[10]; + strncpy(n, name, 10); + n[strlen(n)-1]=0; /* chop off the trailing 'c' */ + asprintf(&idp->device, "%s%d", n, j); + } else { + asprintf(&idp->device, "%s%d", name, p->id_unit); + } + idp->port=p->id_iobase; + idp->irq=p->id_irq; + idp->drq=p->id_drq; + idp->iomem=(u_int)p->id_maddr & 0xFFFFFF; /* kludge to get pa from kva */ + idp->iosize=p->id_msize; + idp->flags=p->id_flags; + idp->alive=p->id_alive; + idp->enabled=p->id_enabled; + idp->modified=0; + if(!kp->incore){ + idp->idp=p; + } else { + free(name); + free(drv); + } + } + if(kp->incore){ + free(isa_dp); + } + } + } + + idp=kp->isa_devp+total; + bzero(idp, sizeof(struct uc_isa)); + } else { + kp->isa_devp=0; + } +} + + +struct list * +get_isa_devlist(struct kernel *kp){ + struct list *dl; + struct uc_isa *kdp; + + dl=list_new(); + + for(kdp=kp->isa_devp; kdp->device; kdp++){ + list_append(dl, kdp->device); + } + return(dl); +} + + +struct list * +get_isa_device(struct uc_isa *ip){ + struct list *list; + char *tmp; + + list=list_new(); + + asprintf(&tmp, "%s", ip->device ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%04x", ip->port ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->irq>0 ? ffs(ip->irq)-1 : ip->irq); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->drq ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%08x", ip->iomem ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%x", ip->iosize ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%x", ip->flags ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->alive ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->enabled ); + list_append(list, tmp); + free(tmp); + + return(list); +} + +int +isa_setdev(struct kernel *kp, struct list *list){ + int r=1, irq; + struct uc_isa *ip; + + if(kp->isa_devp) + for(ip=kp->isa_devp;ip->device;ip++){ + if(strcmp(list->av[0], ip->device)==0){ + ip->modified=1; + ip->port = strtol(list->av[1], (char **)NULL, 0); + irq=strtol(list->av[2], (char **)NULL, 0); + ip->irq= irq > 0 ? 1 << (irq) : irq; + ip->drq = strtol(list->av[3], (char **)NULL, 0); + ip->iomem = strtol(list->av[4], (char **)NULL, 0); + ip->iosize = strtol(list->av[5], (char **)NULL, 0); + ip->flags = strtol(list->av[6], (char **)NULL, 0); + ip->enabled = strtol(list->av[8], (char **)NULL, 0); + r=0; + break; + } + } + return(r); +} + +void +isa_free(struct kernel *kp, int writeback){ + struct uc_isa *ip; + for(ip=kp->isa_devp; ip->device; ip++){ + if((!kp->incore) && ip->modified && writeback) { + /* save any changes */ + ip->idp->id_iobase=ip->port; + ip->idp->id_irq = ip->irq; + ip->idp->id_drq = ip->drq; + ip->idp->id_maddr = (caddr_t)ip->iomem; + ip->idp->id_msize = ip->iosize; + ip->idp->id_flags = ip->flags; + ip->idp->id_enabled = ip->enabled; + } + /* and, be free... */ + free(ip->device); + } + /* and free the whole ball of wax */ + free(kp->isa_devp); + kp->isa_devp=0; +} + +/* end of userconfig/uc_isa.c */ diff --git a/release/picobsd/tinyware/kget/uc_kmem.c b/release/picobsd/tinyware/kget/uc_kmem.c new file mode 100644 index 000000000000..159fb150a5d4 --- /dev/null +++ b/release/picobsd/tinyware/kget/uc_kmem.c @@ -0,0 +1,87 @@ +/*************************************************** + * file: userconfig/uc_kmem.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_kmem.c,v 1.3 1997/02/22 14:12:28 peter Exp $ + */ + +#include <sys/types.h> +#include <stdlib.h> +#include <unistd.h> +#include <a.out.h> + +#include <stdio.h> + +#include "uc_main.h" + +/* translate a kv pointer to user space */ +/* malloc()-ing if we aren't mmaped */ +u_int +kv_to_u(struct kernel *kp, u_int adr, u_int size){ + u_int tadr; + if(!kp->incore){ + struct exec *ep; + ep=(struct exec *)kp->core; + tadr=(u_int)((adr - ep->a_entry + (N_DATOFF(*ep) - ep->a_text))+kp->core); + } else { + caddr_t ptr; + ptr = malloc(size); + lseek(kp->fd, adr, SEEK_SET); + read(kp->fd, ptr, size); + tadr=(u_int)ptr; + } + return(tadr); +} + +/* dereference a pointer to kernel space */ +u_int +kv_dref_p(struct kernel *kp, u_int adr){ + u_int tadr; + if(!kp->incore){ + struct exec *ep; + ep=(struct exec *)kp->core; + tadr=*(u_int*)((adr - ep->a_entry + (N_DATOFF(*ep) - ep->a_text))+kp->core); + } else { + lseek(kp->fd, adr, SEEK_SET); + read(kp->fd, &tadr, sizeof(tadr)); + } + return(tadr); +} + +/* deref a pointer to kernel text */ +u_int +kv_dref_t(struct kernel *kp, u_int adr){ + u_int tadr; + if(!kp->incore){ + struct exec *ep; + ep=(struct exec *)kp->core; + tadr=*(u_int*)((adr - ep->a_entry) + N_TXTOFF(*ep) + (u_int)kp->core); + } else { + lseek(kp->fd, adr, SEEK_SET); + read(kp->fd, &tadr, sizeof(tadr)); + } + return(tadr); +} + +/* end of userconfig/uc_kmem.c */ diff --git a/release/picobsd/tinyware/kget/uc_list.c b/release/picobsd/tinyware/kget/uc_list.c new file mode 100644 index 000000000000..e2b6bd5cb584 --- /dev/null +++ b/release/picobsd/tinyware/kget/uc_list.c @@ -0,0 +1,76 @@ +/*************************************************** + * file: userconfig/uc_isa.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_list.c,v 1.3 1997/02/22 14:12:29 peter Exp $ + */ + +#include <sys/types.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <nlist.h> +#include "uc_main.h" + +struct list * +list_new(void){ + struct list *rv; + rv=(struct list *)malloc(sizeof(struct list)); + rv->ac=0; + rv->av=(char **)0; + return(rv); +} + +void +list_append(struct list *list , char *item){ + + if(list->ac==0) { + list->av=(char **)malloc(sizeof(char *)*(list->ac+1)); + } else { + list->av=(char **)realloc(list->av, sizeof(char *)*(list->ac+1)); + } + asprintf(list->av+list->ac, "%s", item); + list->ac++; +} + +void +list_print(struct list *list, char *separator){ + int i; + for(i=0; i<list->ac; i++) + printf("%s%s", list->av[i], separator); +} + +void +list_destroy(struct list *list){ + int i; + for(i=0;i<list->ac;i++){ + free(list->av[i]); + list->av[i]=0; + } + free(list->av); + list->av=0; + free(list); +} + +/* end of userconfig/uc_list.c */ diff --git a/release/picobsd/tinyware/kget/uc_main.c b/release/picobsd/tinyware/kget/uc_main.c new file mode 100644 index 000000000000..2f39a11a1a96 --- /dev/null +++ b/release/picobsd/tinyware/kget/uc_main.c @@ -0,0 +1,475 @@ +/*************************************************** + * file: userconfig/uc_main.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * library functions for userconfig library + * + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <signal.h> +#include <paths.h> +#include <sys/mman.h> +#include <nlist.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "uc_main.h" +#include "kget.h" + +FILE *f_out; + +static struct nlist _nl[] = { + {"_isa_devtab_bio"}, + {"_isa_devtab_tty"}, + {"_isa_devtab_cam"}, + {"_isa_devtab_net"}, + {"_isa_devtab_null"}, + {"_isa_biotab_wdc"}, + {"_isa_biotab_fdc"}, + {"_eisadriver_set"}, + {"_eisa_dev_list"}, + {"_pcidevice_set"}, + {"_device_list"}, + {"_scbusses"}, +#ifdef USE_SCSI + {"_scsi_cinit"}, + {"_scsi_dinit"}, + {"_scsi_tinit"}, +#endif + {""}, +}; + +int +isDebug() { + return(0); +} + +struct list * +vc_getdev(char *vanilla) +{ + FILE *fd; + struct list *dl; + char buf[100]; + + fd=fopen(vanilla,"r"); + if(fd==NULL) { + printf("no such file: %s\n",vanilla); + exit(2); + } + dl=list_new(); + while(!feof(fd)) { + buf[0]='\0'; + if(fgets(buf,99,fd)==NULL) continue; + buf[strlen(buf)-1]='\0'; + list_append(dl,buf); + } + fclose(fd); + return(dl); +} + +void +process(struct list *d, struct list *v, int flag) +{ + int i,idx,found; + int len; + char *tok,*sep=" "; + char *parm[]= {"<devname>", + "port", + "irq", + "drq", + "iomem", + "iosize", + "flags", + "<alive>", + "<enabled>", + "<modified>"}; + + if(!flag) { + fprintf(f_out,"%s",d->av[0]); + for(i=1;i<d->ac;i++) { + fprintf(f_out," %s",d->av[i]); + } + fprintf(f_out,"\n"); + return; + } + found=0; + for(i=0;i<v->ac;i++) { + if(strncmp(d->av[0],v->av[i],strlen(d->av[0]))!=0) continue; + found++; + break; + } + if(!found) { + printf("\nWhoa!\n"); + printf("Couldn't find device %s in 'vanilla' list!\n", + d->av[0]); + printf("It seems that kernel image and 'vanilla' list are out of sync...\n"); + exit(2); + } + idx=i; + if(strcmp(d->av[8],"0")==0) { /* disable and return */ + fprintf(f_out,"disable %s\n",d->av[0]); + return; + } + tok=strtok(v->av[idx],sep); /* discard <name> */ + for(i=1;i<d->ac;i++) { + tok=strtok(NULL,sep); /* get next param from string */ + if(tok==NULL) { + fprintf(stderr,"Hmmm... strange error, please report!\n"); + fprintf(stderr,"Include the 'kget -incore' output and the device name (%s)\n",d->av[0]); + exit(10); + } + if(strcmp(d->av[i],tok)!=0) { /* changed */ + switch(i) { + case 7: /* alive */ + break; + case 8: /* enable/disable */ + if(strcmp(d->av[i],"0")==0) { /* disable */ + fprintf(f_out,"disable %s\n",d->av[0]); + return; + } else { + fprintf(f_out,"enable %s\n",d->av[0]); + } + break; + case 2: /* special case for npx */ + if(strcmp(d->av[0],"npx0")==0) continue; + /* FALLTHROUGH */ + default: + fprintf(f_out,"%s %s %s\n",parm[i],d->av[0],d->av[i]); + break; + } + } + } + return; +} + +int main(int argc, char *argv[]) +{ + struct kernel *core; + struct list *c_isa, *c_dev,*v_isa; + int d,j,cnt=0; + int diff=0; + char buf[100]; + + if(argc<3) { + printf("Usage: %s name|-incore -|filename [vanilla]\n",argv[0]); + exit(1); + } + if(argc>3) { + v_isa=vc_getdev(argv[3]); + diff++; + } + core=uc_open(argv[1]); + c_isa=uc_getdev(core,"-isa"); + if(c_isa==NULL) { + printf("no symbols in kernel?\n"); + exit(2); + } + if(strcmp(argv[2],"-")==NULL) { + f_out=stdout; + } else { + f_out=fopen(argv[2],"w"); + if(f_out==NULL) f_out=stdout; + } + if(diff) fprintf(f_out,"USERCONFIG\n"); + for(d=0;d<c_isa->ac;d++) { + c_dev=uc_getdev(core,c_isa->av[d]); + process(c_dev,v_isa,diff); + } + if(diff) fprintf(f_out,"quit\n"); + uc_close(core,0); + exit(0); +} + +struct kernel * +uc_open(char *name){ + int kd, flags, incore; + struct kernel *kern; + struct stat sb; + char kname[80]; + int size, i = 0; + struct nlist *nl = _nl; + + if (strcmp(name, "-incore") == 0) + incore = 1; + else + incore = 0; + + if (incore || (strcmp(name,"-bootfile") == 0)) + SAFE_STRCPY(kname, getbootfile()); + else + SAFE_STRCPY(kname, name); + + if (isDebug()) + msgDebug("uc_open: kernel name is %s, incore = %d\n", kname, incore); + kern = (struct kernel *)malloc(sizeof(struct kernel)); + +#ifdef KERN_NO_SYMBOLS + if (incore) { + FILE *fp; + + fp = fopen("/stand/symbols", "r"); + if (!fp) { + msgDebug("Couldn't open /stand/symbols file! Punting.\n"); + free(kern); + return NULL; + } + if (fscanf(fp, "%d\n", &size) != 1) { + msgDebug("Unable to get # of name list entries from symbol file.\n"); + free(kern); + return NULL; + } + else if (isDebug()) + msgDebug("uc_open: opened /stand/symbols file, reading %d entries.\n", size); + + + kern->nl = nl = (struct nlist *)malloc((size + 1) * sizeof(struct nlist)); + bzero(nl, (size + 1) * sizeof(struct nlist)); + for (i = 0; i < size; i++) { + char *cp, name[255]; + int c1; + unsigned int uc1; + short d1; + unsigned long v1; + + if (fgets(name, 255, fp) == NULL) { + msgDebug("Can't get name field for entry %d\n", i); + free(kern); + return NULL; + } + if ((cp = index(name, '\n')) != NULL) + *cp = '\0'; + nl[i].n_name = strdup(name); + if (fscanf(fp, "%u %d %hd %ld\n", &uc1, &c1, &d1, &v1) == 4) { + nl[i].n_type = (unsigned char)uc1; + nl[i].n_other = (char)c1; + nl[i].n_desc = d1; + nl[i].n_value = v1; + if (isDebug()) + msgDebug("uc_open: for entry %d, decoded: \"%s\", %u %d %hd %ld\n", i, nl[i].n_name, nl[i].n_type, nl[i].n_other, nl[i].n_desc, nl[i].n_value); + } + } + nl[i].n_name = ""; + fclose(fp); + i = 0; + } + else +#endif + i = nlist(kname, nl); + if (i == -1) { + msgDebug("uc_open: kernel %s does not contain symbols.\n", kname); + free(kern); + return NULL; + } +#ifdef KERN_NO_SYMBOLS + if (!incore) { +#else + { +#endif + kern->nl=(struct nlist *)malloc(sizeof(_nl)); + bcopy(_nl, kern->nl, sizeof(_nl)); + } + + if (incore) { + if (isDebug()) + msgDebug("uc_open: attempting to open /dev/kmem for incore.\n"); + if ((kd = open("/dev/kmem", O_RDONLY)) < 0) { + free(kern); + msgDebug("uc_open: Unable to open /dev/kmem.\n"); + return NULL; + } + kern->core = (caddr_t)NULL; + kern->incore = 1; + kern->size = 0; + } + else { + if (stat(kname, &sb) < 0) { + free(kern); + msgDebug("uc_open: Unable to stat %s.\n", kname); + return NULL; + } + kern->size = sb.st_size; + flags = sb.st_flags; + + if (chflags(kname, 0) < 0) { + free(kern); + msgDebug("uc_open: Unable to chflags %s.\n", kname); + return NULL; + } + + if (isDebug()) + msgDebug("uc_open: attempting to open %s\n", kname); + if ((kd = open(kname, O_RDWR, 0644)) < 0) { + free(kern); + msgDebug("uc_open: Unable to open %s.\n", kname); + return NULL; + } + + fchflags(kd, flags); + + if (isDebug()) + msgDebug("uc_open: attempting to mmap %d bytes\n", sb.st_size); + kern->core = mmap((caddr_t)0, sb.st_size, PROT_READ | PROT_WRITE, + MAP_SHARED, kd, 0); + kern->incore = 0; + if (kern->core == MAP_FAILED) { + free(kern); + msgDebug("uc_open: Unable to mmap from %s.\n", kname); + return NULL; + } + } + + kern->fd = kd; + get_isa_info(kern); + if (isDebug()) + msgDebug("uc_open: got isa information\n"); + + get_pci_info(kern); + if (isDebug()) + msgDebug("uc_open: got pci information\n"); + + get_eisa_info(kern); + if (isDebug()) + msgDebug("uc_open: got eisa information\n"); +#ifdef USE_SCSI + get_scsi_info(kern); + if (isDebug()) + msgDebug("uc_open: got scsi information\n"); +#else + kern->scsi_devp=(struct uc_scsi*)NULL; + kern->scsibus_devp=(struct uc_scsibus*)NULL; +#endif + return kern; +} + +int +uc_close(struct kernel *kern, int writeback) +{ + if (kern->isa_devp) + isa_free(kern, writeback); + + if (kern->eisa_devp) + eisa_free(kern, writeback); /* `writeback' isn't really useful here */ + + if (kern->pci_devp) + pci_free(kern, writeback); /* or here */ + +#ifdef USE_SCSI + if (kern->scsi_devp) + scsi_free(kern, writeback); +#endif + + if (!kern->incore) + munmap(kern->core, kern->size); + + close(kern->fd); + free(kern->nl); + free(kern); + + return 0; +} + +struct list * +uc_getdev(struct kernel *kern, char *dev) +{ + struct list *list = (struct list *)0; + + if (*dev == '-') { /* asked for -isa, -eisa, -pci, -scsi, -all */ + if (strcmp(dev, "-all") == 0) { + list = list_new(); + if (kern->isa_devp) + list_append(list, "isa"); + + if (kern->eisa_devp) + list_append(list, "eisa"); + + if (kern->pci_devp) + list_append(list, "pci"); + + if (kern->scsi_devp) + list_append(list, "scsi"); + + } + else if (strcmp(dev, "-isa") == 0) + list = get_isa_devlist(kern); + else if (strcmp(dev, "-eisa") == 0) + list = get_eisa_devlist(kern); + else if (strcmp(dev, "-pci") == 0) + list = get_pci_devlist(kern); +#ifdef USE_SCSI + else if (strcmp(dev, "-scsi") == 0) + list = get_scsi_devlist(kern); +#endif + } + else { + /* we gotta figure out which real device to report */ + struct uc_isa *ip; + struct uc_scsi *sp; + struct uc_pci *pp; + struct uc_eisa *ep; + + if (kern->isa_devp) { + for (ip = kern->isa_devp; ip->device; ip++) { + if (strcmp(dev, ip->device) == 0) { + list = get_isa_device(ip); + goto end; + } + } + } + +#ifdef USE_SCSI + if (kern->scsi_devp) { + for (sp = kern->scsi_devp; sp->device; sp++) { + if (strcmp(dev, sp->device) == 0) { + list = get_scsi_device(sp); + goto end; + } + } + } +#endif + + if (kern->pci_devp) { + for(pp = kern->pci_devp; pp->device; pp++) { + if (strcmp(dev, pp->device) == 0) { + list = get_pci_device(pp); + goto end; + } + } + } + + if (kern->eisa_devp) { + for (ep = kern->eisa_devp; ep->device; ep++) { + if (strcmp(dev, ep->device) == 0) { + list = get_eisa_device(ep); + goto end; + } + } + } + } +end: + return(list); +} diff --git a/release/picobsd/tinyware/kget/uc_main.h b/release/picobsd/tinyware/kget/uc_main.h new file mode 100644 index 000000000000..326b80622023 --- /dev/null +++ b/release/picobsd/tinyware/kget/uc_main.h @@ -0,0 +1,168 @@ +/*************************************************** + * file: userconfig/uc_main.h + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_main.h,v 1.5 1998/10/06 07:41:49 msmith Exp $ + */ + +#define ISA_BIOTAB 0 +#define ISA_TTYTAB 1 +#define ISA_NETTAB 2 +#define ISA_CAMTAB 3 +#define ISA_NULLTAB 4 +#define ISA_WDCTAB 5 +#define ISA_FDCTAB 6 +#define EISA_SET 7 +#define EISA_LIST 8 +#define PCI_SET 9 +#define SCSI_LIST 10 +#define SCSI_BUSSES 11 +#define SCSI_CINIT 12 +#define SCSI_DINIT 13 +#define SCSI_TINIT 14 +/* symbols + the null terminator */ +#define NSYMBOLS 16 + +struct kernel { + int fd; /* file descriptor for the kernel image, either a binary or /dev/kmem */ + caddr_t core; /* either the mmap()ed kernel image, or a scratch area */ + u_int size; /* size of the object at ->core */ + int incore; /* true if the kernel is running */ +#ifdef UC_PRIVATE + struct nlist *nl; /* the symbol table */ +#else + void *nl; +#endif + struct uc_isa *isa_devp; /* pointer to the isa devices (if any) */ + struct uc_eisa *eisa_devp; /* pointer to the eisa devices (if any) */ + struct uc_pci *pci_devp; /* pointer to the pci devices (if any) */ + struct uc_scsi *scsi_devp; /* pointer to the scsi devices (if any) */ + struct uc_scsibus *scsibus_devp; /* internal pointer to scsibus wirings */ +}; + +struct uc_isa { + char *device; + u_short port; + u_short irq; + short drq; + u_int iomem; + int iosize; + int flags; + int alive; + int enabled; +#ifdef UC_PRIVATE + struct isa_device *idp; +#else + void *idp; +#endif + int modified; +}; + +struct uc_pci { + char *device; +}; + +struct uc_eisa { + char *device; + char *full_name; +}; + +struct uc_scsibus { + int bus_no; + int unit; + char *driver; +#ifdef UC_PRIVATE + struct scsi_ctlr_config *config; +#else + void *config; +#endif +}; + +struct uc_scsi { + char *device; + char *adapter; + u_short target; + u_short lun; + char *desc; +#ifdef UC_PRIVATE + struct scsi_device_config *config; +#else + void *config; +#endif + int modified; +}; + +/* nearly everything useful returns a list */ + +struct list { + int ac; + char **av; +}; + +/* prototypes */ + +/* uc_main.c */ +/* these are really the only public ones */ +struct kernel *uc_open(char *name); +int uc_close(struct kernel *kern, int writeback); +struct list *uc_getdev(struct kernel *kern, char *dev); + +/* uc_isa.c */ +void get_isa_info(struct kernel *kp); +struct list *get_isa_devlist(struct kernel *kp); +struct list *get_isa_device(struct uc_isa *ip); +int isa_setdev(struct kernel *kp, struct list *list); +void isa_free(struct kernel *kp, int writeback); + +/* uc_eisa.c */ +void get_eisa_info(struct kernel *kp); +struct list *get_eisa_devlist(struct kernel *kp); +struct list *get_eisa_device(struct uc_eisa *ep); +void eisa_free(struct kernel *kp, int writeback); + +/* uc_pci.c */ +void get_pci_info(struct kernel *kp); +struct list *get_pci_devlist(struct kernel *kp); +struct list *get_pci_device(struct uc_pci *pp); +void pci_free(struct kernel *kp, int writeback); + +/* uc_scsi.c */ +void get_scsi_info(struct kernel *kp); +struct list *get_scsi_devlist(struct kernel *kp); +struct list *get_scsi_device(struct uc_scsi *sp); +int scsi_setdev(struct kernel *kp, struct list *list); +void scsi_free(struct kernel *kp, int writeback); + +/* uc_kmem.c */ +u_int kv_to_u(struct kernel *kp, u_int adr, u_int size); +u_int kv_dref_p(struct kernel *kp, u_int adr); +u_int kv_dref_t(struct kernel *kp, u_int adr); + +/* uc_list.c */ +struct list *list_new(void); +void list_append(struct list *list, char *item); +void list_print(struct list *list, char *separator); +void list_destroy(struct list *list); + +/* end of userconfig/uc_main.h */ diff --git a/release/picobsd/tinyware/kget/uc_pci.c b/release/picobsd/tinyware/kget/uc_pci.c new file mode 100644 index 000000000000..0d8e601c8b40 --- /dev/null +++ b/release/picobsd/tinyware/kget/uc_pci.c @@ -0,0 +1,122 @@ +/*************************************************** + * file: userconfig/uc_pci.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_pci.c,v 1.4 1997/02/22 14:12:33 peter Exp $ + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <nlist.h> +#include <pci/pcivar.h> + +#include "uc_main.h" + +void +get_pci_info(struct kernel *kp){ + int i, total; + u_int *ls, ndev; + struct pci_device *pd; + struct uc_pci *pp,*ppc; + char *name; + + if(kp->nl[PCI_SET].n_value){ + pp = ppc = (struct uc_pci *)malloc(sizeof(struct uc_pci)); + ls=(u_int *)kv_to_u(kp, kp->nl[PCI_SET].n_value, sizeof(u_int)*30); /* XXX, size? */ + ndev=ls[0]; + total=0; + for(i=1;i<(ndev+1);i++){ + pp=(struct uc_pci *)realloc(pp, sizeof(struct uc_pci)*(total+1)); + ppc = pp+(total); + pd=(struct pci_device *)kv_to_u(kp, ls[i], sizeof(struct pci_device)); + /* don't try to dereference a null pointer */ + name=pd->pd_name ? (char *)kv_to_u(kp, (u_int)pd->pd_name, 10) : + pd->pd_name; /* XXX, size? */ + if(kp->incore){ + int u, k; + /* incore, we can get unit numbers */ + + u=kv_dref_p(kp, (u_int)pd->pd_count); + for(k=0;k<u;k++,total++){ + pp=(struct uc_pci *)realloc(pp, sizeof(struct uc_pci)*(total+1)); + ppc = pp+(total); + asprintf(&ppc->device, "%s%d", name, k); + } + free(pd); + if(name) + free(name); + } else { + asprintf(&ppc->device, "%s?", name); + total++; + } + } + pp=(struct uc_pci *)realloc(pp, sizeof(struct uc_pci)*(total+1)); + ppc = pp+(total); + bzero(ppc, sizeof(struct uc_pci)); + kp->pci_devp=pp; + } else { + kp->pci_devp=(struct uc_pci *)0; + } +} + + +struct list * +get_pci_devlist(struct kernel *kp){ + struct list *dl; + struct uc_pci *kdp; + + dl=list_new(); + + for(kdp=kp->pci_devp; kdp->device; kdp++){ + list_append(dl, kdp->device); + } + return(dl); +} + + +struct list * +get_pci_device(struct uc_pci *pp){ + struct list *list; + list=list_new(); + + list_append(list, pp->device); + + return(list); +} + +void +pci_free(struct kernel *kp, int writeback){ + struct uc_pci *pp; + + for(pp=kp->pci_devp;pp->device;pp++){ + free(pp->device); + } + free(kp->pci_devp); + kp->pci_devp=0; + +} + +/* end of userconfig/uc_pci.c */ diff --git a/release/picobsd/tinyware/msg/README b/release/picobsd/tinyware/msg/README index 37bac7d92988..a38101bde5fc 100644 --- a/release/picobsd/tinyware/msg/README +++ b/release/picobsd/tinyware/msg/README @@ -10,6 +10,6 @@ recently added to the kernel sources, so if you don't mind patching your kernel tree, contact me directly - the patches are very small and simple. Andrzej Bialecki -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.1 1998/09/15 07:35:58 abial Exp $ +$Id$ diff --git a/release/picobsd/tinyware/ns/README b/release/picobsd/tinyware/ns/README index 07cb5bd43c03..9d68b0b26d94 100644 --- a/release/picobsd/tinyware/ns/README +++ b/release/picobsd/tinyware/ns/README @@ -38,6 +38,6 @@ Bugs to be small, right? :-) Andrzej Bialecki -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.2 1998/09/07 06:41:14 abial Exp $ +$Id: README,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ diff --git a/release/picobsd/tinyware/oinit/README b/release/picobsd/tinyware/oinit/README index a295f499d6c4..e14b0af068b9 100644 --- a/release/picobsd/tinyware/oinit/README +++ b/release/picobsd/tinyware/oinit/README @@ -118,6 +118,6 @@ Credits The overall framework was taken from FreeBSD /sbin/init. Andrzej Bialecki -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ +$Id: README,v 1.5 1998/08/11 06:53:47 abial Exp $ diff --git a/release/picobsd/tinyware/oinit/oinit.c b/release/picobsd/tinyware/oinit/oinit.c index 1bf70bdaf343..01f8b9741e5b 100644 --- a/release/picobsd/tinyware/oinit/oinit.c +++ b/release/picobsd/tinyware/oinit/oinit.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: oinit.c,v 1.2 1998/10/15 21:40:07 abial Exp $ + * $Id: oinit.c,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ */ /* @@ -83,7 +83,7 @@ extern char **environ; /* Struct for holding session state */ struct sess { - char tty[16]; /* vty device path */ + char tty[11]; /* vty device path */ pid_t pid; /* pid of process running on it */ int (*func)(int argc, char **argv); /* internal function to run on it (after forking) */ @@ -646,16 +646,6 @@ runcom() void runcom(char *fname) { - int fd; - - close(0); - close(1); - close(2); - fd=open(_PATH_CONSOLE,O_RDWR); - dup2(fd,0); - dup2(fd,1); - dup2(fd,2); - if(fd>2) close(fd); sourcer(fname); } #endif @@ -912,13 +902,9 @@ main(int argc, char **argv) mount("devfs","/dev",MNT_NOEXEC|MNT_RDONLY,0); /* Fill in the sess structures. */ - /* XXX Really, should be filled based upon config file. */ + /* XXX Really, should be filled basing on config file. */ for(i=0;i<MAX_CONS;i++) { - if(i==0) { - sprintf(ttys[i].tty,"/dev/console"); - } else { - sprintf(ttys[i].tty,"/dev/ttyv%c",vty[i]); - } + sprintf(ttys[i].tty,"/dev/ttyv%c",vty[i]); ttys[i].pid=0; ttys[i].func=shell; } diff --git a/release/picobsd/tinyware/simple_httpd/Makefile b/release/picobsd/tinyware/simple_httpd/Makefile index 10ea6df7be54..20b9ed4c3ee2 100644 --- a/release/picobsd/tinyware/simple_httpd/Makefile +++ b/release/picobsd/tinyware/simple_httpd/Makefile @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.1 1998/08/31 13:10:25 abial Exp $ +# $Id$ # -PROG=simple_httpd -SRCS= simple_httpd.c +PROG=simple_httpd. +SRCS= simple_httpd..c NOMAN=yes .include <bsd.prog.mk> diff --git a/release/picobsd/tinyware/simple_httpd/simple_httpd.c b/release/picobsd/tinyware/simple_httpd/simple_httpd.c index 5b02244e4de9..0a83f6737815 100644 --- a/release/picobsd/tinyware/simple_httpd/simple_httpd.c +++ b/release/picobsd/tinyware/simple_httpd/simple_httpd.c @@ -13,7 +13,7 @@ */ /* - * $Id: simple_httpd.c,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ + * $Id: simple_httpd.c,v 1.1 1998/08/19 16:24:06 abial Exp $ */ #include <stdio.h> @@ -31,7 +31,6 @@ #include <string.h> #include <signal.h> #include <sys/wait.h> -#define LOGDIR "/var/log" int http_sock, con_sock; int http_port = 80; @@ -130,7 +129,7 @@ traite_req() strcat(logfile,"/"); strcat(logfile,"jhttp.log"); } - else strcpy(logfile, LOGDIR "/jhttpd.log"); + else strcpy(logfile,"/usr/adm/jhttpd.log"); if ( access(logfile,W_OK)) { @@ -350,9 +349,8 @@ char *adate() struct tm *t; time(&now); t = localtime(&now); - - sprintf(out, "%4d/%02d/%02d %02d:%02d:%02d", - t->tm_year+1900, t->tm_mon+1, t->tm_mday, - t->tm_hour, t->tm_min, t->tm_sec ); + sprintf(out, "%02d:%02d:%02d %02d/%02d/%02d", + t->tm_hour, t->tm_min, t->tm_sec, + t->tm_mday, t->tm_mon+1, t->tm_year ); return out; } diff --git a/release/picobsd/tinyware/sps/README b/release/picobsd/tinyware/sps/README index 771ddaaf88df..94098e7e3f2e 100644 --- a/release/picobsd/tinyware/sps/README +++ b/release/picobsd/tinyware/sps/README @@ -12,6 +12,6 @@ The most serious limitation of 'sps' is that it's unable to retrieve the whole command line. -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ +$Id: README,v 1.1 1998/07/16 23:21:59 abial Exp $ diff --git a/release/picobsd/tinyware/view/README b/release/picobsd/tinyware/view/README index 1a2c611b6727..53ec9a017c3a 100644 --- a/release/picobsd/tinyware/view/README +++ b/release/picobsd/tinyware/view/README @@ -81,6 +81,6 @@ Have fun! Andrzej Bialecki -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ +$Id: README,v 1.2 1998/08/19 06:19:44 abial Exp $ diff --git a/release/picobsd/tinyware/view/view.c b/release/picobsd/tinyware/view/view.c index 0255a6b5bec1..0c2ad2645914 100644 --- a/release/picobsd/tinyware/view/view.c +++ b/release/picobsd/tinyware/view/view.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: view.c,v 1.2 1998/10/09 12:42:56 abial Exp $ + * $Id: view.c,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ */ /* @@ -88,7 +88,6 @@ int max_screen_colors=15; int quit,changed; char **pres; int nimg=0; -int auto_chg=0; int cur_img=0; char act; FILE *log; @@ -402,7 +401,6 @@ int kbd_action(int x, int y, char key) { changed=0; - if(key!='n') auto_chg=0; switch(key) { case 'q': quit=1; @@ -442,23 +440,15 @@ kbd_action(int x, int y, char key) break; case '\n': case 'n': - if(nimg>0) { - if(cur_img<nimg-1) { - cur_img++; - } else { - cur_img=0; - } + if((nimg>0) && (cur_img<nimg-1)) { + cur_img++; png_load(pres[cur_img]); changed++; } break; case 'p': - if(nimg>0) { - if(cur_img>0) { - cur_img--; - } else { - cur_img=nimg-1; - } + if((nimg>0) && (cur_img>0)) { + cur_img--; png_load(pres[cur_img]); changed++; } @@ -519,6 +509,7 @@ main(int argc, char *argv[]) fprintf(log,"VGL initialised\n"); #endif VGLSavePalette(); + VGLMouseInit(VGL_MOUSEHIDE); if(argc>optind) { res=png_load(argv[optind]); } else { @@ -533,14 +524,10 @@ main(int argc, char *argv[]) fprintf(log,"Trying script %s\n",argv[optind]); #endif fgets(buf,99,fsc); - buf[strlen(buf)-1]='\0'; - if(strncmp("VIEW SCRIPT",buf,11)!=NULL) { + if(strcmp("VIEW SCRIPT\n",buf)!=NULL) { VGLEnd(); usage(); } - if(strlen(buf)>12) { - auto_chg=atoi(buf+12); - } fgets(buf,99,fsc); buf[strlen(buf)-1]='\0'; nimg=atoi(buf); @@ -561,7 +548,6 @@ main(int argc, char *argv[]) #endif png_load(pres[cur_img]); } - VGLMouseInit(VGL_MOUSEHIDE); /* Prepare the keyboard */ tcgetattr(0,&t_old); memcpy(&t_new,&t_old,sizeof(struct termios)); @@ -596,12 +582,7 @@ main(int argc, char *argv[]) display(&pic,pal_red,pal_green,pal_blue,&a); changed=0; } - if(auto_chg) { - sleep(auto_chg); - kbd_action(x,y,'n'); - } else { - pause(); - } + pause(); VGLMouseStatus(&x,&y,&buttons); if(buttons & MOUSE_BUTTON3DOWN) { #ifdef DEBUG diff --git a/release/picobsd/tinyware/vm/README b/release/picobsd/tinyware/vm/README index e4d72c1a17d0..ec70bc2cfd1d 100644 --- a/release/picobsd/tinyware/vm/README +++ b/release/picobsd/tinyware/vm/README @@ -5,6 +5,6 @@ current memory utilisation. The same info is available via sysctl(8) program, but unfortunately this particular variable doesn't have its handler, and consequently it is not displayed in stock version of sysctl(8). -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ +$Id: README,v 1.1.1.1 1998/07/14 07:30:54 abial Exp $ diff --git a/release/picobsd/tinyware/vm/vm.c b/release/picobsd/tinyware/vm/vm.c index cd744952f76f..710cfb971532 100644 --- a/release/picobsd/tinyware/vm/vm.c +++ b/release/picobsd/tinyware/vm/vm.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: vm.c,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ + * $Id: vm.c,v 1.1.1.1 1998/07/14 07:30:54 abial Exp $ */ #include <stdio.h> @@ -32,8 +32,6 @@ #include <sys/vmmeter.h> #include <vm/vm_param.h> -#define pgtok(a) ((a) * (u_int) DEFAULT_PAGE_SIZE >> 10) - int main(int argc, char *argv[]) { @@ -46,17 +44,14 @@ main(int argc, char *argv[]) for(;;) { sysctl(mib,2,&v,&len,NULL,0); if(i==0) { - printf(" procs kB virt mem real mem shared vm shared real free\n"); - printf(" r w l s tot act tot act tot act tot act\n"); + printf(" procs kB virt mem real mem shared vm shared real free\n"); + printf(" r d p s tot act tot act tot act tot act\n"); } - printf("%2hu%2hu%2hu%2hu",v.t_rq-1,v.t_dw+v.t_pw,v.t_sl,v.t_sw); - printf("%7ld %7ld %7ld%7ld", - (long)pgtok(v.t_vm),(long)pgtok(v.t_avm), - (long)pgtok(v.t_rm),(long)pgtok(v.t_arm)); - printf("%7ld%7ld%7ld%7ld%7ld\n", - (long)pgtok(v.t_vmshr),(long)pgtok(v.t_avmshr), - (long)pgtok(v.t_rmshr),(long)pgtok(v.t_armshr), - (long)pgtok(v.t_free)); + printf("%2hu%2hu%2hu%2hu",v.t_rq,v.t_dw,v.t_pw,v.t_sl); + printf("%7u%7u%7u%7u", + v.t_vm<<2,v.t_avm<<2,v.t_rm<<2,v.t_arm<<2); + printf("%7u%7u%7u%7u%7u\n", + v.t_vmshr<<2,v.t_avmshr<<2,v.t_rmshr<<2,v.t_armshr<<2,v.t_free<<2); sleep(5); i++; if(i>22) i=0; diff --git a/release/picobsd/tools/daemon/README b/release/picobsd/tools/daemon/README index 5de11b962eba..596e6cafdb0c 100644 --- a/release/picobsd/tools/daemon/README +++ b/release/picobsd/tools/daemon/README @@ -2,6 +2,6 @@ This is a little toy, which implants a color logo of PicoBSD into a file. Documentation: UTSL. -<abial@freebsd.org> +<abial@nask.pl> -$Id: README,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ +$Id: README,v 1.1.1.1 1998/07/14 07:30:40 abial Exp $ diff --git a/release/picobsd/tools/dumpnlist/Makefile b/release/picobsd/tools/dumpnlist/Makefile new file mode 100644 index 000000000000..fe5706e1610a --- /dev/null +++ b/release/picobsd/tools/dumpnlist/Makefile @@ -0,0 +1,9 @@ +# $Id: Makefile,v 1.1.1.1 1998/08/27 17:38:45 abial Exp $ +# +PROG=dumpnlist +NOMAN=yes +.PATH: ${.CURDIR}/../../.. + +.include <bsd.prog.mk> + + diff --git a/release/scripts/dokern.sh b/release/scripts/dokern.sh deleted file mode 100755 index ac20226d1249..000000000000 --- a/release/scripts/dokern.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -# From the kernel config file on stdin (usually GENERIC), pare out items as -# determined by whether or not the kernel is being prepared to contain -# an MFS ($1 = YES) or will have the floppy image all to itself ($1 = NO or -# not specified). - -if [ $# -lt 1 ]; then - MFS=NO -else - MFS=$1 -fi - -if [ "$MFS" = "YES" ]; then - sed -e '/pty/d' \ - -e '/wfd0/d' \ - -e '/mcd0/d' \ - -e '/matcd0/d' \ - -e '/scd0/d' \ - -e '/wt0/d' \ - -e '/pass0/d' \ - -e '/apm0/d' \ - -e '/ft0/d' \ - -e '/ppp/d' \ - -e '/gzip/d' \ - -e '/isp0/d' \ - -e '/NFS/d' \ - -e '/PROCFS/d' \ - -e '/SYSVSHM/d' \ - -e '/KTRACE/d' \ - -e '/MATH_EMULATE/d' \ - -e 's/GENERIC/BOOTMFS/g' \ - -e '/maxusers/s/32/4/' -else - sed -e '/pty/d' \ - -e '/pass0/d' \ - -e '/apm0/d' \ - -e '/ppp/d' \ - -e '/gzip/d' \ - -e '/PROCFS/d' \ - -e '/KTRACE/d' \ - -e 's/GENERIC/BOOTMFS/g' -fi -echo "options NFS_NOSERVER" -echo 'options "MAXCONS=4"' -echo "options SCSI_NO_OP_STRINGS" -echo "options SCSI_NO_SENSE_STRINGS" -echo "options NO_LKM" -echo "options NO_SWAPPING" diff --git a/release/scripts/src-install.sh b/release/scripts/src-install.sh index 2ed098fc52e0..f31b68cc1424 100755 --- a/release/scripts/src-install.sh +++ b/release/scripts/src-install.sh @@ -8,15 +8,15 @@ if [ $# -lt 1 ]; then echo "You must specify which components of src to extract" echo "possible subcomponents are:" echo - echo "base bin contrib etc games gnu include lib libexec" - echo "release sbin share sys ubin usbin" + echo "base bin contrib etc games gnu include lib libexec lkm" + echo "release sbin share smailcf sys ubin usbin" echo echo "You may also specify all to extract all subcomponents." exit 1 fi if [ "$1" = "all" ]; then - dists="base bin contrib etc games gnu include lib libexec release sbin share sys ubin usbin" + dists="base bin contrib etc games gnu include lib libexec lkm release sbin share smailcf sys ubin usbin" else dists="$*" fi diff --git a/release/sysinstall/Makefile b/release/sysinstall/Makefile index 10e0d6aab066..a252c166d07c 100644 --- a/release/sysinstall/Makefile +++ b/release/sysinstall/Makefile @@ -9,17 +9,18 @@ CLEANFILES+= keymap.tmp keymap.h .PATH: ${.CURDIR}/../disklabel ${.CURDIR}/../../usr.bin/cksum -SRCS= anonFTP.c cdrom.c command.c config.c devices.c kget.c \ +SRCS= anonFTP.c cdrom.c command.c config.c devices.c \ disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \ ftp.c globals.c index.c install.c installUpgrade.c keymap.c \ label.c lndir.c main.c makedevs.c media.c menus.c misc.c mouse.c \ msg.c network.c nfs.c options.c package.c register.c system.c \ tape.c tcpip.c termcap.c ufs.c user.c variable.c wizard.c \ + uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c \ keymap.h CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR} CFLAGS+= -I${.CURDIR}/../../sys -CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS +CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS -DSAVE_USERCONFIG # -DDO_SCSI DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK} ${LIBFTPIO} LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk -lftpio diff --git a/release/sysinstall/cdrom.c b/release/sysinstall/cdrom.c index 011520211dbf..1fd1380bc11b 100644 --- a/release/sysinstall/cdrom.c +++ b/release/sysinstall/cdrom.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: cdrom.c,v 1.44 1998/12/22 12:31:24 jkh Exp $ + * $Id: cdrom.c,v 1.42 1998/08/27 00:50:14 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -54,7 +54,6 @@ #undef CD9660 static Boolean cdromMounted; -static char mountpoint[] = "/dist"; static properties read_props(char *name) @@ -75,7 +74,7 @@ mediaInitCDROM(Device *dev) { struct iso_args args; properties cd_attr = NULL; - char *cp = NULL; + char *cp = NULL, *mountpoint = "/dist"; Boolean readInfo = TRUE; static Boolean bogusCDOK = FALSE; @@ -83,6 +82,7 @@ mediaInitCDROM(Device *dev) return TRUE; Mkdir(mountpoint); + bzero(&args, sizeof(args)); args.fspec = dev->devname; args.flags = 0; @@ -95,8 +95,10 @@ mediaInitCDROM(Device *dev) msgConfirm("Error mounting %s on %s: %s (%u)", dev->devname, mountpoint, strerror(errno), errno); return FALSE; } + cdromMounted = TRUE; } - cdromMounted = TRUE; + else + cdromMounted = TRUE; if (!file_readable(string_concat(mountpoint, "/cdrom.inf")) && !bogusCDOK) { if (msgYesNo("Warning: The CD currently in the drive is either not a FreeBSD\n" @@ -141,6 +143,7 @@ mediaInitCDROM(Device *dev) bogusCDOK = TRUE; } } + msgDebug("Mounted FreeBSD CDROM from device %s\n", dev->devname); properties_free(cd_attr); return TRUE; } @@ -148,17 +151,35 @@ mediaInitCDROM(Device *dev) FILE * mediaGetCDROM(Device *dev, char *file, Boolean probe) { - return mediaGenericGet(mountpoint, file); + char buf[PATH_MAX]; + + if (isDebug()) + msgDebug("Request for %s from CDROM\n", file); + snprintf(buf, PATH_MAX, "/dist/%s", file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/dists/%s", file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/%s/%s", variable_get(VAR_RELNAME), file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/%s/dists/%s", variable_get(VAR_RELNAME), file); + return fopen(buf, "r"); } void mediaShutdownCDROM(Device *dev) { + char *mountpoint = "/dist"; + if (!cdromMounted) return; - + msgDebug("Unmounting %s from %s\n", dev->devname, mountpoint); if (unmount(mountpoint, MNT_FORCE) != 0) msgConfirm("Could not unmount the CDROM from %s: %s", mountpoint, strerror(errno)); - else + else { + msgDebug("Unmount of CDROM successful\n"); cdromMounted = FALSE; + } } diff --git a/release/sysinstall/config.c b/release/sysinstall/config.c index 878a2324b2a7..9c9ca8c0eb02 100644 --- a/release/sysinstall/config.c +++ b/release/sysinstall/config.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: config.c,v 1.114 1998/10/14 01:04:44 jkh Exp $ + * $Id: config.c,v 1.113 1998/09/30 12:33:28 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -168,7 +168,7 @@ seq_num(Chunk *c1) } int -configFstab(dialogMenuItem *self) +configFstab(void) { Device **devs; Disk *disk; @@ -213,42 +213,49 @@ configFstab(dialogMenuItem *self) } chunk_list[nchunks] = 0; chunk_sort(); - + fstab = fopen("/etc/fstab", "w"); if (!fstab) { msgConfirm("Unable to create a new /etc/fstab file! Manual intervention\n" "will be required."); return DITEM_FAILURE; } - + check_rootdev(chunk_list, nchunks); - + /* Go for the burn */ msgDebug("Generating /etc/fstab file\n"); fprintf(fstab, "# Device\t\tMountpoint\tFStype\tOptions\t\tDump\tPass#\n"); for (i = 0; i < nchunks; i++) fprintf(fstab, "/dev/%s\t\t%s\t\t%s\t%s\t\t%d\t%d\n", name_of(chunk_list[i]), mount_point(chunk_list[i]), fstype(chunk_list[i]), fstype_short(chunk_list[i]), seq_num(chunk_list[i]), seq_num(chunk_list[i])); - + Mkdir("/proc"); + fprintf(fstab, "proc\t\t\t/proc\t\tprocfs\trw\t\t0\t0\n"); + /* Now look for the CDROMs */ devs = deviceFind(NULL, DEVICE_TYPE_CDROM); cnt = deviceCount(devs); - - /* Write out the CDROM entries */ - for (i = 0; i < cnt; i++) { + + /* Write the first one out as /cdrom */ + if (cnt) { + if (Mkdir("/cdrom")) { + msgConfirm("Unable to make mount point for: /cdrom"); + } + else + fprintf(fstab, "/dev/%s\t\t/cdrom\t\tcd9660\tro,noauto\t0\t0\n", devs[0]->name); + } + + /* Write the others out as /cdrom<n> */ + for (i = 1; i < cnt; i++) { char cdname[10]; - - sprintf(cdname, "/cdrom%s", i ? itoa(i) : ""); - if (Mkdir(cdname)) + + sprintf(cdname, "/cdrom%d", i); + if (Mkdir(cdname)) { msgConfirm("Unable to make mount point for: %s", cdname); + } else fprintf(fstab, "/dev/%s\t\t%s\tcd9660\tro,noauto\t0\t0\n", devs[i]->name, cdname); } - - /* And finally, a /proc. */ - fprintf(fstab, "proc\t\t\t/proc\t\tprocfs\trw\t\t0\t0\n"); - Mkdir("/proc"); - fclose(fstab); if (isDebug()) msgDebug("Wrote out /etc/fstab file\n"); @@ -257,7 +264,7 @@ configFstab(dialogMenuItem *self) /* Do the work of sucking in a config file. * config is the filename to read in. - * lines is a fixed (max) sized array of char* + * lines is a fixed (max) sized array of char *. * returns number of lines read. line contents * are malloc'd and must be freed by the caller. */ @@ -499,7 +506,6 @@ configXEnvironment(dialogMenuItem *self) char *config, *execfile; char *moused; -tryagain: dialog_clear_norefresh(); if (!dmenuOpenSimple(&MenuXF86Config, FALSE)) return DITEM_FAILURE | DITEM_RESTORE; @@ -532,8 +538,6 @@ tryagain: "utility."); dialog_clear(); systemExecute(execfile); - if (!file_readable("/etc/XF86Config") && !msgYesNo("The XFree86 configuration process seems to have\nfailed. Would you like to try again?")) - goto tryagain; return DITEM_SUCCESS | DITEM_RESTORE; } else { @@ -544,8 +548,8 @@ tryagain: } } -int -configResolv(dialogMenuItem *ditem) +void +configResolv(void) { FILE *fp; char *cp, *dp, *hp; @@ -556,7 +560,7 @@ configResolv(dialogMenuItem *ditem) Mkdir("/etc"); fp = fopen("/etc/resolv.conf", "w"); if (!fp) - return DITEM_FAILURE; + return; if (variable_get(VAR_DOMAINNAME)) fprintf(fp, "domain\t%s\n", variable_get(VAR_DOMAINNAME)); fprintf(fp, "nameserver\t%s\n", cp); @@ -571,7 +575,7 @@ skip: /* Tack ourselves into /etc/hosts */ fp = fopen("/etc/hosts", "w"); if (!fp) - return DITEM_FAILURE; + return; /* Add an entry for localhost */ if (dp) fprintf(fp, "127.0.0.1\t\tlocalhost.%s localhost\n", dp); @@ -593,7 +597,6 @@ skip: fclose(fp); if (isDebug()) msgDebug("Wrote out /etc/hosts\n"); - return DITEM_SUCCESS; } int diff --git a/release/sysinstall/devices.c b/release/sysinstall/devices.c index 7b7261d23b43..d687a20eb398 100644 --- a/release/sysinstall/devices.c +++ b/release/sysinstall/devices.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: devices.c,v 1.87 1998/12/04 18:01:10 wpaul Exp $ + * $Id: devices.c,v 1.83 1998/09/26 17:05:08 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -73,14 +73,11 @@ static struct _devname { { DEVICE_TYPE_DISK, "rda%d", "SCSI disk device", 13, 65538, 8, 16, 'c' }, { DEVICE_TYPE_DISK, "wd%d", "IDE/ESDI/MFM/ST506 disk device", 0, 65538, 8, 16, 'b' }, { DEVICE_TYPE_DISK, "rwd%d", "IDE/ESDI/MFM/ST506 disk device", 3, 65538, 8, 16, 'c' }, - { DEVICE_TYPE_DISK, "fla%d", "DiskOnChip2000 Flash device", 28, 65538, 8, 16, 'b' }, - { DEVICE_TYPE_DISK, "rfla%d", "DiskOnChip2000 Flash devicee", 101, 65538, 8, 16, 'c' }, { DEVICE_TYPE_DISK, "wfd%d", "ATAPI floppy device", 1, 65538, 8, 4, 'b' }, { DEVICE_TYPE_DISK, "rwfd%d", "ATAPI floppy device", 87, 65538, 8, 4, 'c' }, { DEVICE_TYPE_FLOPPY, "fd%d", "floppy drive unit A", 2, 0, 64, 4, 'b' }, { DEVICE_TYPE_FLOPPY, "wfd%d", "ATAPI floppy drive unit A", 1, 0, 8, 4, 'b' }, { DEVICE_TYPE_FLOPPY, "worm%d", "SCSI optical disk / CDR", 23, 0, 1, 4, 'b' }, - { DEVICE_TYPE_NETWORK, "ax", "ASIX AX88140A PCI ethernet card" }, { DEVICE_TYPE_NETWORK, "fpa", "DEC DEFPA PCI FDDI card" }, { DEVICE_TYPE_NETWORK, "sr", "SDL T1/E1 sync serial PCI card" }, { DEVICE_TYPE_NETWORK, "cc3i", "SDL HSSI sync serial PCI card" }, @@ -96,14 +93,9 @@ static struct _devname { { DEVICE_TYPE_NETWORK, "ix", "Intel Etherexpress ethernet card" }, { DEVICE_TYPE_NETWORK, "le", "DEC EtherWorks 2 or 3 ethernet card" }, { DEVICE_TYPE_NETWORK, "lnc", "Lance/PCnet (Isolan/Novell NE2100/NE32-VL) ethernet" }, - { DEVICE_TYPE_NETWORK, "mx", "Macronix 98713/98715/98725 PCI ethernet card" }, - { DEVICE_TYPE_NETWORK, "pn", "Lite-On 82168/82169 PNIC PCI ethernet card" }, - { DEVICE_TYPE_NETWORK, "rl", "RealTek 8129/8139 PCI ethernet card" }, { DEVICE_TYPE_NETWORK, "tx", "SMC 9432TX ethernet card" }, { DEVICE_TYPE_NETWORK, "tl", "Texas Instruments ThunderLAN PCI ethernet card" }, - { DEVICE_TYPE_NETWORK, "vr", "VIA VT3043/VT86C100A Rhine PCI ethernet card" }, { DEVICE_TYPE_NETWORK, "vx", "3COM 3c590 / 3c595 ethernet card" }, - { DEVICE_TYPE_NETWORK, "wb", "Winbond W89C840F PCI ethernet card" }, { DEVICE_TYPE_NETWORK, "xl", "3COM 3c90x / 3c90xB PCI ethernet card" }, { DEVICE_TYPE_NETWORK, "ze", "IBM/National Semiconductor PCMCIA ethernet card" }, { DEVICE_TYPE_NETWORK, "zp", "3Com Etherlink III PCMCIA ethernet card" }, diff --git a/release/sysinstall/disks.c b/release/sysinstall/disks.c index 6c6b5019a9c7..fd2bed49b1c8 100644 --- a/release/sysinstall/disks.c +++ b/release/sysinstall/disks.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: disks.c,v 1.107 1999/01/02 07:23:37 jkh Exp $ + * $Id: disks.c,v 1.105 1998/10/13 09:45:59 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -36,8 +36,6 @@ #include "sysinstall.h" #include <ctype.h> -#include <fcntl.h> -#include <sys/stat.h> #include <sys/disklabel.h> /* Where we start displaying chunk information on the screen */ @@ -533,37 +531,6 @@ diskPartition(Device *dev) restorescr(w); } -static u_char * -bootalloc(char *name) -{ - char buf[FILENAME_MAX]; - struct stat sb; - - snprintf(buf, sizeof buf, "/boot/%s", name); - if (stat(buf, &sb) != -1) { - int fd; - - fd = open(buf, O_RDONLY); - if (fd != -1) { - u_char *cp; - - cp = malloc(sb.st_size); - if (read(fd, cp, sb.st_size) != sb.st_size) { - free(cp); - close(fd); - msgDebug("bootalloc: couldn't read %d bytes from %s\n", sb.st_size, buf); - return NULL; - } - close(fd); - return cp; - } - msgDebug("bootalloc: couldn't open %s\n", buf); - } - else - msgDebug("bootalloc: can't stat %s\n", buf); - return NULL; -} - static int partitionHook(dialogMenuItem *selected) { @@ -672,23 +639,15 @@ diskPartitionWrite(dialogMenuItem *self) for (i = 0; devs[i]; i++) { Chunk *c1; Disk *d = (Disk *)devs[i]->private; - static u_char *boot1; -#ifndef __alpha__ - static u_char *boot2; -#endif if (!devs[i]->enabled) continue; #ifdef __alpha__ - if (!boot1) boot1 = bootalloc("boot1"); Set_Boot_Blocks(d, boot1, NULL); #else - if (!boot1) boot1 = bootalloc("boot1"); - if (!boot2) boot2 = bootalloc("boot2"); Set_Boot_Blocks(d, boot1, boot2); #endif - msgNotify("Writing partition information to drive %s", d->name); if (!Fake && Write_Disk(d)) { msgConfirm("ERROR: Unable to write data to disk %s!", d->name); diff --git a/release/sysinstall/dispatch.c b/release/sysinstall/dispatch.c index 5e1668a3da78..9bac849de70c 100644 --- a/release/sysinstall/dispatch.c +++ b/release/sysinstall/dispatch.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: dispatch.c,v 1.25 1998/07/18 09:41:58 jkh Exp $ + * $Id: dispatch.c,v 1.24 1997/09/17 16:18:13 pst Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -82,8 +82,7 @@ static struct _word { { "installExpress", installExpress }, { "installNovice", installNovice }, { "installUpgrade", installUpgrade }, - { "installFixupBin", installFixupBin }, - { "installFixupXFree", installFixupXFree }, + { "installFixup", installFixup }, { "installFixitHoloShell", installFixitHoloShell }, { "installFixitCDROM", installFixitCDROM }, { "installFixitFloppy", installFixitFloppy }, diff --git a/release/sysinstall/dist.c b/release/sysinstall/dist.c index d84c6ef5331a..5c1ead205695 100644 --- a/release/sysinstall/dist.c +++ b/release/sysinstall/dist.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: dist.c,v 1.131 1998/11/27 00:30:10 jkh Exp $ + * $Id: dist.c,v 1.128 1998/10/14 11:23:48 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -77,7 +77,7 @@ static Distribution DistTable[] = { { "compat20", "/", &Dists, DIST_COMPAT20, NULL }, { "compat21", "/", &Dists, DIST_COMPAT21, NULL }, { "ports", "/usr", &Dists, DIST_PORTS, NULL }, -{ "XF86333", "/usr", &Dists, DIST_XF86, XF86DistTable }, +{ "XF86332", "/usr", &Dists, DIST_XF86, XF86DistTable }, { NULL }, }; @@ -101,6 +101,7 @@ static Distribution SrcDistTable[] = { { "sinclude", "/usr/src", &SrcDists, DIST_SRC_INCLUDE, NULL }, { "slib", "/usr/src", &SrcDists, DIST_SRC_LIB, NULL }, { "slibexec", "/usr/src", &SrcDists, DIST_SRC_LIBEXEC, NULL }, +{ "slkm", "/usr/src", &SrcDists, DIST_SRC_LKM, NULL }, { "srelease", "/usr/src", &SrcDists, DIST_SRC_RELEASE, NULL }, { "sbin", "/usr/src", &SrcDists, DIST_SRC_BIN, NULL }, { "ssbin", "/usr/src", &SrcDists, DIST_SRC_SBIN, NULL }, @@ -114,8 +115,8 @@ static Distribution SrcDistTable[] = { /* The XFree86 distribution */ static Distribution XF86DistTable[] = { -{ "XF86333", "/usr/X11R6", &XF86Dists, DIST_XF86_FONTS, XF86FontDistTable }, -{ "XF86333", "/usr/X11R6", &XF86Dists, DIST_XF86_SERVER, XF86ServerDistTable }, +{ "XF86332", "/usr/X11R6", &XF86Dists, DIST_XF86_FONTS, XF86FontDistTable }, +{ "XF86332", "/usr/X11R6", &XF86Dists, DIST_XF86_SERVER, XF86ServerDistTable }, { "Xsrc1", "/usr/X11R6/src", &XF86Dists, DIST_XF86_SRC, NULL }, { "Xsrcctrb", "/usr/X11R6/src", &XF86Dists, DIST_XF86_CSRC, NULL }, { "Xbin", "/usr/X11R6", &XF86Dists, DIST_XF86_BIN, NULL }, @@ -763,7 +764,7 @@ printSelected(char *buf, int selected, Distribution *me, int *col) int distExtractAll(dialogMenuItem *self) { - int old_dists, retries = 0, status = DITEM_SUCCESS; + int retries = 0; char buf[512]; /* paranoia */ @@ -775,22 +776,13 @@ distExtractAll(dialogMenuItem *self) if (!mediaVerify() || !mediaDevice->init(mediaDevice)) return DITEM_FAILURE; - old_dists = Dists; distVerifyFlags(); - dialog_clear_norefresh(); msgNotify("Attempting to install all selected distributions.."); - /* Try for 3 times around the loop, then give up. */ while (Dists && ++retries < 3) distExtract(NULL, DistTable); - /* Only do bin fixup if bin dist was successfully extracted */ - if ((old_dists & DIST_BIN) && !(Dists & DIST_BIN)) - status |= installFixupBin(self); - if (old_dists & DIST_XF86) - status |= installFixupXFree(self); - if (Dists) { int col = 0; @@ -800,7 +792,7 @@ distExtractAll(dialogMenuItem *self) msgConfirm("Couldn't extract the following distributions. This may\n" "be because they were not available on the installation\n" "media you've chosen:\n\n\t%s", buf); - status |= DITEM_RESTORE; + return DITEM_SUCCESS | DITEM_RESTORE; } - return status; + return DITEM_SUCCESS; } diff --git a/release/sysinstall/dist.h b/release/sysinstall/dist.h index 19efb223faec..9418a5cdd013 100644 --- a/release/sysinstall/dist.h +++ b/release/sysinstall/dist.h @@ -43,7 +43,7 @@ #define DIST_SRC_INCLUDE 0x00020 #define DIST_SRC_LIB 0x00040 #define DIST_SRC_LIBEXEC 0x00080 -/* 0x00100 */ +#define DIST_SRC_LKM 0x00100 #define DIST_SRC_RELEASE 0x00200 #define DIST_SRC_SBIN 0x00400 #define DIST_SRC_SHARE 0x00800 diff --git a/release/sysinstall/dos.c b/release/sysinstall/dos.c index a11122ab811d..ac021bb929f8 100644 --- a/release/sysinstall/dos.c +++ b/release/sysinstall/dos.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: dos.c,v 1.21 1998/10/28 02:18:08 jkh Exp $ + * $Id: dos.c,v 1.19 1998/09/08 11:44:07 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -50,26 +50,29 @@ #undef MSDOSFS static Boolean DOSMounted; -static char mountpoint[] = "/dist"; Boolean mediaInitDOS(Device *dev) { struct msdosfs_args args; - if (DOSMounted) + if (!RunningAsInit || DOSMounted) return TRUE; - Mkdir(mountpoint); + if (DITEM_STATUS(Mkdir("/dist")) != DITEM_SUCCESS) + return FALSE; + memset(&args, 0, sizeof(args)); args.fspec = dev->devname; args.uid = args.gid = 0; args.mask = 0777; - if (mount("msdos", mountpoint, MNT_RDONLY, (caddr_t)&args) == -1) { - msgConfirm("Error mounting %s on %s: %s (%u)", args.fspec, mountpoint, strerror(errno), errno); + if (mount("msdos", "/dist", MNT_RDONLY, (caddr_t)&args) == -1) { + msgConfirm("Error mounting %s on /dist: %s (%u)", args.fspec, strerror(errno), errno); return FALSE; } + else + msgDebug("Mounted DOS device (%s) on /dist.\n", args.fspec); DOSMounted = TRUE; return TRUE; } @@ -77,18 +80,33 @@ mediaInitDOS(Device *dev) FILE * mediaGetDOS(Device *dev, char *file, Boolean probe) { - return mediaGenericGet(mountpoint, file); + char buf[PATH_MAX]; + + if (isDebug()) + msgDebug("Request for %s from DOS\n", file); + snprintf(buf, PATH_MAX, "/dist/%s", file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/dists/%s", file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/%s/%s", variable_get(VAR_RELNAME), file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/%s/dists/%s", variable_get(VAR_RELNAME), file); + return fopen(buf, "r"); } void mediaShutdownDOS(Device *dev) { - if (!DOSMounted) + if (!RunningAsInit || !DOSMounted) return; - if (unmount(mountpoint, MNT_FORCE) != 0) - msgConfirm("Could not unmount the DOS partition from %s: %s", - mountpoint, strerror(errno)); - else - DOSMounted = FALSE; + msgDebug("Unmounting %s from /dist\n", dev->name); + if (unmount("/dist", MNT_FORCE) != 0) + msgConfirm("Could not unmount the DOS partition: %s", strerror(errno)); + if (isDebug()) + msgDebug("Unmount successful\n"); + DOSMounted = FALSE; return; } diff --git a/release/sysinstall/floppy.c b/release/sysinstall/floppy.c index 6c1ab402abe4..87974dd24404 100644 --- a/release/sysinstall/floppy.c +++ b/release/sysinstall/floppy.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: floppy.c,v 1.30 1998/10/12 23:45:06 jkh Exp $ + * $Id: floppy.c,v 1.29 1998/07/18 09:42:00 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -56,17 +56,18 @@ static Boolean floppyMounted; char *distWanted; -static char mountpoint[] = "/dist"; Boolean mediaInitFloppy(Device *dev) { struct msdosfs_args dosargs; struct ufs_args u_args; + char *mountpoint; if (floppyMounted) return TRUE; + mountpoint = (char *)dev->private; if (Mkdir(mountpoint)) { msgConfirm("Unable to make %s directory mountpoint for %s!", mountpoint, dev->devname); return FALSE; @@ -92,11 +93,12 @@ mediaInitFloppy(Device *dev) if (mount("msdos", mountpoint, MNT_RDONLY, (caddr_t)&dosargs) == -1) { if (mount("ufs", mountpoint, MNT_RDONLY, (caddr_t)&u_args) == -1) { - msgConfirm("Error mounting floppy %s (%s) on %s : %s", - dev->name, dev->devname, mountpoint, strerror(errno)); + msgConfirm("Error mounting floppy %s (%s) on %s : %s", dev->name, dev->devname, mountpoint, + strerror(errno)); return FALSE; } } + msgDebug("initFloppy: mounted floppy %s successfully on %s\n", dev->devname, mountpoint); floppyMounted = TRUE; distWanted = NULL; return TRUE; @@ -109,12 +111,10 @@ mediaGetFloppy(Device *dev, char *file, Boolean probe) FILE *fp; int nretries = 5; - /* - * floppies don't use mediaGenericGet() because it's too expensive - * to speculatively open files on a floppy disk. Make user get it - * right or give up with floppies. - */ - snprintf(buf, PATH_MAX, "%s/%s", mountpoint, file); + snprintf(buf, PATH_MAX, "%s/%s", (char *)dev->private, file); + + if (isDebug()) + msgDebug("Request for %s from floppy on %s, probe is %d.\n", buf, (char *)dev->private, probe); if (!file_readable(buf)) { if (probe) return NULL; @@ -138,13 +138,17 @@ mediaGetFloppy(Device *dev, char *file, Boolean probe) void mediaShutdownFloppy(Device *dev) { + char *mountpoint = (char *)dev->private; + if (floppyMounted) { if (unmount(mountpoint, MNT_FORCE) != 0) msgDebug("Umount of floppy on %s failed: %s (%d)\n", mountpoint, strerror(errno), errno); else { floppyMounted = FALSE; + msgDebug("Floppy unmounted successfully.\n"); if (!variable_get(VAR_NONINTERACTIVE)) - msgConfirm("You may remove the floppy from %s", dev->description); + msgConfirm("You may remove the floppy from %s", + dev->description); } } } diff --git a/release/sysinstall/ftp.c b/release/sysinstall/ftp.c index 4f1e542e86b1..f6d6bc7fd8a2 100644 --- a/release/sysinstall/ftp.c +++ b/release/sysinstall/ftp.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: ftp.c,v 1.35 1998/01/28 04:42:38 jkh Exp $ + * $Id: ftp.c,v 1.34 1997/10/03 14:00:09 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -80,6 +80,9 @@ mediaInitFTP(Device *dev) if (ftpInitted) return TRUE; + if (isDebug()) + msgDebug("Init routine for FTP called.\n"); + if (OpenConn) { fclose(OpenConn); OpenConn = NULL; @@ -164,6 +167,8 @@ try: else goto punt; } + if (isDebug()) + msgDebug("mediaInitFTP was successful (logged in and chdir'd)\n"); ftpInitted = TRUE; return TRUE; @@ -216,7 +221,7 @@ mediaGetFTP(Device *dev, char *file, Boolean probe) /* Try some alternatives */ switch (nretries++) { case 1: - sprintf(buf, "releases/%s", file); + sprintf(buf, "dists/%s", file); try = buf; break; @@ -226,7 +231,7 @@ mediaGetFTP(Device *dev, char *file, Boolean probe) break; case 3: - sprintf(buf, "%s/releases/%s", variable_get(VAR_RELNAME), file); + sprintf(buf, "%s/dists/%s", variable_get(VAR_RELNAME), file); try = buf; break; @@ -245,6 +250,7 @@ mediaShutdownFTP(Device *dev) if (!ftpInitted) return; + msgDebug("FTP shutdown called. OpenConn = %x\n", OpenConn); if (OpenConn != NULL) { fclose(OpenConn); OpenConn = NULL; diff --git a/release/texts/XFREE86.TXT b/release/sysinstall/help/XF86.hlp index 4757fb079c26..4757fb079c26 100644 --- a/release/texts/XFREE86.TXT +++ b/release/sysinstall/help/XF86.hlp diff --git a/release/texts/HARDWARE.TXT b/release/sysinstall/help/hardware.hlp index 3ab5f98585bd..690a5f18bf62 100644 --- a/release/texts/HARDWARE.TXT +++ b/release/sysinstall/help/hardware.hlp @@ -59,18 +59,19 @@ fdc0 3f0 6 2 n/a Floppy disk controller wdc0 1f0 14 n/a n/a IDE/MFM/RLL disk controller wdc1 170 15 n/a n/a IDE/MFM/RLL disk controller -adv0 n/a n/a n/a n/a AdvanSys Narrow SCSI controllers -adw0 n/a n/a n/a n/a AdvanSys Wide SCSI controllers +adv0 n/a n/a n/a n/a AdvanSys ADP-9xx SCSI controller ncr0 n/a n/a n/a n/a NCR PCI SCSI controller bt0 330 dyn dyn dyn Buslogic SCSI controller -uha0* 330 dyn 6 dyn Ultrastore 14f +uha0 330 dyn 6 dyn Ultrastore 14f aha0 330 dyn 5 dyn Adaptec 154x/1535 SCSI controller ahb0 dyn dyn dyn dyn Adaptec 174x SCSI controller ahc0 dyn dyn dyn dyn Adaptec 274x/284x/294x SCSI controller aic0* 340 11 dyn dyn Adaptec 152x/AIC-6360 SCSI controller -isp0 dyn dyn dyn dyn QLogic 10X0, 2100 SCSI/FC controllers +amd0 n/a n/a n/a n/a Tekram DC-390(T) / AMD 53c974 PCI SCSI dpt n/a n/a n/a n/a DPT RAID SCSI controllers. +nca0* 1f88 10 dyn dyn ProAudioSpectrum cards +sea0* dyn 5 dyn c8000 Seagate ST01/02 8 bit controller wt0 300 5 1 dyn Wangtek and Archive QIC-02/QIC-36 @@ -86,7 +87,6 @@ sio1 2f8 3 n/a n/a Serial Port 1 (COM2) lpt0 dyn 7 n/a n/a Printer Port 0 lpt1 dyn dyn n/a n/a Printer Port 1 -ax0 dyn dyn n/a dyn ASIX AX88140A PCI based cards de0 n/a n/a n/a n/a DEC DC21x40 PCI based cards (including 21140 100bT cards) ed0 280 10 dyn d8000 WD & SMC 80xx; Novell NE1000 & @@ -97,6 +97,7 @@ ex0 dyn dyn dyn n/a Intel EtherExpress Pro/10 cards fe0 300 dyn n/a n/a Allied-Telesis AT1700, RE2000 and Fujitsu FMV-180 series cards. fxp0 dyn dyn n/a dyn Intel EtherExpress Pro/100B +tl0 dyn dyn n/a dyn TI TNET100 'ThunderLAN' cards. ie0 300 10 dyn d0000 AT&T StarLAN 10 and EN100; 3Com 3C507; NI5210 ix0 300 10 dyn d0000 Intel EtherExpress cards @@ -106,12 +107,6 @@ le0 300 5 dyn d0000 Digital Equipment EtherWorks lnc0 280 10 n/a dyn Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, some PCnet-PCI cards) -mx0 dyn dyn n/a dyn Macronix 98713/15/25 PCI based cards -pn0 dyn dyn n/a dyn Lite-On PNIC PCI based cards -rl0 dyn dyn n/a dyn RealTek 8129/8139 fast ethernet -tl0 dyn dyn n/a dyn TI TNET100 'ThunderLAN' cards. -wb0 dyn dyn n/a dyn Winbond W89C840F PCI based cards. -vr0 dyn dyn n/a dyn VIA VT3043/VT86C100A PCI based cards. vx0 dyn dyn n/a dyn 3Com 3c59x ((Fast) Etherlink III) xl0 dyn dyn n/a dyn 3Com 3c900, 3c905 and 3c905B ((Fast) Etherlink XL) @@ -328,36 +323,44 @@ ATA Adaptec 1535 ISA SCSI controllers Adaptec 154x series ISA SCSI controllers Adaptec 174x series EISA SCSI controller in standard and enhanced mode. -Adaptec 274X/284X/2920C/294x/2950/3940/3950 (Narrow/Wide/Twin) series -EISA/VLB/PCI SCSI controllers. -Adaptec AIC7850, AIC7860, AIC7880, AIC789x, on-board SCSI controllers. +Adaptec 274X/284X/2940/3940 (Narrow/Wide/Twin) series ISA/EISA/PCI SCSI +controllers. +Adaptec AIC7850/AIC7895 on-board SCSI controllers. -AdvanSys SCSI controllers (all models). +Support for the following controllers is rather weak: +Adaptec 1510 series ISA SCSI controllers (not for bootable devices) +Adaptec 152x series ISA SCSI controllers +Adaptec AIC-6260 and AIC-6360 based boards, which includes the AHA-152x +and SoundBlaster SCSI cards. -BusLogic MultiMaster controllers: +** Note: You cannot boot from the SoundBlaster cards as they have no + on-board BIOS, such being necessary for mapping the boot device into the + system BIOS I/O vectors. They're perfectly usable for external tapes, + CDROMs, etc, however. The same goes for any other AIC-6x60 based card + without a boot ROM. Some systems DO have a boot ROM, which is generally + indicated by some sort of message when the system is first powered up + or reset, and in such cases you *will* also be able to boot from them. + Check your system/board documentation for more details. -[ Please note that BusLogic/Mylex "Flashpoint" adapters are NOT yet supported ] -BusLogic MultiMaster "W" Series Host Adapters: - BT-948, BT-958, BT-958D -BusLogic MultiMaster "C" Series Host Adapters: - BT-946C, BT-956C, BT-956CD, BT-445C, BT-747C, BT-757C, BT-757CD, BT-545C, - BT-540CF -BusLogic MultiMaster "S" Series Host Adapters: - BT-445S, BT-747S, BT-747D, BT-757S, BT-757D, BT-545S, BT-542D, BT-742A, - BT-542B -BusLogic MultiMaster "A" Series Host Adapters: - BT-742A, BT-542B +AdvanSys (Advanced Systems) ABP510/542/5150 ISA and ABP5140/5142 ISA PnP +cards, ABP842/852 VLB cards, and ABP920/930/930U/930UA/950/960/960U/970/970U +PCI cards. + +** Note: The ADP510/5140/5150 boards were shipped by HP with the 4020i + CD-R drive but with NO BIOS, so these models cannot control boot devices + though they can be used for any secondary SCSI device. Also note that the + ABP5140/5142 boards were rebadged by SIIG as the "SpeedMaster i540/i542" -AMI FastDisk controllers that are true BusLogic MultiMaster clones are also -supported. -DPT SmartCACHE Plus, SmartCACHE III, SmartRAID III, SmartCACHE IV and -SmartRAID IV SCSI/RAID controllers are supported. The DPT SmartRAID/CACHE V -is not yet supported. +Buslogic 545S & 545c +Buslogic 445S/445c VLB SCSI controller +Buslogic 742A, 747S, 747c EISA SCSI controller. +Buslogic 946c PCI SCSI controller +Buslogic 956c PCI SCSI controller -SymBios (formerly NCR) 53C810, 53C810a, 53C815, 53C820, 53C825a, -53C860, 53C875, 53C875j, 53C885, 53C895 and 53C896 PCI SCSI controllers: +SymBios (formerly NCR) 53C810, 53C825, 53c860 and 53c875 PCI SCSI +controllers: ASUS SC-200 Data Technology DTC3130 (all variants) NCR cards (all) @@ -365,56 +368,34 @@ SymBios (formerly NCR) 53C810, 53C810a, 53C815, 53C820, 53C825a, Tekram DC390W, 390U and 390F Tyan S1365 +Tekram DC390 and DC390T controllers (maybe other cards based on the +AMD 53c974 as well). -QLogic 1020, 1040, 1040B and 2100 SCSI and Fibre Channel Adapters +NCR5380/NCR53400 ("ProAudio Spectrum") SCSI controller. DTC 3290 EISA SCSI controller in 1542 emulation mode. +UltraStor 14F, 24F and 34F SCSI controllers. + +Seagate ST01/02 SCSI controllers. + +Future Domain 8xx/950 series SCSI controllers. + +WD7000 SCSI controller. + With all supported SCSI controllers, full support is provided for -SCSI-I & SCSI-II peripherals, including hard disks, optical disks, -tape drives (including DAT and 8mm Exabyte), medium changers, processor -target devices and CDROM drives. WORM devices that support CDROM commands -are supported for read-only access by the CDROM driver. WORM/CD-R/CD-RW -writing support is provided by cdrecord, which is in the ports tree. +SCSI-I & SCSI-II peripherals, including Disks, tape drives (including +DAT and 8mm Exabyte) and CD ROM drives. The following CD-ROM type systems are supported at this time: (cd) SCSI interface (also includes ProAudio Spectrum and SoundBlaster SCSI) +(mcd) Mitsumi proprietary interface (all models, driver is rather stale) (matcd) Matsushita/Panasonic (Creative SoundBlaster) proprietary interface (562/563 models) (scd) Sony proprietary interface (all models) -(wcd) ATAPI IDE interface - -The following drivers were supported under the old SCSI subsystem, but are -NOT YET supported under the new CAM SCSI subsystem: - - Tekram DC390 and DC390T controllers (maybe other cards based on the - AMD 53c974 as well). - - NCR5380/NCR53400 ("ProAudio Spectrum") SCSI controller. - - UltraStor 14F, 24F and 34F SCSI controllers. - - Seagate ST01/02 SCSI controllers. +(wcd) ATAPI IDE interface. - Future Domain 8xx/950 series SCSI controllers. - - WD7000 SCSI controller. - - Adaptec 1510 series ISA SCSI controllers (not for bootable devices) - Adaptec 152x series ISA SCSI controllers - Adaptec AIC-6260 and AIC-6360 based boards, which includes the AHA-152x - and SoundBlaster SCSI cards. - - [ Note: There is work-in-progress to port the AIC-6260/6360 and - UltraStor drivers to the new CAM SCSI framework, but no estimates on - when or if they will be completed. ] - -Unmaintained drivers, they might or might not work for your hardware: - - Floppy tape interface (Colorado/Mountain/Insight) - - (mcd) Mitsumi proprietary CD-ROM interface (all models) 4.2. Network cards ---- ------------- @@ -427,47 +408,12 @@ SMC Elite 16 WD8013 ethernet interface, and most other WD8003E, WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT and WD8013EBT based clones. SMC Elite Ultra is also supported. -RealTek 8129/8139 fast ethernet NICs including the following: - Allied Telesyn AT2550 - Allied Telesyn AT2500TX - Genius GF100TXR (RTL8139) - NDC Communications NE100TX-E - OvisLink LEF-8129TX - OvisLink LEF-8139TX - Netronix Inc. EA-1210 NetEther 10/100 - KTX-9130TX 10/100 Fast Ethernet - Accton "Cheetah" EN1027D (MPX 5030/5038; RealTek 8139 clone?) - SMC EZ Card 10/100 PCI 1211-TX - -Lite-On 82c168/82c169 PNIC fast ethernet NICs including the following: - LinkSys EtherFast LNE100TX - NetGear FA310-TX Rev. D1 - Matrox FastNIC 10/100 - -Macronix 98713, 98713A, 98715, 98715A and 98725 fast ethernet NICs - NDC Communications SFA100A (98713A) - CNet Pro120A (98713 or 98713A) - CNet Pro120B (98715) - SVEC PN102TX (98713) - -Winbond W89C840F fast ethernet NICs including the following: - Trendware TE100-PCIE - -VIA Technologies VT3043 "Rhine I" and VT86C100A "Rhine II" fast ethernet -NICs including the following: - Hawking Technologies PN102TX - D-Link DFE530TX - Texas Instruments ThunderLAN PCI NICs, including the following: Compaq Netelligent 10, 10/100, 10/100 Proliant, 10/100 Dual-Port Compaq Netelligent 10/100 TX Embedded UTP, 10 T PCI UTP/Coax, 10/100 TX UTP Compaq NetFlex 3P, 3P Integrated, 3P w/ BNC Olicom OC-2135/2138, OC-2325, OC-2326 10/100 TX UTP -ASIX Electronics AX88140A PCI NICs, including the following: - Alfa Inc. GFC2204 - CNet Pro110B - DEC EtherWORKS III NICs (DE203, DE204, and DE205) DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422) DEC DC21040, DC21041, or DC21140 based NICs (SMC Etherpower 8432T, DE245, etc) @@ -501,8 +447,6 @@ Novell NE1000, NE2000, and NE2100 ethernet interface. 3Com 3C509, 3C579, 3C589 (PCMCIA), 3C590/592/595/900/905/905B PCI and EISA (Fast) Etherlink III / (Fast) Etherlink XL -3Com 3c980 Fast Etherlink XL server adapter - Toshiba ethernet cards PCMCIA ethernet cards from IBM and National Semiconductor are also diff --git a/release/texts/INSTALL.TXT b/release/sysinstall/help/install.hlp index 3a7c5cf420d8..dfc1697d56b0 100644 --- a/release/texts/INSTALL.TXT +++ b/release/sysinstall/help/install.hlp @@ -266,7 +266,7 @@ the distributions you're interested in, simply tar them onto the tape with a command something like this: cd /where/you/have/your/dists - tar cvf /dev/rwt0 (or /dev/rsa0) dist1 .. dist2 + tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2 When you go to do the installation, you should also make sure that you leave enough room in some temporary directory (which you'll be allowed diff --git a/release/sysinstall/help/partition.hlp b/release/sysinstall/help/partition.hlp index 37520bfbaefe..8e07d3dc79bb 100644 --- a/release/sysinstall/help/partition.hlp +++ b/release/sysinstall/help/partition.hlp @@ -72,16 +72,16 @@ looking at disk storage works: In FreeBSD's new system, a device name can be broken up into up to 3 -parts. Take a typical name like ``/dev/da0s1a'': +parts. Take a typical name like ``/dev/sd0s1a'': The first three characters represent the drive name. If we had - a system with two SCSI drives on it then we'd see /dev/da0 and - /dev/da1 as the device entries representing the entire drives. + a system with two SCSI drives on it then we'd see /dev/sd0 and + /dev/sd1 as the device entries representing the entire drives. Next you have the "slice" (or "FDISK Partition") number, - as seen in the Partition Editor. Assuming that our da0 + as seen in the Partition Editor. Assuming that our sd0 contained two slices, a FreeBSD slice and a DOS slice, that - would give us /dev/da0s1 and /dev/da0s2 as device entries pointing + would give us /dev/sd0s1 and /dev/sd0s2 as device entries pointing to the entire slices. Next, if a slice is a FreeBSD slice, you can have a number of @@ -89,13 +89,13 @@ parts. Take a typical name like ``/dev/da0s1a'': These partitions are where various filesystems or swap areas live, and using our hypothetical two-SCSI-disk machine again, we might - have something like the following layout on da0: + have something like the following layout on sd0: Name Mountpoint ---- ---------- - da0s1a / - da0s1b <swap space> - da0s1e /usr + sd0s1a / + sd0s1b <swap space> + sd0s1e /usr Because of historical convention, there is also a short-cut, or "compatibility slice", that is maintained for easy access @@ -108,13 +108,13 @@ parts. Take a typical name like ``/dev/da0s1a'': Name Mountpoint ---- ---------- - da0a / - da0b <swap space> - da0e /usr + sd0a / + sd0b <swap space> + sd0e /usr Again, let it be noted: FreeBSD automatically maps the compatibility slice to the first FreeBSD slice it finds - (in this case, da0s1). You may have multiple FreeBSD slices on a + (in this case, sd0s1). You may have multiple FreeBSD slices on a drive, but only the first one will be mapped to the compatibility slice! diff --git a/release/texts/README.TXT b/release/sysinstall/help/readme.hlp index 5167040e2556..ec53eb85aacd 100644 --- a/release/texts/README.TXT +++ b/release/sysinstall/help/readme.hlp @@ -1,13 +1,13 @@ ----------------------------------------- - FreeBSD 3.0 --- SNAPSHOT Version , , + FreeBSD 3.0 --- RELEASE Version , , ----------------------------------------- /( )` \ \___ / | -This is a binary snapshot of 3.0-current, the /- _ `-/ ' -(HEAD) branch which is currently moving towards (/\/ \ \ /\ -the follow-on release to 3.0. / / | ` \ - O O ) / | - `-^--'`< ' - (_.) _ ) / +This is FreeBSD 3.0-RELEASE, the first official /- _ `-/ ' +release on the 3.0-current branch. This release (/\/ \ \ /\ +contains a lot of new technology as well as our / / | ` \ +first non-x86 architecture port (to the ALPHA) O O ) / | +and promises to be an exciting start to what will `-^--'`< ' +hopefully be many follow-on releases. (_.) _ ) / `.___/` / `-----' / Feedback or offers to help with anything <----. __ / __ \ @@ -22,17 +22,22 @@ ABOUT.TXT file for more information. \ / /\ TARGET AUDIENCE: ---------------- This release is aimed primarily at early-adopters and the various -other folks who want to get involved with the ongoing development -of FreeBSD and are willing to deal with a few bumps in the road. -We do our best to ensure that each snapshot works as advertised, -but tracking -current is a process which frequently has its off -days. +other folks who want to get on board with 3.0 and are willing to deal +with the various down-sides of a "dot-zero" release. We have naturally +done our best to ensure that 3.0 performs as advertised but, as the +first release on a branch which has seen some very radical changes +from 2.2.x (SMP, ELF, new boot blocks, many kernel changes, etc), it's +also very new technology and will require at least one more release +along the 3.0 branch before it's ready for "production" purposes. +This is one of the reasons why the 2.2.x branch will be continuing +into November, with the scheduled release of 2.2.8, and possibly a bit +beyond. If you're both technically proficient and know exactly what you're -getting into here (e.g. you've been following -current) then this -snapshot is probably for you. If you're more interested in doing -business with FreeBSD than in playing with the cutting edge of -technology, however, then 2.2.x is almost certainly your best bet. +getting into here (e.g. you've been following -current) then 3.0 is +probably for you. If you're more interested in doing business with +FreeBSD than in playing with the cutting edge of technology, however, +then 2.2.x is almost certainly your best bet. ROAD MAP: diff --git a/release/sysinstall/help/relnotes.hlp b/release/sysinstall/help/relnotes.hlp new file mode 100644 index 000000000000..cc8ebcfb220c --- /dev/null +++ b/release/sysinstall/help/relnotes.hlp @@ -0,0 +1,834 @@ + RELEASE NOTES + FreeBSD Release 3.0-RELEASE + +This is our first release of 3.0-CURRENT and is aimed primarily at +early adopters and developers. Some parts of the documentation may +not be updated yet and should be reported if and when seen. +Naturally, any installation failures or crashes should also be +reported ASAP by sending mail to freebsd-bugs@FreeBSD.org or using the +send-pr command (those preferring a WEB based interface can also see +http://www.freebsd.org/send-pr.html). + +For information about FreeBSD and the layout of the 3.0-RELEASE +directory (especially if you're installing from floppies!), see +ABOUT.TXT. For installation instructions, see the INSTALL.TXT and +HARDWARE.TXT files. + +This is also hardly the last release on the 3.0-current (HEAD) branch +and daily snapshot releases will continue as normal following this +release. Please install them from: + + ftp://current.freebsd.org/pub/FreeBSD + +If you wish to get the latest post-3.0-RELEASE technology. + +Table of contents: +------------------ +1. What's new since 2.2.X-RELEASE + 1.1 KERNEL CHANGES + 1.2 SECURITY FIXES + 1.3 USERLAND CHANGES + +2. Supported Configurations + 2.1 Disk Controllers + 2.2 Ethernet cards + 2.3 ATM + 2.4 Misc + +3. Obtaining FreeBSD + 3.1 FTP/Mail + 3.2 CDROM + +4. Upgrading from previous releases of FreeBSD + +5. Reporting problems, making suggestions, submitting code +6. Acknowledgements + + +1. What's new since 2.2.X-RELEASE +--------------------------------- +All changes described here are unique to the 3.0 branch unless +specifically marked as [MERGED] features. + +1.1. KERNEL CHANGES +------------------- +o The 2.2.x SCSI subsystem has been almost entirely replaced with + a new "CAM" (Common Access Method) SCSI system which offers + improved performance, better error recovery and support for more + SCSI controllers. + +o The Host ATM Research Platform ("HARP") software by Network + Computing Services, Inc. has been integrated into the system. + See /usr/src/share/examples/atm for more info. + +o The SMP (Symmetric MultiProcessing) branch has been merged. + The kernel is mostly non-reentrant as yet, but work is under way. + +o The code from 4.4BSD-Lite2 has been (finally) merged. + +o Secure RPC is now supported (and usable with NFS et al). + +o Sun's WEBNFS standard is now supported. + +o The MSDOS filesystem code now handles VFAT and FAT32 partitions. + [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] + +o ATAPI/IDE CD burner support (BETA). + +o ATAPI/IDE tape drive support (BETA). + +o Support for using VESA video modes. It is now possible to select and + use the modes provided by the BIOS on modern videocards. This enables + fx. 132x60 sized consoles and highres graphics in a generic manner on + hardware that supports it. There is also support for running the + console in rastermode, which allows XFree86 to run a simple 16color + server in 800x600 on otherwise unsupported video hardware. + +o Support for AdvanSys SCSI controllers + +o Support for QLogic SCSI and Fibre Channel controllers. + +o Support for Adaptec 7890, 7891, 7895, 7896 and 7897 based controllers + (new 2940/2950/3940/3950 et al). + +o The ed0 (wd8xxxx, 3c503, NE2000, HP Lan+) Ethernet device's default IRQ + has changed from IRQ 5 to IRQ 10. + The ed1 Ethernet device has been removed. Use the Userconfig utility + to change ed0's values to match your network card's settings. + [MERGED: Both changes are in 2.2.6 and later releases on 2.2-STABLE branch] + +o The code responsible for maintaining time of day has been + rewritten. New features are: true support for nanoseconds in + both kernel and userland, continuous rather than stepwise adjustment + by NTPD and support for synchronizing to high precision external time + signals. + +o Support for the PPS API described in draft-mogul-pps-api-02.txt for + TTL rising edge inputs via the parallel printer port has been added + to the printer driver. + +o Use the new if_multiaddrs list for multicast addresses rather than the + previous hackery involving struct in_ifaddr and arpcom. Get rid of the + abominable multi_kludge. + +o The new if_media selection method for ethernet drivers has been brought + in, obtained from Jason Thorpe's implementation for NetBSD. + [MERGED: Also in 2.2.5 and later releases on 2.2-STABLE branch] + +o Multi-session ISO-9660 CD-ROMs are now fully supported. By default, the + last session will be mounted (including for root mounts). For non-root + mounts, mount_cd9660(8) can take an argument to mount a particular + session instead of the default one. + +o The UPAGES are gone from the per-process address space which allows + complete address space and page table sharing by reference count. + +o Newly forked child processes return directly to user mode rather than + return up through the fork() syscall tree. This eliminates the kernel + stack copy at fork time and simplifies certain other internal operations. + It is also needed to support the removal of the UPAGES. (The idea for + this originally came from NetBSD, but we did it for different reasons.) + +o vfork() is now fully functional by taking advantage of the new sharing + semantics and a significant speedup has been measured. This can be + disabled via the kern.fast_vfork sysctl variable in case of problems. + Statically linked binaries from older releases and other BSD platforms + are a problem since there was a bug in the 4.4BSD (net2, Lite and Lite2) + popen() implementation. rfork() also has access to these facilities, + intended for supporting kernel assisted threads. + +o With the contribution of Berkeley Software Design, Inc., Jonathan Lemmon, + Mike Smith, Sean Eric Fagan, and John Dyson, VM86 support has been added + to the kernel, and BSD/OS's contributed dosemu has been ported. + +o The SA_NOCLDWAIT flags has been implemented, featuring the System V + option where a process can express its wish to never get zombies or + SIGCHLD for dead children. + +o An implementation of poll(2) is in place, the core of which is derived + from the NetBSD implementation. Both the select() and poll() syscalls + use the poll device, file and vnode ops routines. + +o An implementation of issetugid(2) that is similar to the OpenBSD call + of the same name. We set the flag in more cases than OpenBSD - our + implementation is slightly more paranoid. + +o Async IO is implemented (under non-SMP at this stage) with additional + support for kernel assisted threads. + +o Some other misc syscalls for compatability with other systems: getsid(2), + setpgid(2), nanosleep(2). + +o A new syscall signanosleep(2) which is like nanosleep(2), but a specific + signal mask is used to determine which signals will wake the sleep. In + a nutshell this is 'wait for a given set of signals for up to a certain + amount of time'. + +o sleep(3) and usleep(3) are now implemented in terms of signanosleep(2) + and now have correct SIGALRM interaction semantics and sleep(3) correctly + returns the time remaining. Some programs (notably apache httpd) bogusly + depend on a sleep() "absorbing" a SIGALRM from a timer that expires during + the life of the sleep. + +o An in-kernel linker is implemented and intended to replace the lkm system + with the bogosity that goes with it. + +o All supported network protocols have been updated to avoid the ``big + switch'' pr_usrreq(), and to pass a process pointer down to each user + request that might need process credentials or want to sleep, + replacing the previous hodgepodge of inspecting curproc (which only + occasionally did the right thing) and the SS_PRIV socket state flag. + The latter has now been eliminated, along with the SO_PRIVSTATE socket + option which cleared it. Protocols are now also given the opportunity + to override the generic send, receive, and poll routines, which will + make it possible for a more efficient, protocol-specific + implementation of these entry points in later releases. Finally, many + parts of the network code have been modified to cease storing socket + addresses and other metainformation in mbufs, in preparation for the + eventual elimination thereof. The mechanism by which socket addresses + are now returned is still highly subject to change as we experiment to + discover the most efficient method. + +o Responses to multicast ICMP ECHO REQUEST (``ping'') and ADDRESS MASK + REQUEST packets can now be disabled via sysctl. The netstat program + will print out statistics on how many times this happens. + +o A subtle and seldom encountered bug in ffs has been fixed. + +o The VFS name cache has been reworked to be more accountable and efficient. + +o The generic part of VOP_LOOKUP() has been put it in system-wide function + which filesystems can rely on for the canonical stuff. + +o Vnode freelist handling has been hauled over. Vnodes are only on the + freelist if nobody cares about them. + +o The kernel provides assistance to getcwd() from data stored in the name + cache if possible. + +o An interrupt driven configuration hook mechanism has been implemented. + This allows drivers to postpone part of their configuration until after + interrupts are fully enabled. This speeds booting because busy-waiting + is avoided for things like sub device probing (eg: SCSI bus probes). + +o The timeout(9) system in the kernel has been overhauled. This gives + O(1) insertion and removal of callouts and an O(hash chain length) + amount of work to be performed in softclock. The original paper is at: + http://www.cs.berkeley.edu/~amc/research/timer/ + +o Changes in driver buffer queuing to deal with ordered transactions. This + is intended for sequencing data and metadata writes in the filesystem code + once fully supported. + +o EISA Shared interrupts are now supported, working with the framework + originally for supporting PCI shared interrupts. + +o Support for the Comtrol Rocketport card. + +o IPFW's packet and byte counters have been expanded from 32 to 64 bits, + a `FWD' operation has been added to ipfw to support transparent + proxying and the divert operation has changed slightly - see the man + pages for natd(8) and ipfw(8) for more information. + +o New Plug and Play (PnP) support that allows you to (re)configure PnP + devices. Also support modems being detected by the PnP part and + automatically attached. + [MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] + +o Import of new sound code from Luigi Rizzo. This code is still being + developed, but has support for a number of different cards. + [MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] + +o The psm, mse and sysmouse drivers are improved to provide better mouse + support. In particular, the psm driver now supports various ``wheeled'' + mice. + [MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] + +o Added support for SMC EtherPower II 10/100 Fast Ethernet card + (aka SMC9432TX based on SMC83c170 EPIC chip). + [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] + +o Added support for ATAPI floppy drives (LS-120). + [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] + +o Added support for IBM Etherjet and other Crystal Semiconductor + CS89x0-based NICs. + [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] + +o Added support for Texas Instruments TNET100 'ThunderLAN' PCI NIC. + [MERGED: Also in 2.2.8 and later releases on 2.2-STABLE branch] + +o Added full bus master DMA support for 3c900 and 3c905 adapters and + added support for the 3c905B. + [MERGED: Also in 2.2.8 and later releases on 2.2-STABLE branch] + + +1.2. SECURITY FIXES +------------------- +[MERGED: all changes soon after specified date in 2.2-STABLE branch] + +97/7/29 Lots of lpr/lpd security fixes merged from OpenBSD. +97/8/22 buffer overflows in tip corrected (benign since tip isn't + set[ug]id) +97/8/26 buffer overflow in glob fixed, no know exploits +97/8/27 vacation security problem with sendmail corrected (SNI) +97/8/29 inetd sleeps less when children exit, making DoS attacks much + harder. +97/8/29 fts now race-proof and find -execdir added (-current only) +97/8/31 games setuid -> setgid. Makes any games exploits benign (only + score files vulnerable). Please report any problems to + eivind@FreeBSD.org (score-file ownership problems are known) +97/12/3 Add Intel's suggested fix for the F00F bug. If you don't have + a Pentium, the NO_F00F_HACK kernel option will disable it. +98/1/20 More robust protection against LAND attacks now incorporated. + +The suidperl vulnerability mentioned in the CERT advisory CA-97.17 is +also believed to be fixed. + +KerberosIV is now merged. + + +1.3. USERLAND CHANGES +--------------------- +The default binary type (and compiler toolchain) has been +switched from a.out to ELF. This gives us access to much +newer compiler technology (much of which didn't support a.out), +allows for smaller executables and provides much better +support for languages like C++, among many other advantages. +Older a.out libraries and binaries will, of course, continue to work +and provisions have been made for having both varieties installed if +and as necessary for transitional purposes. + +Perl4 has now been replaced by Perl5 as a standard part of the +system. + +The default username length has increased to 16 characters. +Caution: Old utmp/wtmp files will NOT work with this change since +the data records will be of the old size. For a conversion utility +to aid with this, see /usr/src/tools/3.0-upgrade. + +/etc/sysconfig now replaced by more compact /etc/rc.conf file +[MERGED: Also in 2.2.1 and later releases on 2.2-STABLE branch] + +fdisk(8) now numbers disk slices from 1 to 4 rather than from 0 to 3. +This brings it in line with the numbers used in the device names +in /dev. + +The Amd automounter has been updated from the 1993 4.4BSD version to +the latest current version of am-utils. Map options have changed +somewhat, and a new configuration file, /etc/amd.conf, is supported. +See ``man 5 amd.conf''. + +The ``picobsd'' package for creating custom FreeBSD boot floppies +and "mini systems" has been brought into /usr/src/release/picobsd. +See file:/usr/src/release/picobsd/README.html for further information. + +When operating over the network, finger(1) no longer closes the socket +immediately after sending its request, but instead waits for the +remote end to close first. (The specification is ambiguous, so we are +following the behavior which interoperates with the most servers.) +This means that it is now possible to use the MIT directory and finger +people at certain broken Linux machines. + +There is a new flag to fetch(1) which allows it to talk to certain +broken HTTP implementations which react badly to a request message +immediately followed by a close of the connection. + +netstat(1) now uses sysctl(3) to retrieve more statistics groups and +uses the correct, unsigned format for printing most of them out. + +A new VGA library (/usr/src/lib/libvgl) now exists for doing simple +VGA graphics to syscons ttys (sort of like Linux's libSVGA). +[MERGED: Also in 2.2.5 and later releases on 2.2-STABLE branch] + +Xntpd's syslogging has been moved out into a facility of its own +(LOG_NTP, userland name "ntp"). + +A new pair of ioctl's has been added: SIOC[SG]IFGENERIC. The intent +is to provide for a hook to pass arbitrary ioctl subcommands down to a +network interface driver. This is for example necesseray for PPP +drivers to communicate things like CHAP names and secrets, or variable +options between the driver and a userland utility. + +sppp(4) has been improved a fair bit since FreeBSD 2.2.X. It now +employs a full-fledged PPP state machine, offers a lot more of LCP and +IPCP negotiation, making it ready for dial-on-demand connections (like +those that are often running over ISDN). It also offers PAP or CHAP +authentication. The userland counterpart spppcontrol(8) is also the +first program that utilizes the abovementioned SIOC[SG]IFGENERIC ioctl +commands. + +moused(8) has been modified to support various mice with a ``wheel''. +It also automatically recognizes mice which support the PnP COM device +standard, so that the user is no longer required to supply a mouse +protocol type on the command line. +[MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] + +ppp(8) supports many additional features including the PPP Multilink +Protocol (rfc1990), PPP Callback (with CBCP extensions) and client +side DNS negotiation. Refer to the README.changes file in the source +directory for details of possible configuration conflicts. + +Pthread read/write locks as defined by the Single UNIX Specification, +Version 2, have been added to the POSIX threads library, libc_r. + +System files are now owned by user `root', group `wheel'. UID 0 is far +more protected than `bin'. Especially over NFS. + +/bin/sh signal and trap handling reworked. Among other things, this +makes tty-mode emacs work when called from system(2), i.e. by a mail +agent. Several syntax bugs have been fixed. +[MERGED: Also in 2.2.8 and later releases on 2.2-STABLE branch] + +systat(1), iostat(8), rpc.rstatd(8), and vmstat(8) have been +overhauled to use the new devstat(3) library and devstat(9) statistics +subsystem. Among other enhancements, these utilities (well, with the +exception of rpc.rstatd(8)) now print out more useful statistics, and can +see statistics for all devices in the system, not just the first 8. + +2. Supported Configurations +--------------------------- +FreeBSD currently runs on a wide variety of ISA, VLB, EISA and PCI bus +based PC's, ranging from 386sx to Pentium class machines (though the +386sx is not recommended). Support for generic IDE or ESDI drive +configurations, various SCSI controller, network and serial cards is +also provided. + +What follows is a list of all peripherals currently known to work with +FreeBSD. Other configurations may also work, we have simply not as yet +received confirmation of this. + + +2.1. Disk Controllers +--------------------- +WD1003 (any generic MFM/RLL) +WD1007 (any generic IDE/ESDI) +IDE +ATA + +Adaptec 1535 ISA SCSI controllers +Adaptec 154x series ISA SCSI controllers +Adaptec 174x series EISA SCSI controller in standard and enhanced mode. +Adaptec 274X/284X/2920/2940/2950/3940/3950 (Narrow/Wide/Twin) series +EISA/VLB/PCI SCSI controllers. +Adaptec AIC7850, AIC7880, AIC789x, on-board SCSI controllers. + +AdvanSys SCSI controllers (all models). + +Buslogic 545S & 545c +Buslogic 445S/445c VLB SCSI controller +Buslogic 742A, 747S, 747c EISA SCSI controller. +Buslogic 946c PCI SCSI controller +Buslogic 956c PCI SCSI controller + +DPT SCSI/RAID controllers (most variants). + +SymBios (formerly NCR) 53C810, 53C825, 53c860 and 53c875 PCI SCSI +controllers: + ASUS SC-200 + Data Technology DTC3130 (all variants) + NCR cards (all) + Symbios cards (all) + Tekram DC390W, 390U and 390F + Tyan S1365 + + +QLogic SCSI and Fibre Channel controllers. + +DTC 3290 EISA SCSI controller in 1542 emulation mode. + +With all supported SCSI controllers, full support is provided for +SCSI-I & SCSI-II peripherals, including hard disks, optical disks, +tape drives (including DAT and 8mm Exabyte), medium changers, processor +target devices and CDROM drives. WORM devices that support CDROM commands +are supported for read-only access by the CDROM driver. WORM/CD-R/CD-RW +writing support is provided by cdrecord, which is in the ports tree. + +The following CD-ROM type systems are supported at this time: +(cd) SCSI interface (also includes ProAudio Spectrum and + SoundBlaster SCSI) +(matcd) Matsushita/Panasonic (Creative SoundBlaster) proprietary + interface (562/563 models) +(scd) Sony proprietary interface (all models) +(wcd) ATAPI IDE interface + +SCSI TAPE SUPPORT: + + The CAM SCSI tape driver doesn't yet handle older (and many times broken) + tape drives very well. If you've got an older SCSI-1 tape drive, like an + Exabyte 8200 or older QIC-type tape drive, it may not work properly with + the CAM tape driver. This is obviously a known problem, and we're + working on it. + + Newer tape drives that are mostly SCSI-2 compliant should work fine. + e.g., DAT (DDS-1, 2 and 3), DLT, and newer Exabyte 8mm drives should + work fine. + + If you want to find out if your particular tape drive is supported, the + best way to find out is to try it! + +The following drivers were supported under the old SCSI subsystem, but are +NOT YET supported under the new CAM SCSI subsystem: + + Tekram DC390 and DC390T controllers (maybe other cards based on the + AMD 53c974 as well). + + NCR5380/NCR53400 ("ProAudio Spectrum") SCSI controller. + + UltraStor 14F, 24F and 34F SCSI controllers. + + Seagate ST01/02 SCSI controllers. + + Future Domain 8xx/950 series SCSI controllers. + + WD7000 SCSI controller. + + Adaptec 1510 series ISA SCSI controllers (not for bootable devices) + Adaptec 152x series ISA SCSI controllers + Adaptec AIC-6260 and AIC-6360 based boards, which includes the AHA-152x + and SoundBlaster SCSI cards. + + [ Note: There is work-in-progress to port the AIC-6260/6360 and + UltraStor drivers to the new CAM SCSI framework, but no estimates on + when or if they will be completed. ] + +Unmaintained drivers, they might or might not work for your hardware: + + Floppy tape interface (Colorado/Mountain/Insight) + + (mcd) Mitsumi proprietary CD-ROM interface (all models) + +2.2. Ethernet cards +------------------- +Allied-Telesis AT1700 and RE2000 cards + +AMD PCnet/PCI (79c970 & 53c974 or 79c974) + +SMC Elite 16 WD8013 ethernet interface, and most other WD8003E, +WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT and WD8013EBT +based clones. SMC Elite Ultra. SMC Etherpower II. + +Texas Instruments ThunderLAN PCI NICs, including the following: + Compaq Netelligent 10, 10/100, 10/100 Proliant, 10/100 Dual-Port + Compaq Netelligent 10/100 TX Embedded UTP, 10 T PCI UTP/Coax, 10/100 TX UTP + Compaq NetFlex 3P, 3P Integrated, 3P w/ BNC + Olicom OC-2135/2138, OC-2325, OC-2326 10/100 TX UTP + +DEC EtherWORKS III NICs (DE203, DE204, and DE205) +DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422) +DEC DC21040, DC21041, or DC21140 based NICs (SMC Etherpower 8432T, DE245, etc) +DEC FDDI (DEFPA/DEFEA) NICs + +Fujitsu MB86960A/MB86965A + +HP PC Lan+ cards (model numbers: 27247B and 27252A). + +Intel EtherExpress 16 +Intel EtherExpress Pro/10 +Intel EtherExpress Pro/100B PCI Fast Ethernet + +Isolan AT 4141-0 (16 bit) +Isolink 4110 (8 bit) + +Novell NE1000, NE2000, and NE2100 ethernet interface. + +3Com 3C501 cards + +3Com 3C503 Etherlink II + +3Com 3c505 Etherlink/+ + +3Com 3C507 Etherlink 16/TP + +3Com 3C509, 3C579, 3C589 (PCMCIA), 3C590/592/595/900/905/905B PCI and EISA +(Fast) Etherlink III / (Fast) Etherlink XL + +Toshiba ethernet cards + +Crystal Semiconductor CS89x0-based NICs, including: + IBM Etherjet ISA + +PCMCIA ethernet cards from IBM and National Semiconductor are also +supported. + +Note that NO token ring cards are supported at this time as we're +still waiting for someone to donate a driver for one of them. Any +takers? + +2.3 ATM +------- + + o ATM Host Interfaces + - FORE Systems, Inc. PCA-200E ATM PCI Adapters + - Efficient Networks, Inc. ENI-155p ATM PCI Adapters + + o ATM Signalling Protocols + - The ATM Forum UNI 3.1 signalling protocol + - The ATM Forum UNI 3.0 signalling protocol + - The ATM Forum ILMI address registration + - FORE Systems's proprietary SPANS signalling protocol + - Permanent Virtual Channels (PVCs) + + o IETF "Classical IP and ARP over ATM" model + - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" + - RFC 1577, "Classical IP and ARP over ATM" + - RFC 1626, "Default IP MTU for use over ATM AAL5" + - RFC 1755, "ATM Signaling Support for IP over ATM" + - RFC 2225, "Classical IP and ARP over ATM" + - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" + - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, + "A Distributed ATMARP Service Using SCSP" + + o ATM Sockets interface + +2.4. Misc +--------- + +AST 4 port serial card using shared IRQ. + +ARNET 8 port serial card using shared IRQ. +ARNET (now Digiboard) Sync 570/i high-speed serial. + +Boca BB1004 4-Port serial card (Modems NOT supported) +Boca IOAT66 6-Port serial card (Modems supported) +Boca BB1008 8-Port serial card (Modems NOT supported) +Boca BB2016 16-Port serial card (Modems supported) + +Comtrol Rocketport card. + +Cyclades Cyclom-y Serial Board. + +STB 4 port card using shared IRQ. + +SDL Communications Riscom/8 Serial Board. +SDL Communications RISCom/N2 and N2pci high-speed sync serial boards. + +Stallion multiport serial boards: EasyIO, EasyConnection 8/32 & 8/64, +ONboard 4/16 and Brumby. + +Adlib, SoundBlaster, SoundBlaster Pro, ProAudioSpectrum, Gravis UltraSound +and Roland MPU-401 sound cards. (snd driver) + +Most ISA audio codecs manufactured by Crystal Semiconductors, OPTi, Creative +Labs, Avance, Yamaha and ENSONIQ. (pcm driver) + +Connectix QuickCam +Matrox Meteor Video frame grabber +Creative Labs Video Spigot frame grabber +Cortex1 frame grabber +Hauppauge Wincast/TV boards (PCI) +STB TV PCI +Intel Smart Video Recorder III +Various Frame grabbers based on Brooktree Bt848 chip. + +HP4020, HP6020, Philips CDD2000/CDD2660 and Plasmon CD-R drives. + +PS/2 mice + +Standard PC Joystick + +X-10 power controllers + +GPIB and Transputer drivers. + +Genius and Mustek hand scanners. + +Xilinx XC6200 based reconfigurable hardware cards compatible with +the HOT1 from Virtual Computers (www.vcc.com) + +Support for Dave Mills experimental Loran-C receiver. + +FreeBSD currently does NOT support IBM's microchannel (MCA) bus. + +3. Obtaining FreeBSD +-------------------- + +You may obtain FreeBSD in a variety of ways: + +3.1. FTP/Mail +------------- + +You can ftp FreeBSD and any or all of its optional packages from +`ftp.freebsd.org' - the official FreeBSD release site. + +For other locations that mirror the FreeBSD software see the file +MIRROR.SITES. Please ftp the distribution from the site closest (in +networking terms) to you. Additional mirror sites are always welcome! +Contact freebsd-admin@FreeBSD.org for more details if you'd like to +become an official mirror site. + +If you do not have access to the Internet and electronic mail is your +only recourse, then you may still fetch the files by sending mail to +`ftpmail@ftpmail.vix.com' - putting the keyword "help" in your message +to get more information on how to fetch files using this mechanism. +Please do note, however, that this will end up sending many *tens of +megabytes* through the mail and should only be employed as an absolute +LAST resort! + + +3.2. CDROM +---------- + +FreeBSD 3.0-RELEASE and 2.2.x-RELEASE CDs may be ordered on CDROM from: + + Walnut Creek CDROM + 4041 Pike Lane, Suite D + Concord CA 94520 + 1-800-786-9907, +1-925-674-0783, +1-925-674-0821 (FAX) + +Or via the Internet from orders@cdrom.com or http://www.cdrom.com. +Their current catalog can be obtained via ftp from: + + ftp://ftp.cdrom.com/cdrom/catalog + +Cost per -RELEASE CD is $39.95 or $24.95 with a FreeBSD subscription. +FreeBSD SNAPshot CDs, when available, are $39.95 or $14.95 with a +FreeBSD-SNAP subscription (-RELEASE and -SNAP subscriptions are entirely +separate). With a subscription, you will automatically receive updates as +they are released. Your credit card will be billed when each disk is +shipped and you may cancel your subscription at any time without further +obligation. + +Shipping (per order not per disc) is $5 in the US, Canada or Mexico +and $9.00 overseas. They accept Visa, Mastercard, Discover, American +Express or checks in U.S. Dollars and ship COD within the United +States. California residents please add 8.25% sales tax. + +Should you be dissatisfied for any reason, the CD comes with an +unconditional return policy. + + +4. Upgrading from previous releases of FreeBSD +---------------------------------------------- + +If you're upgrading from a previous release of FreeBSD, most likely +it's 2.2.x or 2.1.x (in some lesser number of cases) and some of the +following issues may affect you, depending of course on your chosen +method of upgrading. There are two popular ways of upgrading +FreeBSD distributions: + + o Using sources, via /usr/src + o Using sysinstall's (binary) upgrade option. + +In the case of using sources, there are simply two targets you need to +be aware of: The standard ``world'' target, which will upgrade a 2.x +system to 3.0, or the ``aout-to-elf'' target, which will both upgrade +and convert the system to ELF binary format. +In the case of using the binary upgrade option, the system will go +straight to 3.0/ELF but also populate the /<basepath>/lib/aout +directories for backwards compatibility with older binaries. + +In either case, going to ELF will mean that you'll have somewhat +smaller binaries and access to a lot more compiler goodies which have +been already been ported to other ELF environments (our older and +somewhat crufty a.out format being largely unsupported by most other +software projects), but on the downside you'll also have access to far +fewer ports and packages since many of those have not been adapted to +ELF yet. This will occur in time, but those who wish to retain access +to the greatest number of packages and 3rd-party binaries should +probably stick with a.out. + +The kernel is also still in a.out format at this time so that older +LKMs and library interfaces can continue to work, but a full +transition to ELF will occur at some point after 3.0-RELEASE. Those +wishing to generate dynamic kernel components should therefore use the +newer KLD mechanism rather than the older LKM format - the LKM format +is not long for this world and will soon be unsupported! + +[ other important upgrading notes should go here] + + +5. Reporting problems, making suggestions, submitting code. +----------------------------------------------------------- +Your suggestions, bug reports and contributions of code are always +valued - please do not hesitate to report any problems you may find +(preferably with a fix attached, if you can!). + +The preferred method to submit bug reports from a machine with +Internet mail connectivity is to use the send-pr command or use the CGI +script at http://www.freebsd.org/send-pr.html. Bug reports +will be dutifully filed by our faithful bugfiler program and you can +be sure that we'll do our best to respond to all reported bugs as soon +as possible. Bugs filed in this way are also visible on our WEB site +in the support section and are therefore valuable both as bug reports +and as "signposts" for other users concerning potential problems to +watch out for. + +If, for some reason, you are unable to use the send-pr command to +submit a bug report, you can try to send it to: + + freebsd-bugs@FreeBSD.org + +Note that send-pr itself is a shell script that should be easy to move +even onto a totally different system. We much prefer if you could use +this interface, since it make it easier to keep track of the problem +reports. However, before submitting, please try to make sure whether +the problem might have already been fixed since. + + +Otherwise, for any questions or tech support issues, please send mail to: + + freebsd-questions@FreeBSD.org + + +Additionally, being a volunteer effort, we are always happy to have +extra hands willing to help - there are already far more desired +enhancements than we'll ever be able to manage by ourselves! To +contact us on technical matters, or with offers of help, please send +mail to: + + freebsd-hackers@FreeBSD.org + + +Please note that these mailing lists can experience *significant* +amounts of traffic and if you have slow or expensive mail access and +are only interested in keeping up with significant FreeBSD events, you +may find it preferable to subscribe instead to: + + freebsd-announce@FreeBSD.org + + +All of the mailing lists can be freely joined by anyone wishing +to do so. Send mail to MajorDomo@FreeBSD.org and include the keyword +`help' on a line by itself somewhere in the body of the message. This +will give you more information on joining the various lists, accessing +archives, etc. There are a number of mailing lists targeted at +special interest groups not mentioned here, so send mail to majordomo +and ask about them! + + +6. Acknowledgements +------------------- + +FreeBSD represents the cumulative work of many dozens, if not +hundreds, of individuals from around the world who have worked very +hard to bring you this release. For a complete list of FreeBSD +project staffers, please see: + + http://www.freebsd.org/handbook/staff.html + +or, if you've loaded the doc distribution: + + file:/usr/share/doc/handbook/staff.html + + +Special mention to: + + The donors listed at http://www.freebsd.org/handbook/donors.html + + Justin M. Seger <jseger@freebsd.org> for almost single-handedly + converting the ports collection to ELF. + + Doug Rabson <dfr@freebsd.org> and John Birrell <jb@freebsd.org> + for making FreeBSD/alpha happen and to the NetBSD project for + substantial indirect aid. + + Peter Wemm <peter@freebsd.org> for the new kernel module system + (with substantial aid from Doug Rabson). + + And to the many thousands of FreeBSD users and testers all over the + world, without whom this release simply would not have been possible. + +We sincerely hope you enjoy this release of FreeBSD! + + The FreeBSD Project diff --git a/release/sysinstall/help/shortcuts.hlp b/release/sysinstall/help/shortcuts.hlp index 503a2a770cbc..40cd1a40a69e 100644 --- a/release/sysinstall/help/shortcuts.hlp +++ b/release/sysinstall/help/shortcuts.hlp @@ -15,7 +15,7 @@ browserBinary Which doc browser to use (default: lynx) browserPackage Which package to get browser from (default: lynx) cpioVerbose How verbose to be with cpio: high, medium or low debug Extra debugging? -disk Which disk to operate on (wd0, da0, etc). +disk Which disk to operate on (wd0, sd0, etc). domainname Domain name editor Which screen editor to use ifconfig_<iface> For each <iface> in network_devices @@ -106,9 +106,9 @@ Examples: Selects an FTP site and then goes to the package configuration menu. -/stand/sysinstall disk=da0 diskPartitionEditor +/stand/sysinstall disk=sd0 diskPartitionEditor -Invokes the disk partition editor on disk da0. +Invokes the disk partition editor on disk sd0. If /stand/sysinstall is linked to another filename, say diff --git a/release/texts/TROUBLE.TXT b/release/sysinstall/help/trouble.hlp index 45a40bd019c7..ca374caa4d0a 100644 --- a/release/texts/TROUBLE.TXT +++ b/release/sysinstall/help/trouble.hlp @@ -221,7 +221,7 @@ A: These CD-ROM drives are currently not supported by FreeBSD. The command Q: I'm trying to install from a tape drive but all I get is something like: - sa0(aha0:1:0) NOT READY csi 40,0,0,0 + st0(aha0:1:0) NOT READY csi 40,0,0,0 on the screen. Help! A: There's a limitation in the current sysinstall that the tape MUST @@ -230,7 +230,7 @@ A: There's a limitation in the current sysinstall that the tape MUST Q: I've installed FreeBSD onto my system, but it hangs when booting from - the hard drive with the message: ``Changing root to /dev/da0a''. + the hard drive with the message: ``Changing root to /dev/sd0a''. A: This problem may occur in a system with a 3com 3c509 Ethernet adaptor. The ep0 device driver appears to be sensitive to probes for other @@ -364,7 +364,7 @@ A: There is a problem with the onboard Ethernet in the Netfinity 3500 to configure the onboard adapter at any time. -Q: Why does my TEAC CD-220E (rev 1.0D) IDE CD-ROM lock up the system when +Q: Why does my CD-220E (rev 1.0D) IDE CD-ROM lock up the system when I use it? A: There are apparently firmware problems with this drive and, diff --git a/release/texts/UPGRADE.TXT b/release/sysinstall/help/upgrade.hlp index 8b7b893e2316..8b7b893e2316 100644 --- a/release/texts/UPGRADE.TXT +++ b/release/sysinstall/help/upgrade.hlp diff --git a/release/sysinstall/index.c b/release/sysinstall/index.c index 5ff2ceb7b348..5d44d651ac11 100644 --- a/release/sysinstall/index.c +++ b/release/sysinstall/index.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: index.c,v 1.59 1998/12/22 12:31:25 jkh Exp $ + * $Id: index.c,v 1.56 1998/10/13 07:31:37 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -65,24 +65,24 @@ static char *descrs[] = { "If you're sure of these choices, select OK.\n" "If not, select Cancel to go back to the package selection menu.\n", "All", "All available packages in all categories.", - "afterstep", "Ports to support the AfterStep window manager.", "applications", "User application software.", "astro", "Applications related to astronomy.", "archivers", "Utilities for archiving and unarchiving data.", "audio", "Audio utilities - most require a supported sound card.", - "biology", "Software related to biology.", + "biology", "Software related to Biology.", "benchmarks", "Utilities for measuring system performance.", + "benchmarking", "Utilities for measuring system performance.", "cad", "Computer Aided Design utilities.", "chinese", "Ported software for the Chinese market.", "comms", "Communications utilities.", - "converters", "Format conversion utilities.", + "converters", "Format conversion utilities..", "databases", "Database software.", "devel", "Software development utilities and libraries.", + "development", "Software development utilities and libraries.", "deskutils", "Various Desktop utilities.", "documentation", "Document preparation utilities.", "editors", "Common text editors.", - "elisp", "Things related to Emacs Lisp.", - "elisp", "Emacs lisp ports.", + "emulation", "Utilities for emulating other OS types.", "emulators", "Utilities for emulating other OS types.", "games", "Various and sundry amusements.", "german", "Ported software for Germanic countries.", @@ -95,43 +95,45 @@ static char *descrs[] = { "libraries", "Software development libraries.", "mail", "Electronic mail packages and utilities.", "math", "Mathematical computation software.", - "mbone", "Applications and utilities for the MBONE.", + "mbone", "Applications and utilities for the mbone.", "misc", "Miscellaneous utilities.", "net", "Networking utilities.", + "networking", "Networking utilities.", "news", "USENET News support software.", "numeric", "Mathematical computation software.", "offix", "An office automation suite of sorts.", "orphans", "Packages without a home elsewhere.", - "palm", "Software support for the 3Com Palm(tm) series.", - "perl5", "Utilities/modules for the PERL5 language.", - "plan9", "Software from the Plan9 operating system.", + "perl5", "Utilities/modules for the PERL5 language..", + "pilot", "Software support for the USR Palm Pilot(tm).", + "plan9", "Software from the plan9 Operating System.", "print", "Utilities for dealing with printing.", "printing", "Utilities for dealing with printing.", "programming", "Software development utilities and libraries.", - "python", "Software related to the Python language.", + "python", "Software related to the python language.", "russian", "Ported software for the Russian market.", "security", "System security software.", "shells", "Various shells (tcsh, bash, etc).", "sysutils", "Various system utilities.", "textproc", "Text processing/search utilities.", - "tcl75", "TCL v7.5 and packages that depend on it.", - "tcl76", "TCL v7.6 and packages that depend on it.", - "tcl80", "TCL v8.0 and packages that depend on it.", - "tcl81", "TCL v8.1 and packages that depend on it.", - "tk41", "Tk4.1 and packages that depend on it.", - "tk42", "Tk4.2 and packages that depend on it.", - "tk80", "Tk8.0 and packages that depend on it.", - "tk81", "Tk8.1 and packages that depend on it.", - "troff", "TROFF text formatting utilities.", + "tcl75", "TCL v7.5 and packages which depend on it.", + "tcl76", "TCL v7.6 and packages which depend on it.", + "tcl80", "TCL v8.0 and packages which depend on it.", + "tcl81", "TCL v8.1 and packages which depend on it.", + "tk41", "Tk4.1 and packages which depend on it.", + "tk42", "Tk4.2 and packages which depend on it.", + "tk80", "Tk8.0 and packages which depend on it.", + "tk81", "Tk8.1 and packages which depend on it.", + "troff", "TROFF Text formatting utilities.", + "utils", "Various user utilities.", + "utilities", "Various user utilities.", "vietnamese", "Ported software for the Vietnamese market.", - "windowmaker", "Ports to support the WindowMaker window manager.", "www", "WEB utilities (browers, HTTP servers, etc).", "x11", "X Window System based utilities.", "x11-clocks", "X Window System based clocks.", "x11-fm", "X Window System based file managers.", - "x11-fonts", "X Window System fonts and font utilities.", + "x11-fonts", "X Window System fonts.", "x11-toolkits", "X Window System based development toolkits.", - "x11-wm", "X Window System window managers.", + "x11-wm", "X Window System Window Managers.", NULL, NULL, }; diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c index fc1f42ede8f4..c2709b14354a 100644 --- a/release/sysinstall/install.c +++ b/release/sysinstall/install.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: install.c,v 1.222 1999/01/20 11:56:39 jkh Exp $ + * $Id: install.c,v 1.215 1998/10/12 23:47:50 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -35,6 +35,7 @@ */ #include "sysinstall.h" +#include "uc_main.h" #include <ctype.h> #include <sys/disklabel.h> #include <sys/errno.h> @@ -48,11 +49,13 @@ #include <msdosfs/msdosfsmount.h> #undef MSDOSFS #include <sys/stat.h> -#include <sys/sysctl.h> #include <unistd.h> static void create_termcap(void); static void fixit_common(void); +#ifdef SAVE_USERCONFIG +static void save_userconfig_to_kernel(char *); +#endif #define TERMCAP_FILE "/usr/share/misc/termcap" @@ -194,7 +197,6 @@ static int installInitial(void) { static Boolean alreadyDone = FALSE; - int status = DITEM_SUCCESS; if (alreadyDone) return DITEM_SUCCESS; @@ -238,18 +240,13 @@ installInitial(void) chdir("/"); variable_set2(RUNNING_ON_ROOT, "yes"); - - /* Configure various files in /etc */ - if (DITEM_STATUS(configResolv(NULL)) == DITEM_FAILURE) - status = DITEM_FAILURE; - if (DITEM_STATUS(configFstab(NULL)) == DITEM_FAILURE) - status = DITEM_FAILURE; + configResolv(); /* stick a helpful shell over on the 4th VTY */ systemCreateHoloshell(); alreadyDone = TRUE; - return status; + return DITEM_SUCCESS; } int @@ -362,8 +359,6 @@ installFixitFloppy(dialogMenuItem *self) "or unclean filesystem. Do you want to try again?")) return DITEM_FAILURE; } - else - break; } if (!directory_exists("/tmp")) (void)symlink("/mnt2/tmp", "/tmp"); @@ -451,10 +446,8 @@ installExpress(dialogMenuItem *self) int i; variable_set2(SYSTEM_STATE, "express"); -#ifndef __alpha__ if (DITEM_STATUS((i = diskPartitionEditor(self))) == DITEM_FAILURE) return i; -#endif if (DITEM_STATUS((i = diskLabelEditor(self))) == DITEM_FAILURE) return i; @@ -476,7 +469,6 @@ installNovice(dialogMenuItem *self) Device **devs; variable_set2(SYSTEM_STATE, "novice"); -#ifndef __alpha__ dialog_clear_norefresh(); msgConfirm("In the next menu, you will need to set up a DOS-style (\"fdisk\") partitioning\n" "scheme for your hard disk. If you simply wish to devote all disk space\n" @@ -495,24 +487,14 @@ nodisks: ++tries; goto nodisks; } -#endif dialog_clear_norefresh(); -#ifdef __alpha__ - msgConfirm("First, you need to create BSD partitions on the disk which you are\n" - "installing to. If you have a reasonable amount of disk space (200MB or more)\n" - "and don't have any special requirements, simply use the (A)uto command to\n" - "allocate space automatically. If you have more specific needs or just don't\n" - "care for the layout chosen by (A)uto, press F1 for more information on\n" - "manual layout."); -#else - msgConfirm("First, you need to create BSD partitions inside of the fdisk partition(s)\n" + msgConfirm("Next, you need to create BSD partitions inside of the fdisk partition(s)\n" "just created. If you have a reasonable amount of disk space (200MB or more)\n" "and don't have any special requirements, simply use the (A)uto command to\n" "allocate space automatically. If you have more specific needs or just don't\n" "care for the layout chosen by (A)uto, press F1 for more information on\n" "manual layout."); -#endif if (DITEM_STATUS(diskLabelEditor(self)) == DITEM_FAILURE) return DITEM_FAILURE; @@ -683,6 +665,7 @@ installCommit(dialogMenuItem *self) { int i; char *str; + Boolean need_bin; if (!Dists) distConfig(NULL); @@ -698,9 +681,13 @@ installCommit(dialogMenuItem *self) if (isDebug()) msgDebug("installCommit: System state is `%s'\n", str); - /* Installation stuff we wouldn't do to a running system */ - if (RunningAsInit && DITEM_STATUS((i = installInitial())) == DITEM_FAILURE) - return i; + if (RunningAsInit) { + /* Do things we wouldn't do to a multi-user system */ + if (DITEM_STATUS((i = installInitial())) == DITEM_FAILURE) + return i; + if (DITEM_STATUS((i = configFstab())) == DITEM_FAILURE) + return i; + } try_media: if (!mediaDevice->init(mediaDevice)) { @@ -716,9 +703,11 @@ try_media: return DITEM_FAILURE | DITEM_RESTORE; } - /* Now go get it all */ + need_bin = Dists & DIST_BIN; i = distExtractAll(self); - + /* Only do fixup if bin dist was successfully extracted */ + if (need_bin && !(Dists & DIST_BIN)) + i |= installFixup(self); /* When running as init, *now* it's safe to grab the rc.foo vars */ installEnvironment(); @@ -744,35 +733,33 @@ installConfigure(void) } int -installFixupBin(dialogMenuItem *self) +installFixup(dialogMenuItem *self) { Device **devs; int i; - /* All of this is done only as init, just to be safe */ - if (RunningAsInit) { - /* Fix up kernel first */ - if (!file_readable("/kernel")) { - if (file_readable("/kernel.GENERIC")) { - if (vsystem("cp -p /kernel.GENERIC /kernel")) { - msgConfirm("Unable to copy /kernel into place!"); - return DITEM_FAILURE; - } - /* Snapshot any boot -c changes back to the new kernel */ - if (kget("/kernel.config")) { - msgConfirm("Kernel copied OK, but unable to save boot -c changes\n" - "to it. See the debug screen (ALT-F2) for details."); - } - } - else { - msgConfirm("Can't find a kernel image to link to on the root file system!\n" - "You're going to have a hard time getting this system to\n" - "boot from the hard disk, I'm afraid!"); + if (!file_readable("/kernel")) { + if (file_readable("/kernel.GENERIC")) { + if (vsystem("cp -p /kernel.GENERIC /kernel")) { + msgConfirm("Unable to link /kernel into place!"); return DITEM_FAILURE; } +#ifdef SAVE_USERCONFIG + /* Snapshot any boot -c changes back to the new kernel */ + if (!variable_cmp(VAR_RELNAME, RELEASE_NAME)) + save_userconfig_to_kernel("/kernel"); +#endif } - - /* BOGON #1: Resurrect /dev after bin distribution screws it up */ + else { + msgConfirm("Can't find a kernel image to link to on the root file system!\n" + "You're going to have a hard time getting this system to\n" + "boot from the hard disk, I'm afraid!"); + return DITEM_FAILURE; + } + } + + /* Resurrect /dev after bin distribution screws it up */ + if (RunningAsInit) { msgNotify("Remaking all devices.. Please wait!"); if (vsystem("cd /dev; sh MAKEDEV all")) { msgConfirm("MAKEDEV returned non-zero status"); @@ -788,7 +775,7 @@ installFixupBin(dialogMenuItem *self) for (i = 0; devs[i]; i++) { Disk *disk = (Disk *)devs[i]->private; Chunk *c1; - + if (!devs[i]->enabled) continue; if (!disk->chunks) @@ -803,18 +790,30 @@ installFixupBin(dialogMenuItem *self) } } } - + + /* Do all the last ugly work-arounds here */ + msgNotify("Fixing permissions.."); + /* BOGON #1: XFree86 requires various specialized fixups */ + if (directory_exists("/usr/X11R6")) { + vsystem("chmod -R a+r /usr/X11R6"); + vsystem("find /usr/X11R6 -type d | xargs chmod a+x"); + + /* Also do bogus minimal package registration so ports don't whine */ + if (file_readable("/usr/X11R6/lib/X11/pkgreg.tar.gz")) + vsystem("tar xpzf /usr/X11R6/lib/X11/pkgreg.tar.gz -C / && rm /usr/X11R6/lib/X11/pkgreg.tar.gz"); + } + /* BOGON #2: We leave /etc in a bad state */ chmod("/etc", 0755); - + /* BOGON #3: No /var/db/mountdtab complains */ Mkdir("/var/db"); creat("/var/db/mountdtab", 0644); - + /* BOGON #4: /compat created by default in root fs */ Mkdir("/usr/compat"); vsystem("ln -s /usr/compat /compat"); - + /* BOGON #5: aliases database not build for bin */ vsystem("newaliases"); @@ -828,27 +827,6 @@ installFixupBin(dialogMenuItem *self) vsystem("mtree -deU -f /etc/mtree/BSD.root.dist -p /"); vsystem("mtree -deU -f /etc/mtree/BSD.var.dist -p /var"); vsystem("mtree -deU -f /etc/mtree/BSD.usr.dist -p /usr"); - - /* Do all the last ugly work-arounds here */ - } - return DITEM_SUCCESS; -} - -/* Fix side-effects from the the XFree86 installation */ -int -installFixupXFree(dialogMenuItem *self) -{ - /* BOGON #1: XFree86 requires various specialized fixups */ - if (directory_exists("/usr/X11R6")) { - msgNotify("Fixing permissions in XFree86 tree.."); - vsystem("chmod -R a+r /usr/X11R6"); - vsystem("find /usr/X11R6 -type d | xargs chmod a+x"); - - /* Also do bogus minimal package registration so ports don't whine */ - if (file_readable("/usr/X11R6/lib/X11/pkgreg.tar.gz")) { - msgNotify("Installing package metainfo.."); - vsystem("tar xpzf /usr/X11R6/lib/X11/pkgreg.tar.gz -C / && rm /usr/X11R6/lib/X11/pkgreg.tar.gz"); - } } return DITEM_SUCCESS; } @@ -970,7 +948,7 @@ installFilesystems(dialogMenuItem *self) if (c2 == rootdev) continue; - if (tmp->newfs && (!upgrade || !msgYesNo("You are upgrading - are you SURE you want to newfs /dev/%s?", c2->name))) + if (tmp->newfs && (!upgrade || !msgYesNo("You are upgradding - are you SURE you want to newfs /dev/%s?", c2->name))) command_shell_add(tmp->mountpoint, "%s %s/dev/r%s", tmp->newfs_cmd, RunningAsInit ? "/mnt" : "", c2->name); else command_shell_add(tmp->mountpoint, "fsck -y %s/dev/r%s", RunningAsInit ? "/mnt" : "", c2->name); @@ -1014,20 +992,6 @@ installFilesystems(dialogMenuItem *self) return DITEM_SUCCESS; } -static char * -getRelname(void) -{ - static char buf[64]; - int sz = (sizeof buf) - 1; - - if (sysctlbyname("kern.osrelease", buf, &sz, NULL, 0) != -1) { - buf[sz] = '\0'; - return buf; - } - else - return "<unknown>"; -} - /* Initialize various user-settable values to their defaults */ int installVarDefaults(dialogMenuItem *self) @@ -1035,7 +999,7 @@ installVarDefaults(dialogMenuItem *self) char *cp; /* Set default startup options */ - variable_set2(VAR_RELNAME, getRelname()); + variable_set2(VAR_RELNAME, RELEASE_NAME); variable_set2(VAR_CPIO_VERBOSITY, "high"); variable_set2(VAR_TAPE_BLOCKSIZE, DEFAULT_TAPE_BLOCKSIZE); variable_set2(VAR_INSTALL_ROOT, "/"); @@ -1045,13 +1009,13 @@ installVarDefaults(dialogMenuItem *self) cp = "/usr/bin/ee"; variable_set2(VAR_EDITOR, cp); variable_set2(VAR_FTP_USER, "ftp"); - variable_set2(VAR_BROWSER_PACKAGE, "lynx"); + variable_set2(VAR_BROWSER_PACKAGE, PACKAGE_LYNX); variable_set2(VAR_BROWSER_BINARY, "/usr/local/bin/lynx"); variable_set2(VAR_FTP_STATE, "passive"); variable_set2(VAR_NFS_SECURE, "YES"); variable_set2(VAR_PKG_TMPDIR, "/usr/tmp"); - variable_set2(VAR_GATED_PKG, "gated"); - variable_set2(VAR_PCNFSD_PKG, "pcnfsd"); + variable_set2(VAR_GATED_PKG, PACKAGE_GATED); + variable_set2(VAR_PCNFSD_PKG, PACKAGE_PCNFSD); variable_set2(VAR_MEDIA_TIMEOUT, itoa(MEDIA_TIMEOUT)); if (getpid() != 1) variable_set2(SYSTEM_STATE, "update"); @@ -1117,3 +1081,62 @@ create_termcap(void) fclose(fp); } } + +#ifdef SAVE_USERCONFIG +static void +save_userconfig_to_kernel(char *kern) +{ + struct kernel *core, *boot; + struct list *c_isa, *b_isa, *c_dev, *b_dev; + int i, d; + + if ((core = uc_open("-incore")) == NULL) { + msgDebug("save_userconf: Can't read in-core information for kernel.\n"); + return; + } + + if ((boot = uc_open(kern)) == NULL) { + msgDebug("save_userconf: Can't read device information for kernel image %s\n", kern); + return; + } + + msgNotify("Saving any boot -c changes to new kernel..."); + c_isa = uc_getdev(core, "-isa"); + b_isa = uc_getdev(boot, "-isa"); + if (isDebug()) + msgDebug("save_userconf: got %d ISA device entries from core, %d from boot.\n", c_isa->ac, b_isa->ac); + for (d = 0; d < c_isa->ac; d++) { + if (isDebug()) + msgDebug("save_userconf: ISA device loop, c_isa->av[%d] = %s\n", d, c_isa->av[d]); + if (strcmp(c_isa->av[d], "npx0")) { /* special case npx0, which mucks with its id_irq member */ + c_dev = uc_getdev(core, c_isa->av[d]); + b_dev = uc_getdev(boot, b_isa->av[d]); + if (!c_dev || !b_dev) { + msgDebug("save_userconf: c_dev: %x b_dev: %x\n", c_dev, b_dev); + continue; + } + if (isDebug()) + msgDebug("save_userconf: ISA device %s: %d config parameters (core), %d (boot)\n", + c_isa->av[d], c_dev->ac, b_dev->ac); + for (i = 0; i < c_dev->ac; i++) { + if (isDebug()) + msgDebug("save_userconf: c_dev->av[%d] = %s, b_dev->av[%d] = %s\n", i, c_dev->av[i], i, b_dev->av[i]); + if (strcmp(c_dev->av[i], b_dev->av[i])) { + if (isDebug()) + msgDebug("save_userconf: %s (boot) -> %s (core)\n", + c_dev->av[i], b_dev->av[i]); + isa_setdev(boot, c_dev); + } + } + } + else { + if (isDebug()) + msgDebug("skipping npx0\n"); + } + } + if (isDebug()) + msgDebug("Closing kernels\n"); + uc_close(core, 0); + uc_close(boot, 1); +} +#endif diff --git a/release/sysinstall/install.cfg b/release/sysinstall/install.cfg index cade7a27ed5f..478156d5d579 100644 --- a/release/sysinstall/install.cfg +++ b/release/sysinstall/install.cfg @@ -25,7 +25,7 @@ mediaSetFTP ################################ # Select which distributions we want. -dists=bin doc manpages info compat21 des src sbase ssys +dists=bin doc manpages info compat21 des src sbase slkm ssys distSetCustom ################################ @@ -74,12 +74,12 @@ diskLabelEditor ################################ # And the 3rd. -disk=da0 +disk=sd0 partition=exclusive diskPartitionEditor -da0s1-1=swap 40960 none -da0s1-2=ufs 0 /tmp +sd0s1-1=swap 40960 none +sd0s1-2=ufs 0 /tmp diskLabelEditor ################################ diff --git a/release/sysinstall/installUpgrade.c b/release/sysinstall/installUpgrade.c index 3cc4c2742214..d68009707107 100644 --- a/release/sysinstall/installUpgrade.c +++ b/release/sysinstall/installUpgrade.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: installUpgrade.c,v 1.60 1998/11/03 03:38:55 jkh Exp $ + * $Id: installUpgrade.c,v 1.58 1998/05/24 02:49:54 steve Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -164,7 +164,7 @@ installUpgrade(dialogMenuItem *self) return installUpgradeNonInteractive(self); variable_set2(SYSTEM_STATE, "upgrade"); - systemDisplayHelp("UPGRADE"); + systemDisplayHelp("upgrade"); dialog_clear_norefresh(); if (msgYesNo("Given all that scary stuff you just read, are you sure you want to\n" @@ -331,6 +331,18 @@ media: } } + if (extractingBin) { + msgNotify("OK, now it's time to go pound on your root a little bit to create all the\n" + "/dev entries and such that a new system expects to see. I'll also perform a\n" + "few \"fixup\" operations to repair the effects of splatting a bin distribution\n" + "on top of an existing system.."); + if (DITEM_STATUS(installFixup(self)) == DITEM_FAILURE) { + msgConfirm("Hmmmmm. The fixups don't seem to have been very happy.\n" + "You may wish to examine the system a little more closely when\n" + "it comes time to merge your /etc customizations back."); + } + } + msgNotify("First stage of upgrade completed successfully!\n\n" "Next comes stage 2, where we attempt to resurrect your /etc\n" "directory!"); @@ -472,6 +484,16 @@ installUpgradeNonInteractive(dialogMenuItem *self) } } + msgNotify("OK, now it's time to go pound on your root a little bit to create all the\n" + "/dev entries and such that a new system expects to see. I'll also perform a\n" + "few \"fixup\" operations to repair the effects of splatting a bin distribution\n" + "on top of an existing system.."); + if (DITEM_STATUS(installFixup(self)) == DITEM_FAILURE) { + msgNotify("Hmmmmm. The fixups don't seem to have been very happy.\n" + "You may wish to examine the system a little more closely when\n" + "it comes time to merge your /etc customizations back."); + } + msgNotify("First stage of upgrade completed successfully."); if (vsystem("tar -cpBf - -C %s . | tar --unlink -xpBf - -C /etc", saved_etc)) { msgNotify("Unable to resurrect your old /etc!"); diff --git a/release/sysinstall/kget.c b/release/sysinstall/kget.c deleted file mode 100644 index a71a25e025b7..000000000000 --- a/release/sysinstall/kget.c +++ /dev/null @@ -1,104 +0,0 @@ -/*- - * Copyright (c) 1999 Andrzej Bialecki <abial@freebsd.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id: kget.c,v 1.2 1999/01/19 23:15:56 abial Exp $ - */ - -#include "sysinstall.h" -#include "i386/isa/isa_device.h" -#include <sys/sysctl.h> - -int -kget(char *out) -{ - int len, i, bytes_written = 0; - char *buf; - char *mib = "machdep.uc_devlist"; - char name[9]; - FILE *fout; - struct isa_device *id; - char *p; - - fout = fopen(out, "w"); - if (fout == NULL) { - msgDebug("kget: Unable to open %s for writing.\n", out); - return -1; - } - - /* We use sysctlbyname, because the oid is unknown (OID_AUTO) */ - /* get the buffer size */ - i = sysctlbyname(mib, NULL, &len, NULL, NULL); - if (i) { - msgDebug("kget: error buffer sizing\n"); - return -1; - } - buf = (char *)malloc(len * sizeof(char)); - i = sysctlbyname(mib, buf, &len, NULL, NULL); - if (i) { - msgDebug("kget: error retrieving data\n"); - return -1; - } - i = 0; - while (i < len) { - id = (struct isa_device *)(buf + i); - p = (buf + i + sizeof(struct isa_device)); - strncpy(name, p, 8); - if (!id->id_enabled) { - bytes_written += fprintf(fout, "di %s%d\n", name, id->id_unit); - } else { - bytes_written += fprintf(fout, "en %s%d\n", name, id->id_unit); - if (id->id_iobase > 0) { - bytes_written += fprintf(fout, "po %s%d %#x\n", - name, id->id_unit, id->id_iobase); - } - if (id->id_irq > 0) { - bytes_written += fprintf(fout, "ir %s%d %d\n", name, - id->id_unit, ffs(id->id_irq) - 1); - } - if (id->id_drq > 0) { - bytes_written += fprintf(fout, "dr %s%d %d\n", name, - id->id_unit, id->id_drq); - } - if (id->id_maddr > 0) { - bytes_written += fprintf(fout, "iom %s%d %#x\n", name, - id->id_unit, (u_int)id->id_maddr); - } - if (id->id_msize > 0) { - bytes_written += fprintf(fout, "ios %s%d %d\n", name, - id->id_unit, id->id_msize); - } - bytes_written += fprintf(fout, "f %s%d %#x\n", name, - id->id_unit, id->id_flags); - } - i += sizeof(struct isa_device) + 8; - } - if (bytes_written) - fprintf(fout, "q\n"); - else - unlink(out); - fclose(fout); - free(buf); - return 0; -} diff --git a/release/sysinstall/label.c b/release/sysinstall/label.c index ea49bbe0a169..858bf8d25751 100644 --- a/release/sysinstall/label.c +++ b/release/sysinstall/label.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: label.c,v 1.83 1998/07/18 09:42:01 jkh Exp $ + * $Id: label.c,v 1.82 1998/03/13 11:09:03 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -653,9 +653,6 @@ diskLabel(Device *dev) PartInfo *p, *oldp; PartType type; Device **devs; -#ifdef __alpha__ - int i; -#endif label_focus = 0; pslice_focus = 0; @@ -668,11 +665,6 @@ diskLabel(Device *dev) } labeling = TRUE; keypad(stdscr, TRUE); -#ifdef __alpha__ - for (i = 0; devs[i]; i++) { - All_FreeBSD((Disk*) devs[i]->private, 1); - } -#endif record_label_chunks(devs, dev); clear(); @@ -1168,9 +1160,6 @@ diskLabelNonInteractive(Device *dev) d = dev->private; else d = devs[0]->private; -#ifdef __alpha__ - All_FreeBSD(d, 1); -#endif record_label_chunks(devs, dev); for (i = 0; label_chunk_info[i].c; i++) { Chunk *c1 = label_chunk_info[i].c; diff --git a/release/sysinstall/main.c b/release/sysinstall/main.c index 5840896154f2..2769637562c2 100644 --- a/release/sysinstall/main.c +++ b/release/sysinstall/main.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id: main.c,v 1.49 1998/03/10 13:42:02 jkh Exp $ + * $Id: main.c,v 1.48 1998/02/22 09:54:17 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -123,14 +123,8 @@ main(int argc, char **argv) while (1) { choice = scroll = curr = max = 0; dmenuOpen(&MenuInitial, &choice, &scroll, &curr, &max, TRUE); - if (getpid() != 1 -#ifdef __alpha__ - || !msgYesNo("Are you sure you wish to exit? The system will halt.") -#else - || !msgYesNo("Are you sure you wish to exit? The system will reboot\n" - "(be sure to remove any floppies from the drives).") -#endif - ) + if (getpid() != 1 || !msgYesNo("Are you sure you wish to exit? The system will reboot\n" + "(be sure to remove any floppies from the drives).")) break; } diff --git a/release/sysinstall/media.c b/release/sysinstall/media.c index 87f63f4a986f..c5ae93e653b2 100644 --- a/release/sysinstall/media.c +++ b/release/sysinstall/media.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: media.c,v 1.93 1998/12/02 03:27:37 jkh Exp $ + * $Id: media.c,v 1.88 1998/10/10 09:43:44 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -204,6 +204,8 @@ mediaSetFloppy(dialogMenuItem *self) } else mediaDevice = devs[0]; + if (mediaDevice) + mediaDevice->private = "/dist"; return (mediaDevice ? DITEM_LEAVE_MENU : DITEM_FAILURE) | DITEM_RESTORE; } @@ -385,28 +387,18 @@ mediaSetFTP(dialogMenuItem *self) msgDebug("port # = `%d'\n", FtpPort); } if (variable_get(VAR_NAMESERVER)) { - msgNotify("Looking up host %s.", hostname); - if (isDebug()) - msgDebug("Starting DNS.\n"); kickstart_dns(); - if (isDebug()) - msgDebug("Looking up hostname, %s, using inet_addr().\n", hostname); - if (inet_addr(hostname) == INADDR_NONE) { - if (isDebug()) - msgDebug("Looking up hostname, %s, using gethostbyname().\n", - hostname); - if (gethostbyname(hostname) == NULL) { - msgConfirm("Cannot resolve hostname `%s'! Are you sure that" - " your\nname server, gateway and network interface are" - " correctly configured?", hostname); - if (networkDev) - networkDev->shutdown(networkDev); - networkDev = NULL; - variable_unset(VAR_FTP_PATH); - return DITEM_FAILURE | what; - } + if ((inet_addr(hostname) == INADDR_NONE) && (gethostbyname(hostname) == NULL)) { + msgConfirm("Cannot resolve hostname `%s'! Are you sure that your\n" + "name server, gateway and network interface are correctly configured?", hostname); + if (networkDev) + networkDev->shutdown(networkDev); + networkDev = NULL; + variable_unset(VAR_FTP_PATH); + return DITEM_FAILURE | what; } - msgDebug("Found DNS entry for %s successfully..\n", hostname); + else + msgDebug("Found DNS entry for %s successfully..\n", hostname); } variable_set2(VAR_FTP_HOST, hostname); variable_set2(VAR_FTP_DIR, dir ? dir : "/"); @@ -462,7 +454,7 @@ mediaSetNFS(dialogMenuItem *self) static Device nfsDevice; static Device *networkDev = NULL; char *cp, *idx; - char hostname[MAXPATHLEN]; + char hostname[MAXHOSTNAMELEN]; mediaClose(); dialog_clear_norefresh(); cp = variable_get_value(VAR_NFS_PATH, "Please enter the full NFS file specification for the remote\n" @@ -762,23 +754,3 @@ mediaSetCPIOVerbosity(dialogMenuItem *self) } return DITEM_SUCCESS; } - -/* A generic open which follows a well-known "path" of places to look */ -FILE * -mediaGenericGet(char *base, const char *file) -{ - char buf[PATH_MAX]; - - snprintf(buf, PATH_MAX, "%s/%s", base, file); - if (file_readable(buf)) - return fopen(buf, "r"); - snprintf(buf, PATH_MAX, "%s/releases/%s", base, file); - if (file_readable(buf)) - return fopen(buf, "r"); - snprintf(buf, PATH_MAX, "%s/%s/%s", base, variable_get(VAR_RELNAME), file); - if (file_readable(buf)) - return fopen(buf, "r"); - snprintf(buf, PATH_MAX, "%s/releases/%s/%s", base, variable_get(VAR_RELNAME), file); - return fopen(buf, "r"); -} - diff --git a/release/sysinstall/menus.c b/release/sysinstall/menus.c index d5da830734f8..0fc25abdb5a8 100644 --- a/release/sysinstall/menus.c +++ b/release/sysinstall/menus.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: menus.c,v 1.179 1999/01/06 13:55:12 peter Exp $ + * $Id: menus.c,v 1.170 1998/09/30 11:49:35 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -233,11 +233,11 @@ DMenu MenuIndex = { { "Distributions, Adding", "Installing additional distribution sets", NULL, distExtractAll }, { "Distributions, XFree86","XFree86 distribution menu.", NULL, distSetXF86 }, { "Documentation", "Installation instructions, README, etc.", NULL, dmenuSubmenu, NULL, &MenuDocumentation }, - { "Doc, README", "The distribution README file.", NULL, dmenuDisplayFile, NULL, "README" }, - { "Doc, Hardware", "The distribution hardware guide.", NULL, dmenuDisplayFile, NULL, "HARDWARE" }, - { "Doc, Install", "The distribution installation guide.", NULL, dmenuDisplayFile, NULL, "INSTALL" }, + { "Doc, README", "The distribution README file.", NULL, dmenuDisplayFile, NULL, "readme" }, + { "Doc, Hardware", "The distribution hardware guide.", NULL, dmenuDisplayFile, NULL, "hardware" }, + { "Doc, Install", "The distribution installation guide.", NULL, dmenuDisplayFile, NULL, "install" }, { "Doc, Copyright", "The distribution copyright notices.", NULL, dmenuDisplayFile, NULL, "COPYRIGHT" }, - { "Doc, Release", "The distribution release notes.", NULL, dmenuDisplayFile, NULL, "RELNOTES" }, + { "Doc, Release", "The distribution release notes.", NULL, dmenuDisplayFile, NULL, "relnotes" }, { "Doc, HTML", "The HTML documentation menu.", NULL, docBrowser }, { "Emergency shell", "Start an Emergency Holographic shell.", NULL, installFixitHoloShell }, { "Fdisk", "The disk Partition Editor", NULL, diskPartitionEditor }, @@ -290,8 +290,8 @@ DMenu MenuIndex = { /* The initial installation menu */ DMenu MenuInitial = { DMENU_NORMAL_TYPE, - "/stand/sysinstall Main Menu", /* title */ - "Welcome to the FreeBSD installation and configuration tool. Please\n" /* prompt */ + "Welcome to FreeBSD! [" RELEASE_NAME "]", /* title */ + "This is the main menu of the FreeBSD installation system. Please\n" /* prompt */ "select one of the options below by using the arrow keys or typing the\n" "first character of the option name you're interested in. Invoke an\n" "option by pressing [ENTER] or [TAB-ENTER] to exit the installation.", @@ -303,13 +303,13 @@ DMenu MenuInitial = { { "2 Doc", "Installation instructions, README, etc.", NULL, dmenuSubmenu, NULL, &MenuDocumentation }, { "3 Keymap", "Select keyboard type", NULL, dmenuSubmenu, NULL, &MenuSysconsKeymap }, { "4 Options", "View/Set various installation options", NULL, optionsEditor }, - { "5 Configure", "Do post-install configuration of FreeBSD", NULL, dmenuSubmenu, NULL, &MenuConfigure }, - { "6 Novice", "Begin a novice installation (for beginners)", NULL, installNovice }, - { "7 Express", "Begin a quick installation (for the impatient)", NULL, installExpress }, - { "8 Custom", "Begin a custom installation (for experts)", NULL, dmenuSubmenu, NULL, &MenuInstallCustom }, - { "9 Fixit", "Enter repair mode with CDROM/floppy or start shell", NULL, dmenuSubmenu, NULL, &MenuFixit }, - { "U Upgrade", "Upgrade an existing system", NULL, installUpgrade }, - { "L Load Config","Load default install configuration", NULL, dispatch_load_floppy }, + { "5 Novice", "Begin a novice installation (for beginners)", NULL, installNovice }, + { "6 Express", "Begin a quick installation (for the impatient)", NULL, installExpress }, + { "7 Custom", "Begin a custom installation (for experts)", NULL, dmenuSubmenu, NULL, &MenuInstallCustom }, + { "8 Fixit", "Enter repair mode with CDROM/floppy or start shell", NULL, dmenuSubmenu, NULL, &MenuFixit }, + { "9 Upgrade", "Upgrade an existing system", NULL, installUpgrade }, + { "c Configure", "Do post-install configuration of FreeBSD", NULL, dmenuSubmenu, NULL, &MenuConfigure }, + { "l Load Config","Load default install configuration", NULL, dispatch_load_floppy }, { "0 Index", "Glossary of functions", NULL, dmenuSubmenu, NULL, &MenuIndex }, { NULL } }, }; @@ -317,7 +317,7 @@ DMenu MenuInitial = { /* The main documentation menu */ DMenu MenuDocumentation = { DMENU_NORMAL_TYPE, - "FreeBSD Documentation Menu", + "Documentation for FreeBSD " RELEASE_NAME, "If you are at all unsure about the configuration of your hardware\n" "or are looking to build a system specifically for FreeBSD, read the\n" "Hardware guide! New users should also read the Install document for\n" @@ -325,11 +325,11 @@ DMenu MenuDocumentation = { "consult the README file.", "Confused? Press F1 for help.", "usage", - { { "1 README", "A general description of FreeBSD. Read this!", NULL, dmenuDisplayFile, NULL, "README" }, - { "2 Hardware", "The FreeBSD survival guide for PC hardware.", NULL, dmenuDisplayFile, NULL, "HARDWARE" }, - { "3 Install", "A step-by-step guide to installing FreeBSD.", NULL, dmenuDisplayFile, NULL, "INSTALL" }, + { { "1 README", "A general description of FreeBSD. Read this!", NULL, dmenuDisplayFile, NULL, "readme" }, + { "2 Hardware", "The FreeBSD survival guide for PC hardware.", NULL, dmenuDisplayFile, NULL, "hardware" }, + { "3 Install", "A step-by-step guide to installing FreeBSD.", NULL, dmenuDisplayFile, NULL, "install" }, { "4 Copyright", "The FreeBSD Copyright notices.", NULL, dmenuDisplayFile, NULL, "COPYRIGHT" }, - { "5 Release" ,"The release notes for this version of FreeBSD.", NULL, dmenuDisplayFile, NULL, "RELNOTES" }, + { "5 Release" ,"The release notes for this version of FreeBSD.", NULL, dmenuDisplayFile, NULL, "relnotes" }, { "6 Shortcuts", "Creating shortcuts to sysinstall.", NULL, dmenuDisplayFile, NULL, "shortcuts" }, { "7 HTML Docs", "Go to the HTML documentation menu (post-install).", NULL, docBrowser }, { "0 Exit", "Exit this menu (returning to previous)", NULL, dmenuExit }, @@ -489,6 +489,8 @@ DMenu MenuMediaFTP = { VAR_FTP_PATH "=ftp://current.freebsd.org/pub/FreeBSD/" }, { "2.2 SNAP Server", "releng22.freebsd.org", NULL, dmenuSetVariable, NULL, VAR_FTP_PATH "=ftp://releng22.freebsd.org/pub/FreeBSD/" }, + { "2.1 SNAP Server", "releng210.freebsd.org", NULL, dmenuSetVariable, NULL, + VAR_FTP_PATH "=ftp://releng210.freebsd.org/pub/FreeBSD/" }, { "Argentina", "ftp.ar.freebsd.org", NULL, dmenuSetVariable, NULL, VAR_FTP_PATH "=ftp://ftp.ar.freebsd.org/pub/FreeBSD/" }, { "Australia", "ftp.au.freebsd.org", NULL, dmenuSetVariable, NULL, @@ -573,12 +575,6 @@ DMenu MenuMediaFTP = { VAR_FTP_PATH "=ftp://ftp.kr.freebsd.org/pub/FreeBSD/" }, { "Korea #2", "ftp2.kr.freebsd.org", NULL, dmenuSetVariable, NULL, VAR_FTP_PATH "=ftp://ftp2.kr.freebsd.org/pub/FreeBSD/" }, - { "Korea #3", "ftp3.kr.freebsd.org", NULL, dmenuSetVariable, NULL, - VAR_FTP_PATH "=ftp://ftp3.kr.freebsd.org/pub/FreeBSD/" }, - { "Korea #4", "ftp4.kr.freebsd.org", NULL, dmenuSetVariable, NULL, - VAR_FTP_PATH "=ftp://ftp4.kr.freebsd.org/pub/FreeBSD/" }, - { "Korea #5", "ftp5.kr.freebsd.org", NULL, dmenuSetVariable, NULL, - VAR_FTP_PATH "=ftp://ftp5.kr.freebsd.org/pub/FreeBSD/" }, { "Poland", "ftp.pl.freebsd.org", NULL, dmenuSetVariable, NULL, VAR_FTP_PATH "=ftp://ftp.pl.freebsd.org/pub/FreeBSD/" }, { "Portugal", "ftp.pt.freebsd.org", NULL, dmenuSetVariable, NULL, @@ -763,7 +759,7 @@ DMenu MenuSubDistributions = { srcFlagCheck, distSetSrc }, { "ports", "The FreeBSD Ports collection", dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_PORTS }, - { "XFree86", "The XFree86 3.3.3 distribution", + { "XFree86", "The XFree86 3.3.2.3 distribution", x11FlagCheck, distSetXF86 }, { "All", "All sources, binaries and X Window System binaries", NULL, distSetEverything, NULL, NULL, ' ', ' ', ' ' }, @@ -821,6 +817,8 @@ DMenu MenuSrcDistributions = { dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_LIB }, { "libexec", "/usr/src/libexec (system programs)", dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_LIBEXEC }, + { "lkm", "/usr/src/lkm (Loadable Kernel Modules)", + dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_LKM }, { "release", "/usr/src/release (release-generation tools)", dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_RELEASE }, { "bin", "/usr/src/bin (system binaries)", @@ -848,8 +846,8 @@ DMenu MenuSrcDistributions = { DMenu MenuXF86Select = { DMENU_NORMAL_TYPE, - "XFree86 3.3.3 Distribution", - "Please select the components you need from the XFree86 3.3.3\n" + "XFree86 3.3.2.3 Distribution", + "Please select the components you need from the XFree86 3.3.2.3\n" "distribution sets.", "Press F1 to read the XFree86 release notes for FreeBSD", "XF86", @@ -864,7 +862,7 @@ DMenu MenuXF86Select = { DMenu MenuXF86SelectCore = { DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS, - "XFree86 3.3.3 base distribution types", + "XFree86 3.3.2.3 base distribution types", "Please check off the basic XFree86 components you wish to install.\n" "Bin, lib, and set are recommended for a minimum installaion.", "Press F1 to read the XFree86 release notes for FreeBSD", @@ -891,9 +889,9 @@ DMenu MenuXF86SelectCore = { dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_SET }, { "9set", "XFree86 Setup Utility for PC98 machines", dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_9SET }, - { "sources", "XFree86 3.3.3 standard sources", + { "sources", "XFree86 3.3.2.3 standard sources", dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_SRC }, - { "csources", "XFree86 3.3.3 contrib sources", + { "csources", "XFree86 3.3.2.3 contrib sources", dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_CSRC }, { "All", "Select all of the above", NULL, setX11Misc, NULL, NULL, ' ', ' ', ' ' }, @@ -1064,18 +1062,11 @@ DMenu MenuInstallCustom = { "Press F1 to read the installation guide", "install", { { "1 Options", "View/Set various installation options", NULL, optionsEditor }, -#ifdef __alpha__ - { "2 Label", "Label disk partitions", NULL, diskLabelEditor }, - { "3 Distributions", "Select distribution(s) to extract", NULL, dmenuSubmenu, NULL, &MenuDistributions }, - { "4 Media", "Choose the installation media type", NULL, dmenuSubmenu, NULL, &MenuMedia }, - { "5 Commit", "Perform any pending Partition/Label/Extract actions", NULL, installCustomCommit }, -#else { "2 Partition", "Allocate disk space for FreeBSD", NULL, diskPartitionEditor }, { "3 Label", "Label allocated disk partitions", NULL, diskLabelEditor }, { "4 Distributions", "Select distribution(s) to extract", NULL, dmenuSubmenu, NULL, &MenuDistributions }, { "5 Media", "Choose the installation media type", NULL, dmenuSubmenu, NULL, &MenuMedia }, { "6 Commit", "Perform any pending Partition/Label/Extract actions", NULL, installCustomCommit }, -#endif { "0 Exit", "Exit this menu (returning to previous)", NULL, dmenuExit }, { NULL } }, }; @@ -1095,7 +1086,7 @@ DMenu MenuMBRType = { " NOTE: PC-DOS users will almost certainly require \"None\"!", "Press F1 to read about drive setup", "drives", - { { "BootMgr", "Install the FreeBSD Boot Manager", + { { "BootMgr", "Install the FreeBSD Boot Manager (\"Booteasy\")", dmenuRadioCheck, dmenuSetValue, NULL, &BootMgr }, { "Standard", "Install a standard MBR (no boot manager)", dmenuRadioCheck, dmenuSetValue, NULL, &BootMgr, '(', '*', ')', 1 }, diff --git a/release/sysinstall/network.c b/release/sysinstall/network.c index a20e5614ab2c..7dde08df8252 100644 --- a/release/sysinstall/network.c +++ b/release/sysinstall/network.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: network.c,v 1.32 1998/10/01 19:26:02 msmith Exp $ + * $Id: network.c,v 1.31 1998/07/12 17:11:53 brian Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -58,15 +58,9 @@ mediaInitNetwork(Device *dev) if (!RunningAsInit || networkInitialized) return TRUE; - if (isDebug()) - msgDebug("Init routine called for network device %s.\n", dev->name); - - if (!file_readable("/etc/resolv.conf")) { - if (DITEM_STATUS(configResolv(NULL)) == DITEM_FAILURE) { - msgConfirm("Can't seem to write out /etc/resolv.conf. Net cannot be used."); - return FALSE; - } - } + msgDebug("Init routine called for network device %s.\n", dev->name); + if (!file_readable("/etc/resolv.conf")) + configResolv(); /* Old PPP process lying around? */ if (pppPID) { diff --git a/release/sysinstall/nfs.c b/release/sysinstall/nfs.c index aeb1dc0fc584..8ab752106177 100644 --- a/release/sysinstall/nfs.c +++ b/release/sysinstall/nfs.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: nfs.c,v 1.18 1997/02/22 14:12:14 peter Exp $ + * $Id$ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -42,11 +42,11 @@ #include <sys/mount.h> Boolean NFSMounted; -static char mountpoint[] = "/dist"; Boolean mediaInitNFS(Device *dev) { + char *mountpoint = "/dist"; Device *netDevice = (Device *)dev->private; if (NFSMounted) @@ -68,26 +68,43 @@ mediaInitNFS(Device *dev) return FALSE; } NFSMounted = TRUE; - if (isDebug()) - msgDebug("Mounted NFS device %s onto %s\n", dev->name, mountpoint); + msgDebug("Mounted NFS device %s onto %s\n", dev->name, mountpoint); return TRUE; } FILE * mediaGetNFS(Device *dev, char *file, Boolean probe) { - return mediaGenericGet(mountpoint, file); + char buf[PATH_MAX]; + + if (isDebug()) + msgDebug("Request for %s from NFS\n", file); + snprintf(buf, PATH_MAX, "/dist/%s", file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/dists/%s", file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/%s/%s", variable_get(VAR_RELNAME), file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "/dist/%s/dists/%s", variable_get(VAR_RELNAME), file); + return fopen(buf, "r"); } void mediaShutdownNFS(Device *dev) { + /* Device *netdev = (Device *)dev->private; */ + char *mountpoint = "/dist"; + if (!NFSMounted) return; - msgNotify("Unmounting NFS partition on %s", mountpoint); if (unmount(mountpoint, MNT_FORCE) != 0) msgConfirm("Could not unmount the NFS partition: %s", strerror(errno)); + msgDebug("Unmount of NFS partition successful\n"); + /* if (netdev) netdev->shutdown(netdev); */ NFSMounted = FALSE; return; } diff --git a/release/sysinstall/register.c b/release/sysinstall/register.c index c3e3bf13b250..b5200716da31 100644 --- a/release/sysinstall/register.c +++ b/release/sysinstall/register.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: register.c,v 1.8 1997/08/18 21:47:34 jkh Exp $ + * $Id: register.c,v 1.7 1997/05/26 04:57:56 jkh Exp $ * * Copyright (c) 1997 * Jordan Hubbard. All rights reserved. @@ -175,7 +175,7 @@ handle_registration(void) hotspots[COMMERCE_EMAIL].sel ? "yes" : "no", hotspots[COMMERCE_MAIL].sel ? "yes" : "no", hotspots[ANNOUNCE_LIST].sel ? "yes" : "no", hotspots[NEWSLETTER].sel == 0 ? "no" : hotspots[NEWSLETTER].sel == 1 ? "postal" : "email"); - fprintf(fp, "<version>%s</version>\n", variable_get(VAR_RELNAME)); + fprintf(fp, "<version>%s</version>\n", RELEASE_NAME); fprintf(fp, "</entry>\n"); fclose(fp); dialog_clear_norefresh(); diff --git a/release/sysinstall/sysinstall.8 b/release/sysinstall/sysinstall.8 index 2be7509309bb..336750fb7386 100644 --- a/release/sysinstall/sysinstall.8 +++ b/release/sysinstall/sysinstall.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: sysinstall.8,v 1.13 1998/12/02 03:27:37 jkh Exp $ +.\" $Id: sysinstall.8,v 1.10 1998/07/21 06:44:42 jkh Exp $ .\" .Dd August 9, 1997 .Dt SYSINSTALL 8 @@ -280,9 +280,9 @@ the script. For example, let's say you have a SCSI disk on which you've created a new FreeBSD partition in slice 2 (your DOS partition residing in slice 1). The slice name would be -.Ar da0s2 +.Ar sd0s2 for the whole FreeBSD partition ( -.Ar da0s1 +.Ar sd0s1 being your DOS primary partition). Now let's further assume that you have 500MB in this partition and you want to sub-partition that space into root, swap, @@ -290,13 +290,13 @@ var and usr file systems for FreeBSD. Your invocation of the .Ar diskLabelEditor function might involve setting the following variables: .Bl -tag -width findx -.It Li "da0s2-1=ufs 40960 /" +.It Li "sd0s2-1=ufs 40960 /" A 20MB root file system (all sizes are in 512 byte blocks). -.It Li "da0s2-2=swap 131072 /" +.It Li "sd0s2-2=swap 131072 /" A 64MB swap partition. -.It Li "da0s2-3=ufs 204800 /var" +.It Li "sd0s2-3=ufs 204800 /var" A 100MB /var file system. -.It Li "da0s2-4=ufs 0 /usr" +.It Li "sd0s2-4=ufs 0 /usr" With the balance of free space (around 316MB) going to the /usr file system. .El @@ -311,7 +311,7 @@ entry is created for it in the new installation. Before calling the .Ar diskLabelEditor function, we simply add an additional line: .nf - da0s1=/dos_c N + sd0s1=/dos_c N .fi before the call. This tells the label editor that you want to mount @@ -394,6 +394,8 @@ Kerberos binaries. /usr/src/lib .It Li slibexec /usr/src/libexec +.It Li slkm +/usr/src/lkm .It Li srelease /usr/src/release .It Li sbin @@ -414,94 +416,94 @@ Kerberos binaries. XFree86 official sources. .It Li XF86-co XFree86 contributed sources. -.It Li Xbin -XFree86 3.3.3 binaries. -.It Li Xcfg -XFree86 3.3.3 configuration files. -.It Li Xdoc -XFree86 3.3.3 documentation. -.It Li Xhtml -XFree86 3.3.3 HTML documentation. -.It Li Xlib -XFree86 3.3.3 libraries. -.It Li Xlk98 -XFree86 3.3.3 server link-kit for PC98 machines. -.It Li Xlkit -XFree86 3.3.3 server link-kit for standard machines. -.It Li Xman -XFree86 3.3.3 manual pages. -.It Li Xprog -XFree86 3.3.3 programmer's distribution. -.It Li Xps -XFree86 3.3.3 postscript documentation. -.It Li Xset -XFree86 3.3.3 graphical setup tool. -.It Li X8514 -XFree86 3.3.3 8514 server. -.It Li X9480 -XFree86 3.3.3 PC98 8-bit (256 color) PEGC-480 server. -.It Li X9EGC -XFree86 3.3.3 PC98 4-bit (16 color) EGC server. -.It Li X9GA9 -XFree86 3.3.3 PC98 GA-968V4/PCI (S3 968) server. -.It Li X9GAN -XFree86 3.3.3 PC98 GANB-WAP (cirrus) server. -.It Li X9LPW -XFree86 3.3.3 PC98 PowerWindowLB (S3) server. -.It Li X9NKV -XFree86 3.3.3 PC98 NKV-NEC (cirrus) server. -.It Li X9NS3 -XFree86 3.3.3 PC98 NEC (S3) server. -.It Li X9SPW -XFree86 3.3.3 PC98 SKB-PowerWindow (S3) server. -.It Li X9TGU -XFree86 3.3.3 PC98 Cyber9320 and TGUI9680 server. -.It Li X9WEP -XFree86 3.3.3 PC98 WAB-EP (cirrus) server. -.It Li X9WS -XFree86 3.3.3 PC98 WABS (cirrus) server. -.It Li X9WSN -XFree86 3.3.3 PC98 WSN-A2F (cirrus) server. -.It Li XAGX -XFree86 3.3.3 8 bit AGX server. -.It Li XI128 -XFree86 3.3.3 #9 Imagine I128 server. -.It Li XMa8 -XFree86 3.3.3 ATI Mach8 server. -.It Li XMa32 -XFree86 3.3.3 ATI Mach32 server. -.It Li XMa64 -XFree86 3.3.3 ATI Mach64 server. -.It Li XMono -XFree86 3.3.3 monochrome server. -.It Li XP9K -XFree86 3.3.3 P9000 server. -.It Li XS3 -XFree86 3.3.3 S3 server. -.It Li XS3V -XFree86 3.3.3 S3 Virge server. -.It Li XSVGA -XFree86 3.3.3 SVGA server. -.It Li XVG16 -XFree86 3.3.3 VGA16 server. -.It Li XW32 -XFree86 3.3.3 ET4000/W32, /W32i and /W32p server. -.It Li Xnest -XFree86 3.3.3 nested X server. -.It Li Xvfb -XFree86 3.3.3 virtual frame-buffer X server. -.It Li Xfnts -XFree86 3.3.3 base font set. -.It Li Xf100 -XFree86 3.3.3 100DPI font set. -.It Li Xfcyr -XFree86 3.3.3 Cyrillic font set. -.It Li Xfscl -XFree86 3.3.3 scalable font set. -.It Li Xfnon -XFree86 3.3.3 non-english font set. -.It Li Xfsrv -XFree86 3.3.3 font server. +.It Li X332bin +XFree86 3.3.2.3 binaries. +.It Li X332cfg +XFree86 3.3.2.3 configuration files. +.It Li X332doc +XFree86 3.3.2.3 documentation. +.It Li X332html +XFree86 3.3.2.3 HTML documentation. +.It Li X332lib +XFree86 3.3.2.3 libraries. +.It Li X332lk98 +XFree86 3.3.2.3 server link-kit for PC98 machines. +.It Li X332lkit +XFree86 3.3.2.3 server link-kit for standard machines. +.It Li X332man +XFree86 3.3.2.3 manual pages. +.It Li X332prog +XFree86 3.3.2.3 programmer's distribution. +.It Li X332ps +XFree86 3.3.2.3 postscript documentation. +.It Li X332set +XFree86 3.3.2.3 graphical setup tool. +.It Li X3328514 +XFree86 3.3.2.3 8514 server. +.It Li X3329480 +XFree86 3.3.2.3 PC98 8-bit (256 color) PEGC-480 server. +.It Li X3329EGC +XFree86 3.3.2.3 PC98 4-bit (16 color) EGC server. +.It Li X3329GA9 +XFree86 3.3.2.3 PC98 GA-968V4/PCI (S3 968) server. +.It Li X3329GAN +XFree86 3.3.2.3 PC98 GANB-WAP (cirrus) server. +.It Li X3329LPW +XFree86 3.3.2.3 PC98 PowerWindowLB (S3) server. +.It Li X3329NKV +XFree86 3.3.2.3 PC98 NKV-NEC (cirrus) server. +.It Li X3329NS3 +XFree86 3.3.2.3 PC98 NEC (S3) server. +.It Li X3329SPW +XFree86 3.3.2.3 PC98 SKB-PowerWindow (S3) server. +.It Li X3329TGU +XFree86 3.3.2.3 PC98 Cyber9320 and TGUI9680 server. +.It Li X3329WEP +XFree86 3.3.2.3 PC98 WAB-EP (cirrus) server. +.It Li X3329WS +XFree86 3.3.2.3 PC98 WABS (cirrus) server. +.It Li X3329WSN +XFree86 3.3.2.3 PC98 WSN-A2F (cirrus) server. +.It Li X332AGX +XFree86 3.3.2.3 8 bit AGX server. +.It Li X332I128 +XFree86 3.3.2.3 #9 Imagine I128 server. +.It Li X332Ma8 +XFree86 3.3.2.3 ATI Mach8 server. +.It Li X332Ma32 +XFree86 3.3.2.3 ATI Mach32 server. +.It Li X332Ma64 +XFree86 3.3.2.3 ATI Mach64 server. +.It Li X332Mono +XFree86 3.3.2.3 monochrome server. +.It Li X332P9K +XFree86 3.3.2.3 P9000 server. +.It Li X332S3 +XFree86 3.3.2.3 S3 server. +.It Li X332S3V +XFree86 3.3.2.3 S3 Virge server. +.It Li X332SVGA +XFree86 3.3.2.3 SVGA server. +.It Li X332VG16 +XFree86 3.3.2.3 VGA16 server. +.It Li X332W32 +XFree86 3.3.2.3 ET4000/W32, /W32i and /W32p server. +.It Li X332nest +XFree86 3.3.2.3 nested X server. +.It Li X332vfb +XFree86 3.3.2.3 virtual frame-buffer X server. +.It Li X332fnts +XFree86 3.3.2.3 base font set. +.It Li X332f100 +XFree86 3.3.2.3 100DPI font set. +.It Li X332fcyr +XFree86 3.3.2.3 Cyrillic font set. +.It Li X332fscl +XFree86 3.3.2.3 scalable font set. +.It Li X332fnon +XFree86 3.3.2.3 non-english font set. +.It Li X332fsrv +XFree86 3.3.2.3 font server. .El .It distSetDeveloper Selects the standard Developer's distribution set. @@ -540,7 +542,7 @@ Interactively select source subcomponents. .Pp \fBVariables:\fR None .It distSetXF86 -Interactively select XFree86 3.3.3 subcomponents. +Interactively select XFree86 3.3.2.3 subcomponents. .Pp \fBVariables:\fR None .It distExtractAll diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h index a50eb3ee4050..c74c423d8831 100644 --- a/release/sysinstall/sysinstall.h +++ b/release/sysinstall/sysinstall.h @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: sysinstall.h,v 1.152 1998/12/22 12:31:25 jkh Exp $ + * $Id: sysinstall.h,v 1.148 1998/09/30 11:49:37 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -51,9 +51,15 @@ #include "colors.h" #include "libdisk.h" #include "dist.h" +#include "version.h" /*** Defines ***/ +/* Different packages we depend on - update symlinks when versions change! */ +#define PACKAGE_GATED "gated" +#define PACKAGE_PCNFSD "pcnfsd" +#define PACKAGE_LYNX "lynx" + /* device limits */ #define DEV_NAME_MAX 64 /* The maximum length of a device name */ #define DEV_MAX 100 /* The maximum number of devices we'll deal with */ @@ -401,13 +407,13 @@ extern void command_shell_add(char *key, char *fmt, ...); extern void command_func_add(char *key, commandFunc func, void *data); /* config.c */ +extern int configFstab(void); extern void configEnvironmentRC_conf(char *config); extern void configEnvironmentResolv(char *config); extern void configRC_conf(char *config); -extern int configFstab(dialogMenuItem *self); extern int configRC(dialogMenuItem *self); extern int configRegister(dialogMenuItem *self); -extern int configResolv(dialogMenuItem *self); +extern void configResolv(void); extern int configPackages(dialogMenuItem *self); extern int configSaver(dialogMenuItem *self); extern int configSaverTimeout(dialogMenuItem *self); @@ -531,17 +537,13 @@ extern int installNovice(dialogMenuItem *self); extern int installFixitHoloShell(dialogMenuItem *self); extern int installFixitCDROM(dialogMenuItem *self); extern int installFixitFloppy(dialogMenuItem *self); -extern int installFixupBin(dialogMenuItem *self); -extern int installFixupXFree(dialogMenuItem *self); +extern int installFixup(dialogMenuItem *self); extern int installUpgrade(dialogMenuItem *self); extern int installFilesystems(dialogMenuItem *self); extern int installVarDefaults(dialogMenuItem *self); extern void installEnvironment(void); extern Boolean copySelf(void); -/* kget.c */ -extern int kget(char *out); - /* keymap.c */ extern int loadKeymap(const char *lang); @@ -587,7 +589,6 @@ extern Boolean mediaExtractDist(char *dir, char *dist, FILE *fp); extern Boolean mediaExtractDistBegin(char *dir, int *fd, int *zpid, int *cpic); extern Boolean mediaExtractDistEnd(int zpid, int cpid); extern Boolean mediaVerify(void); -extern FILE *mediaGenericGet(char *base, const char *file); /* misc.c */ extern Boolean file_readable(char *fname); diff --git a/release/sysinstall/system.c b/release/sysinstall/system.c index 97b7d57008a4..b1a12af5489c 100644 --- a/release/sysinstall/system.c +++ b/release/sysinstall/system.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: system.c,v 1.86 1999/01/08 00:14:22 jkh Exp $ + * $Id: system.c,v 1.83 1998/09/30 11:44:29 jkh Exp $ * * Jordan Hubbard * @@ -22,12 +22,12 @@ #include <machine/console.h> #include <sys/fcntl.h> #include <sys/ioctl.h> -#include <sys/stat.h> +#include <sys/wait.h> /* Where we stick our temporary expanded doc file */ -#define DOC_TMP_DIR "/tmp/.doc" -#define DOC_TMP_FILE "/tmp/.doc/doc.tmp" +#define DOC_TMP_DIR "/tmp" +#define DOC_TMP_FILE "/tmp/doc.tmp" static pid_t ehs_pid; @@ -53,15 +53,8 @@ expand(char *fname) { char *gunzip = RunningAsInit ? "/stand/gunzip" : "/usr/bin/gunzip"; - if (!directory_exists(DOC_TMP_DIR)) { - Mkdir(DOC_TMP_DIR); - if (chown(DOC_TMP_DIR, 0, 0) < 0) - return NULL; - if (chmod(DOC_TMP_DIR, S_IRWXU) < 0) - return NULL; - } - else - unlink(DOC_TMP_FILE); + Mkdir(DOC_TMP_DIR); + unlink(DOC_TMP_FILE); if (!file_readable(fname) || vsystem("%s < %s > %s", gunzip, fname, DOC_TMP_FILE)) return NULL; return DOC_TMP_FILE; @@ -138,7 +131,6 @@ systemInitialize(int argc, char **argv) if (!getenv("HOME")) setenv("HOME", "/", 1); signal(SIGINT, handle_intr); - (void)vsystem("rm -rf %s", DOC_TMP_DIR); } /* Close down and prepare to exit */ @@ -161,18 +153,14 @@ systemShutdown(int status) /* Shut down curses */ endwin(); - /* If we have a temporary doc dir lying around, nuke it */ - (void)vsystem("rm -rf %s", DOC_TMP_DIR); + /* If we have a temporary doc file lying around, nuke it */ + unlink(DOC_TMP_FILE); /* REALLY exit! */ if (RunningAsInit) { /* Put the console back */ ioctl(0, VT_ACTIVATE, 2); -#ifdef __alpha__ - reboot(RB_HALT); -#else reboot(0); -#endif } else exit(status); @@ -235,15 +223,9 @@ systemHelpFile(char *file, char *buf) snprintf(buf, FILENAME_MAX, "/stand/help/%s.hlp.gz", file); if (file_readable(buf)) return expand(buf); - snprintf(buf, FILENAME_MAX, "/stand/help/%s.TXT.gz", file); - if (file_readable(buf)) - return expand(buf); snprintf(buf, FILENAME_MAX, "/usr/src/release/sysinstall/help/%s.hlp", file); if (file_readable(buf)) return buf; - snprintf(buf, FILENAME_MAX, "/usr/src/release/sysinstall/help/%s.TXT", file); - if (file_readable(buf)) - return buf; return NULL; } diff --git a/release/sysinstall/tape.c b/release/sysinstall/tape.c index 995a0fe0d154..df3989288f8a 100644 --- a/release/sysinstall/tape.c +++ b/release/sysinstall/tape.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: tape.c,v 1.19 1997/02/22 14:12:21 peter Exp $ + * $Id$ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -98,7 +98,7 @@ mediaGetTape(Device *dev, char *file, Boolean probe) if (file_readable(buf)) fp = fopen(buf, "r"); else { - sprintf(buf, "%s/releases/%s", (char *)dev->private, file); + sprintf(buf, "%s/dists/%s", (char *)dev->private, file); fp = fopen(buf, "r"); } /* Nuke the files behind us to save space */ @@ -112,9 +112,8 @@ mediaShutdownTape(Device *dev) { if (!tapeInitted) return; - if (file_readable((char *)dev->private)) { - msgNotify("Cleaning up results of tape extract in %s..", - (char *)dev->private); + if (file_readable(dev->private)) { + msgNotify("Cleaning up results of tape extract in %s..", dev->private); (void)vsystem("rm -rf %s", (char *)dev->private); } tapeInitted = FALSE; diff --git a/release/sysinstall/tcpip.c b/release/sysinstall/tcpip.c index 7ef6358d2eb4..5a862f2856f8 100644 --- a/release/sysinstall/tcpip.c +++ b/release/sysinstall/tcpip.c @@ -1,5 +1,5 @@ /* - * $Id: tcpip.c,v 1.73 1998/08/31 09:02:03 jkh Exp $ + * $Id: tcpip.c,v 1.72 1997/09/17 16:18:22 pst Exp $ * * Copyright (c) 1995 * Gary J Palmer. All rights reserved. @@ -311,7 +311,7 @@ netconfig: } if (ipaddr[0]) variable_set2(VAR_IPADDR, ipaddr); - configResolv(NULL); /* XXX this will do it on the MFS copy XXX */ + configResolv(); /* XXX this will do it on the MFS copy XXX */ ret = DITEM_SUCCESS; } else diff --git a/release/sysinstall/uc_eisa.c b/release/sysinstall/uc_eisa.c new file mode 100644 index 000000000000..12abd730c7c5 --- /dev/null +++ b/release/sysinstall/uc_eisa.c @@ -0,0 +1,166 @@ +/*************************************************** + * file: userconfig/uc_eisa.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_eisa.c,v 1.4 1997/02/22 14:12:26 peter Exp $ + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <nlist.h> +#include <i386/eisa/eisaconf.h> + +#include "uc_main.h" + +struct eisa_device_node { + struct eisa_device dev; + struct eisa_device_node *next; +}; + +/* module prototypes */ +static void eisa_fill_in(struct kernel *, struct uc_eisa *, struct eisa_device_node *); + +void +get_eisa_info(struct kernel *kp){ + int i, total; + u_int *ls; + struct eisa_driver *ed; + struct uc_eisa *ep, *epc; + char *name; + + if(kp->nl[EISA_SET].n_value || kp->nl[EISA_LIST].n_value) { + ep=epc=(struct uc_eisa *)malloc(sizeof(struct uc_eisa)); + if(!kp->incore) { + if(kp->nl[EISA_SET].n_value) { + u_int ndev; + ls=(u_int *)kv_to_u(kp, kp->nl[EISA_SET].n_value, sizeof(u_int)*10); /* XXX, size? */ + ndev=ls[0]; + for(i=1;i<(ndev+1);i++){ + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*i); + epc = ep+(i-1); + ed=(struct eisa_driver *)kv_to_u(kp, ls[i], sizeof(struct eisa_driver)); + name=(char *)kv_to_u(kp, (u_int)ed->name, 10); /* XXX, size? */ + asprintf(&epc->device, "%s", name); + asprintf(&epc->full_name, "?"); + } + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*i); + epc = ep+(i-1); + bzero(epc, sizeof(struct uc_eisa)); + kp->eisa_devp=ep; + } else { /* not incore and no symbol, we have no EISA devs... */ + kp->eisa_devp=(struct uc_eisa *)0; + } + } else { + /* if we're incore, we can get data from _eisa_dev_list, */ + /* which should be much more useful, but I'll need a machine */ + /* to test :( */ + if(kp->nl[EISA_LIST].n_value) { + u_int t; + struct eisa_device_node *edn; + + t=kv_dref_p(kp, kp->nl[EISA_LIST].n_value); + total=0; + while(t) { + edn=(struct eisa_device_node *) + kv_to_u(kp, t,sizeof(struct eisa_device_node)); + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*(total+1)); + epc=ep+total; + eisa_fill_in(kp, epc, edn); + t=(u_int)edn->next; + free(edn); + total++; + } + + ep=(struct uc_eisa *)realloc(ep, sizeof(struct uc_eisa)*(total+1)); + epc=ep+total; + bzero(epc, sizeof(struct uc_eisa)); + kp->eisa_devp=ep; + } else { + kp->eisa_devp=(struct uc_eisa *)0; + } + } + } else { + kp->eisa_devp=(struct uc_eisa *)0; + } +} + +struct list * +get_eisa_devlist(struct kernel *kp){ + struct list *dl; + struct uc_eisa *kdp; + + dl=list_new(); + + for(kdp=kp->eisa_devp; kdp->device; kdp++){ + list_append(dl, kdp->device); + } + return(dl); +} + + +struct list * +get_eisa_device(struct uc_eisa *ep){ + struct list *list; + list=list_new(); + + list_append(list, ep->device); + list_append(list, ep->full_name); + + return(list); +} + + +static void +eisa_fill_in(struct kernel *kp, struct uc_eisa *epc, struct eisa_device_node *edn){ + struct eisa_driver *edrv; + char *n; + + edrv=(struct eisa_driver *)kv_to_u(kp, (u_int)edn->dev.driver, + sizeof(struct eisa_driver)); + + n=(char *)kv_to_u(kp, (u_int)edrv->name, 20); + asprintf(&epc->device, "%s%lu", n, edn->dev.unit); + free(n); + + n=(char *)kv_to_u(kp, (u_int)edn->dev.full_name, 40); /*XXX*/ + asprintf(&epc->full_name, "%s", n); + free(n); + free(edrv); +} + +void +eisa_free(struct kernel *kp, int writeback){ + struct uc_eisa *ep; + + for(ep=kp->eisa_devp;ep->device;ep++){ + free(ep->device); + free(ep->full_name); + } + free(kp->eisa_devp); + kp->eisa_devp=0; +} + +/* end of userconfig/uc_eisa.c */ diff --git a/release/sysinstall/uc_isa.c b/release/sysinstall/uc_isa.c new file mode 100644 index 000000000000..624fc08daa56 --- /dev/null +++ b/release/sysinstall/uc_isa.c @@ -0,0 +1,211 @@ +/*************************************************** + * file: userconfig/uc_isa.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_isa.c,v 1.4 1997/02/22 14:12:27 peter Exp $ + */ + +#include <sys/types.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <nlist.h> +#include <i386/isa/isa_device.h> + +#include "uc_main.h" + +void +get_isa_info(struct kernel *kp){ + int total, i, j; + struct uc_isa *idp; + struct isa_device *p, *isa_dp; + struct isa_driver *drv; + char *name; + + if(kp->nl[ISA_BIOTAB].n_value || kp->nl[ISA_TTYTAB].n_value || kp->nl[ISA_NETTAB].n_value || + kp->nl[ISA_CAMTAB].n_value || kp->nl[ISA_NULLTAB].n_value || + kp->nl[ISA_WDCTAB].n_value || kp->nl[ISA_FDCTAB].n_value) { + + idp = kp->isa_devp = (struct uc_isa *)malloc(sizeof(struct uc_isa)); + total=0; /* a running total of the number of isa devices */ + + for (i=0; i<6; i++) { /* the isa devices */ + if(kp->nl[i].n_value) { + p = isa_dp = (struct isa_device *)kv_to_u(kp, kp->nl[i].n_value, /* XXX size? */ + sizeof(struct isa_device)*30); + /* build the device list */ + /* `total' keeps a running total of all the devices found */ + for (j=0; p->id_id; j++, p++, total++) { + kp->isa_devp = (struct uc_isa *)realloc(kp->isa_devp, + sizeof(struct uc_isa)*(total+1)); + idp=kp->isa_devp+total; + + drv=(struct isa_driver *)kv_to_u(kp, (u_int)p->id_driver, sizeof(struct isa_driver)); + name=(char *)kv_to_u(kp, (u_int)drv->name, 64); + + if (i==ISA_WDCTAB || i==ISA_FDCTAB) { /* special case the disk devices */ + char n[10]; + strncpy(n, name, 10); + n[strlen(n)-1]=0; /* chop off the trailing 'c' */ + asprintf(&idp->device, "%s%d", n, j); + } else { + asprintf(&idp->device, "%s%d", name, p->id_unit); + } + idp->port=p->id_iobase; + idp->irq=p->id_irq; + idp->drq=p->id_drq; + idp->iomem=(u_int)p->id_maddr & 0xFFFFFF; /* kludge to get pa from kva */ + idp->iosize=p->id_msize; + idp->flags=p->id_flags; + idp->alive=p->id_alive; + idp->enabled=p->id_enabled; + idp->modified=0; + if(!kp->incore){ + idp->idp=p; + } else { + free(name); + free(drv); + } + } + if(kp->incore){ + free(isa_dp); + } + } + } + + idp=kp->isa_devp+total; + bzero(idp, sizeof(struct uc_isa)); + } else { + kp->isa_devp=0; + } +} + + +struct list * +get_isa_devlist(struct kernel *kp){ + struct list *dl; + struct uc_isa *kdp; + + dl=list_new(); + + for(kdp=kp->isa_devp; kdp->device; kdp++){ + list_append(dl, kdp->device); + } + return(dl); +} + + +struct list * +get_isa_device(struct uc_isa *ip){ + struct list *list; + char *tmp; + + list=list_new(); + + asprintf(&tmp, "%s", ip->device ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%04x", ip->port ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->irq>0 ? ffs(ip->irq)-1 : ip->irq); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->drq ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%08x", ip->iomem ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%x", ip->iosize ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "0x%x", ip->flags ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->alive ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", ip->enabled ); + list_append(list, tmp); + free(tmp); + + return(list); +} + +int +isa_setdev(struct kernel *kp, struct list *list){ + int r=1, irq; + struct uc_isa *ip; + + if(kp->isa_devp) + for(ip=kp->isa_devp;ip->device;ip++){ + if(strcmp(list->av[0], ip->device)==0){ + ip->modified=1; + ip->port = strtol(list->av[1], (char **)NULL, 0); + irq=strtol(list->av[2], (char **)NULL, 0); + ip->irq= irq > 0 ? 1 << (irq) : irq; + ip->drq = strtol(list->av[3], (char **)NULL, 0); + ip->iomem = strtol(list->av[4], (char **)NULL, 0); + ip->iosize = strtol(list->av[5], (char **)NULL, 0); + ip->flags = strtol(list->av[6], (char **)NULL, 0); + ip->enabled = strtol(list->av[8], (char **)NULL, 0); + r=0; + break; + } + } + return(r); +} + +void +isa_free(struct kernel *kp, int writeback){ + struct uc_isa *ip; + for(ip=kp->isa_devp; ip->device; ip++){ + if((!kp->incore) && ip->modified && writeback) { + /* save any changes */ + ip->idp->id_iobase=ip->port; + ip->idp->id_irq = ip->irq; + ip->idp->id_drq = ip->drq; + ip->idp->id_maddr = (caddr_t)ip->iomem; + ip->idp->id_msize = ip->iosize; + ip->idp->id_flags = ip->flags; + ip->idp->id_enabled = ip->enabled; + } + /* and, be free... */ + free(ip->device); + } + /* and free the whole ball of wax */ + free(kp->isa_devp); + kp->isa_devp=0; +} + +/* end of userconfig/uc_isa.c */ diff --git a/release/sysinstall/uc_kmem.c b/release/sysinstall/uc_kmem.c new file mode 100644 index 000000000000..e0df87209a69 --- /dev/null +++ b/release/sysinstall/uc_kmem.c @@ -0,0 +1,87 @@ +/*************************************************** + * file: userconfig/uc_kmem.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id$ + */ + +#include <sys/types.h> +#include <stdlib.h> +#include <unistd.h> +#include <a.out.h> + +#include <stdio.h> + +#include "uc_main.h" + +/* translate a kv pointer to user space */ +/* malloc()-ing if we aren't mmaped */ +u_int +kv_to_u(struct kernel *kp, u_int adr, u_int size){ + u_int tadr; + if(!kp->incore){ + struct exec *ep; + ep=(struct exec *)kp->core; + tadr=(u_int)((adr - ep->a_entry + (N_DATOFF(*ep) - ep->a_text))+kp->core); + } else { + caddr_t ptr; + ptr = malloc(size); + lseek(kp->fd, adr, SEEK_SET); + read(kp->fd, ptr, size); + tadr=(u_int)ptr; + } + return(tadr); +} + +/* dereference a pointer to kernel space */ +u_int +kv_dref_p(struct kernel *kp, u_int adr){ + u_int tadr; + if(!kp->incore){ + struct exec *ep; + ep=(struct exec *)kp->core; + tadr=*(u_int*)((adr - ep->a_entry + (N_DATOFF(*ep) - ep->a_text))+kp->core); + } else { + lseek(kp->fd, adr, SEEK_SET); + read(kp->fd, &tadr, sizeof(tadr)); + } + return(tadr); +} + +/* deref a pointer to kernel text */ +u_int +kv_dref_t(struct kernel *kp, u_int adr){ + u_int tadr; + if(!kp->incore){ + struct exec *ep; + ep=(struct exec *)kp->core; + tadr=*(u_int*)((adr - ep->a_entry) + N_TXTOFF(*ep) + (u_int)kp->core); + } else { + lseek(kp->fd, adr, SEEK_SET); + read(kp->fd, &tadr, sizeof(tadr)); + } + return(tadr); +} + +/* end of userconfig/uc_kmem.c */ diff --git a/release/sysinstall/uc_list.c b/release/sysinstall/uc_list.c new file mode 100644 index 000000000000..6506c5eb6b1e --- /dev/null +++ b/release/sysinstall/uc_list.c @@ -0,0 +1,76 @@ +/*************************************************** + * file: userconfig/uc_isa.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id$ + */ + +#include <sys/types.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <nlist.h> +#include "uc_main.h" + +struct list * +list_new(void){ + struct list *rv; + rv=(struct list *)malloc(sizeof(struct list)); + rv->ac=0; + rv->av=(char **)0; + return(rv); +} + +void +list_append(struct list *list , char *item){ + + if(list->ac==0) { + list->av=(char **)malloc(sizeof(char *)*(list->ac+1)); + } else { + list->av=(char **)realloc(list->av, sizeof(char *)*(list->ac+1)); + } + asprintf(list->av+list->ac, "%s", item); + list->ac++; +} + +void +list_print(struct list *list, char *separator){ + int i; + for(i=0; i<list->ac; i++) + printf("%s%s", list->av[i], separator); +} + +void +list_destroy(struct list *list){ + int i; + for(i=0;i<list->ac;i++){ + free(list->av[i]); + list->av[i]=0; + } + free(list->av); + list->av=0; + free(list); +} + +/* end of userconfig/uc_list.c */ diff --git a/release/sysinstall/uc_main.c b/release/sysinstall/uc_main.c new file mode 100644 index 000000000000..102c766d3893 --- /dev/null +++ b/release/sysinstall/uc_main.c @@ -0,0 +1,334 @@ +/*************************************************** + * file: userconfig/uc_main.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * library functions for userconfig library + * + * $Id: uc_main.c,v 1.23 1998/10/06 07:41:49 msmith Exp $ + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <paths.h> +#include <sys/mman.h> +#include <nlist.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "uc_main.h" +#include "sysinstall.h" + +static struct nlist _nl[] = { + {"_isa_devtab_bio"}, + {"_isa_devtab_tty"}, + {"_isa_devtab_net"}, + {"_isa_devtab_cam"}, + {"_isa_devtab_null"}, + {"_isa_biotab_wdc"}, + {"_isa_biotab_fdc"}, + {"_eisadriver_set"}, + {"_eisa_dev_list"}, + {"_pcidevice_set"}, + {"_device_list"}, +#ifdef DO_SCSI + {"_scbusses"}, + {"_scsi_cinit"}, + {"_scsi_dinit"}, + {"_scsi_tinit"}, +#endif + {""}, +}; + +struct kernel * +uc_open(char *name){ + int kd, flags, incore; + struct kernel *kern; + struct stat sb; + char kname[80]; + int size, i = 0; + struct nlist *nl = _nl; + + if (strcmp(name, "-incore") == 0) + incore = 1; + else + incore = 0; + + if (incore || (strcmp(name,"-bootfile") == 0)) + SAFE_STRCPY(kname, getbootfile()); + else + SAFE_STRCPY(kname, name); + + if (isDebug()) + msgDebug("uc_open: kernel name is %s, incore = %d\n", kname, incore); + kern = (struct kernel *)malloc(sizeof(struct kernel)); + +#ifdef KERN_NO_SYMBOLS + if (incore) { + FILE *fp; + + fp = fopen("/stand/symbols", "r"); + if (!fp) { + msgDebug("Couldn't open /stand/symbols file! Punting.\n"); + free(kern); + return NULL; + } + if (fscanf(fp, "%d\n", &size) != 1) { + msgDebug("Unable to get # of name list entries from symbol file.\n"); + free(kern); + return NULL; + } + else if (isDebug()) + msgDebug("uc_open: opened /stand/symbols file, reading %d entries.\n", size); + + + kern->nl = nl = (struct nlist *)malloc((size + 1) * sizeof(struct nlist)); + bzero(nl, (size + 1) * sizeof(struct nlist)); + for (i = 0; i <= size; i++) { + char *cp, name[255]; + int c1; + unsigned int uc1; + short d1; + unsigned long v1; + + if (fgets(name, 255, fp) == NULL) { + msgDebug("Can't get name field for entry %d\n", i); + free(kern); + return NULL; + } + if ((cp = index(name, '\n')) != NULL) + *cp = '\0'; + nl[i].n_name = strdup(name); + if (fscanf(fp, "%u %d %hd %ld\n", &uc1, &c1, &d1, &v1) == 4) { + nl[i].n_type = (unsigned char)uc1; + nl[i].n_other = (char)c1; + nl[i].n_desc = d1; + nl[i].n_value = v1; + if (isDebug()) + msgDebug("uc_open: for entry %d, decoded: \"%s\", %u %d %hd %ld\n", i, nl[i].n_name, nl[i].n_type, nl[i].n_other, nl[i].n_desc, nl[i].n_value); + } + } + nl[i].n_name = ""; + fclose(fp); + i = 0; + } + else +#endif + i = nlist(kname, nl); + if (i == -1) { + msgDebug("uc_open: kernel %s does not contain symbols.\n", kname); + free(kern); + return NULL; + } +#ifdef KERN_NO_SYMBOLS + if (!incore) { +#else + { +#endif + kern->nl=(struct nlist *)malloc(sizeof(_nl)); + bcopy(_nl, kern->nl, sizeof(_nl)); + } + + if (incore) { + if (isDebug()) + msgDebug("uc_open: attempting to open /dev/kmem for incore.\n"); + if ((kd = open("/dev/kmem", O_RDONLY)) < 0) { + free(kern); + msgDebug("uc_open: Unable to open /dev/kmem.\n"); + return NULL; + } + kern->core = (caddr_t)NULL; + kern->incore = 1; + kern->size = 0; + } + else { + if (stat(kname, &sb) < 0) { + free(kern); + msgDebug("uc_open: Unable to stat %s.\n", kname); + return NULL; + } + kern->size = sb.st_size; + flags = sb.st_flags; + + if (chflags(kname, 0) < 0) { + free(kern); + msgDebug("uc_open: Unable to chflags %s.\n", kname); + return NULL; + } + + if (isDebug()) + msgDebug("uc_open: attempting to open %s\n", kname); + if ((kd = open(kname, O_RDWR, 0644)) < 0) { + free(kern); + msgDebug("uc_open: Unable to open %s.\n", kname); + return NULL; + } + + fchflags(kd, flags); + + if (isDebug()) + msgDebug("uc_open: attempting to mmap %d bytes\n", sb.st_size); + kern->core = mmap((caddr_t)0, sb.st_size, PROT_READ | PROT_WRITE, + MAP_SHARED, kd, 0); + kern->incore = 0; + if (kern->core == MAP_FAILED) { + free(kern); + msgDebug("uc_open: Unable to mmap from %s.\n", kname); + return NULL; + } + } + + kern->fd = kd; + get_isa_info(kern); + if (isDebug()) + msgDebug("uc_open: got isa information\n"); + + get_pci_info(kern); + if (isDebug()) + msgDebug("uc_open: got pci information\n"); + + get_eisa_info(kern); + if (isDebug()) + msgDebug("uc_open: got eisa information\n"); +#ifdef DO_SCSI + get_scsi_info(kern); + if (isDebug()) + msgDebug("uc_open: got scsi information\n"); +#else + kern->scsi_devp=(struct uc_scsi*)NULL; + kern->scsibus_devp=(struct uc_scsibus*)NULL; +#endif + return kern; +} + +int +uc_close(struct kernel *kern, int writeback) +{ + if (kern->isa_devp) + isa_free(kern, writeback); + + if (kern->eisa_devp) + eisa_free(kern, writeback); /* `writeback' isn't really useful here */ + + if (kern->pci_devp) + pci_free(kern, writeback); /* or here */ + +#ifdef DO_SCSI + if (kern->scsi_devp) + scsi_free(kern, writeback); +#endif + if (!kern->incore) + munmap(kern->core, kern->size); + + close(kern->fd); + free(kern->nl); + free(kern); + + return 0; +} + +struct list * +uc_getdev(struct kernel *kern, char *dev) +{ + struct list *list = (struct list *)0; + + if (*dev == '-') { /* asked for -isa, -eisa, -pci, -scsi, -all */ + if (strcmp(dev, "-all") == 0) { + list = list_new(); + if (kern->isa_devp) + list_append(list, "isa"); + + if (kern->eisa_devp) + list_append(list, "eisa"); + + if (kern->pci_devp) + list_append(list, "pci"); + +#ifdef DO_SCSI + if (kern->scsi_devp) + list_append(list, "scsi"); +#endif + + } + else if (strcmp(dev, "-isa") == 0) + list = get_isa_devlist(kern); + else if (strcmp(dev, "-eisa") == 0) + list = get_eisa_devlist(kern); + else if (strcmp(dev, "-pci") == 0) + list = get_pci_devlist(kern); +#ifdef DO_SCSI + else if (strcmp(dev, "-scsi") == 0) + list = get_scsi_devlist(kern); +#endif + } + else { + /* we gotta figure out which real device to report */ + struct uc_isa *ip; + struct uc_pci *pp; + struct uc_eisa *ep; + + if (kern->isa_devp) { + for (ip = kern->isa_devp; ip->device; ip++) { + if (strcmp(dev, ip->device) == 0) { + list = get_isa_device(ip); + goto end; + } + } + } + +#ifdef DO_SCSI + if (kern->scsi_devp) { + struct uc_scsi *sp; + + for (sp = kern->scsi_devp; sp->device; sp++) { + if (strcmp(dev, sp->device) == 0) { + list = get_scsi_device(sp); + goto end; + } + } + } +#endif + + if (kern->pci_devp) { + for(pp = kern->pci_devp; pp->device; pp++) { + if (strcmp(dev, pp->device) == 0) { + list = get_pci_device(pp); + goto end; + } + } + } + + if (kern->eisa_devp) { + for (ep = kern->eisa_devp; ep->device; ep++) { + if (strcmp(dev, ep->device) == 0) { + list = get_eisa_device(ep); + goto end; + } + } + } + } +end: + return(list); +} diff --git a/release/sysinstall/uc_main.h b/release/sysinstall/uc_main.h new file mode 100644 index 000000000000..046a6646cd55 --- /dev/null +++ b/release/sysinstall/uc_main.h @@ -0,0 +1,168 @@ +/*************************************************** + * file: userconfig/uc_main.h + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: uc_main.h,v 1.4 1997/02/22 14:12:32 peter Exp $ + */ + +#define ISA_BIOTAB 0 +#define ISA_TTYTAB 1 +#define ISA_NETTAB 2 +#define ISA_CAMTAB 3 +#define ISA_NULLTAB 4 +#define ISA_WDCTAB 5 +#define ISA_FDCTAB 6 +#define EISA_SET 7 +#define EISA_LIST 8 +#define PCI_SET 9 +#define SCSI_LIST 10 +#define SCSI_BUSSES 11 +#define SCSI_CINIT 12 +#define SCSI_DINIT 13 +#define SCSI_TINIT 14 +/* symbols + the null terminator */ +#define NSYMBOLS 16 + +struct kernel { + int fd; /* file descriptor for the kernel image, either a binary or /dev/kmem */ + caddr_t core; /* either the mmap()ed kernel image, or a scratch area */ + u_int size; /* size of the object at ->core */ + int incore; /* true if the kernel is running */ +#ifdef UC_PRIVATE + struct nlist *nl; /* the symbol table */ +#else + void *nl; +#endif + struct uc_isa *isa_devp; /* pointer to the isa devices (if any) */ + struct uc_eisa *eisa_devp; /* pointer to the eisa devices (if any) */ + struct uc_pci *pci_devp; /* pointer to the pci devices (if any) */ + struct uc_scsi *scsi_devp; /* pointer to the scsi devices (if any) */ + struct uc_scsibus *scsibus_devp; /* internal pointer to scsibus wirings */ +}; + +struct uc_isa { + char *device; + u_short port; + u_short irq; + short drq; + u_int iomem; + int iosize; + int flags; + int alive; + int enabled; +#ifdef UC_PRIVATE + struct isa_device *idp; +#else + void *idp; +#endif + int modified; +}; + +struct uc_pci { + char *device; +}; + +struct uc_eisa { + char *device; + char *full_name; +}; + +struct uc_scsibus { + int bus_no; + int unit; + char *driver; +#ifdef UC_PRIVATE + struct scsi_ctlr_config *config; +#else + void *config; +#endif +}; + +struct uc_scsi { + char *device; + char *adapter; + u_short target; + u_short lun; + char *desc; +#ifdef UC_PRIVATE + struct scsi_device_config *config; +#else + void *config; +#endif + int modified; +}; + +/* nearly everything useful returns a list */ + +struct list { + int ac; + char **av; +}; + +/* prototypes */ + +/* uc_main.c */ +/* these are really the only public ones */ +struct kernel *uc_open(char *name); +int uc_close(struct kernel *kern, int writeback); +struct list *uc_getdev(struct kernel *kern, char *dev); + +/* uc_isa.c */ +void get_isa_info(struct kernel *kp); +struct list *get_isa_devlist(struct kernel *kp); +struct list *get_isa_device(struct uc_isa *ip); +int isa_setdev(struct kernel *kp, struct list *list); +void isa_free(struct kernel *kp, int writeback); + +/* uc_eisa.c */ +void get_eisa_info(struct kernel *kp); +struct list *get_eisa_devlist(struct kernel *kp); +struct list *get_eisa_device(struct uc_eisa *ep); +void eisa_free(struct kernel *kp, int writeback); + +/* uc_pci.c */ +void get_pci_info(struct kernel *kp); +struct list *get_pci_devlist(struct kernel *kp); +struct list *get_pci_device(struct uc_pci *pp); +void pci_free(struct kernel *kp, int writeback); + +/* uc_scsi.c */ +void get_scsi_info(struct kernel *kp); +struct list *get_scsi_devlist(struct kernel *kp); +struct list *get_scsi_device(struct uc_scsi *sp); +int scsi_setdev(struct kernel *kp, struct list *list); +void scsi_free(struct kernel *kp, int writeback); + +/* uc_kmem.c */ +u_int kv_to_u(struct kernel *kp, u_int adr, u_int size); +u_int kv_dref_p(struct kernel *kp, u_int adr); +u_int kv_dref_t(struct kernel *kp, u_int adr); + +/* uc_list.c */ +struct list *list_new(void); +void list_append(struct list *list, char *item); +void list_print(struct list *list, char *separator); +void list_destroy(struct list *list); + +/* end of userconfig/uc_main.h */ diff --git a/release/sysinstall/uc_pci.c b/release/sysinstall/uc_pci.c new file mode 100644 index 000000000000..0b213123b482 --- /dev/null +++ b/release/sysinstall/uc_pci.c @@ -0,0 +1,122 @@ +/*************************************************** + * file: userconfig/uc_pci.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id$ + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <nlist.h> +#include <pci/pcivar.h> + +#include "uc_main.h" + +void +get_pci_info(struct kernel *kp){ + int i, total; + u_int *ls, ndev; + struct pci_device *pd; + struct uc_pci *pp,*ppc; + char *name; + + if(kp->nl[PCI_SET].n_value){ + pp = ppc = (struct uc_pci *)malloc(sizeof(struct uc_pci)); + ls=(u_int *)kv_to_u(kp, kp->nl[PCI_SET].n_value, sizeof(u_int)*30); /* XXX, size? */ + ndev=ls[0]; + total=0; + for(i=1;i<(ndev+1);i++){ + pp=(struct uc_pci *)realloc(pp, sizeof(struct uc_pci)*(total+1)); + ppc = pp+(total); + pd=(struct pci_device *)kv_to_u(kp, ls[i], sizeof(struct pci_device)); + /* don't try to dereference a null pointer */ + name=pd->pd_name ? (char *)kv_to_u(kp, (u_int)pd->pd_name, 10) : + pd->pd_name; /* XXX, size? */ + if(kp->incore){ + int u, k; + /* incore, we can get unit numbers */ + + u=kv_dref_p(kp, (u_int)pd->pd_count); + for(k=0;k<u;k++,total++){ + pp=(struct uc_pci *)realloc(pp, sizeof(struct uc_pci)*(total+1)); + ppc = pp+(total); + asprintf(&ppc->device, "%s%d", name, k); + } + free(pd); + if(name) + free(name); + } else { + asprintf(&ppc->device, "%s?", name); + total++; + } + } + pp=(struct uc_pci *)realloc(pp, sizeof(struct uc_pci)*(total+1)); + ppc = pp+(total); + bzero(ppc, sizeof(struct uc_pci)); + kp->pci_devp=pp; + } else { + kp->pci_devp=(struct uc_pci *)0; + } +} + + +struct list * +get_pci_devlist(struct kernel *kp){ + struct list *dl; + struct uc_pci *kdp; + + dl=list_new(); + + for(kdp=kp->pci_devp; kdp->device; kdp++){ + list_append(dl, kdp->device); + } + return(dl); +} + + +struct list * +get_pci_device(struct uc_pci *pp){ + struct list *list; + list=list_new(); + + list_append(list, pp->device); + + return(list); +} + +void +pci_free(struct kernel *kp, int writeback){ + struct uc_pci *pp; + + for(pp=kp->pci_devp;pp->device;pp++){ + free(pp->device); + } + free(kp->pci_devp); + kp->pci_devp=0; + +} + +/* end of userconfig/uc_pci.c */ diff --git a/release/sysinstall/uc_scsi.c b/release/sysinstall/uc_scsi.c new file mode 100644 index 000000000000..2227bb335add --- /dev/null +++ b/release/sysinstall/uc_scsi.c @@ -0,0 +1,477 @@ +/*************************************************** + * file: userconfig/uc_scsi.c + * + * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. The name of the author may not be used to endorse or promote products + * derived from this software withough specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id$ + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <nlist.h> +#include <scsi/scsiconf.h> + +#include "uc_main.h" + +/* this stuff is hidden under an #ifdef KERNEL in scsiconf.h */ +#define SCCONF_UNSPEC 255 +#define SCCONF_ANY 254 + +struct scsi_ctlr_config { + int scbus; + char *driver; + int unit; + int bus; +}; + +struct scsi_device_config { + char *name; /* SCSI device name (sd, st, etc) */ + int unit; /* desired device unit */ + int cunit; /* Controller unit */ + int target; /* SCSI ID (target) */ + int lun; /* SCSI lun */ + int flags; /* Flags from config */ +}; + +/* module prototypes */ +static void get_sl_info(struct kernel *kp, struct uc_scsi *spc, + struct scsi_link *sl); + +void +get_scsi_info(struct kernel *kp){ + int i, j, k; + + if(kp->incore){ + if (kp->nl[SCSI_BUSSES].n_value) { + u_int *es, *sba; + struct scsibus_data *sbd; + int nsbd, nscsibus, total; + struct uc_scsi *sp, *spc; + struct uc_scsibus *sbp, *sbpc; + struct scsi_link *s_l; + u_int *slp; + char *temp; + struct scsi_device *sdev; + u_int t; + char name[10]; + + sp=(struct uc_scsi*)malloc(sizeof(struct uc_scsi)); + total=0; + sbp=(struct uc_scsibus*)malloc(sizeof(struct uc_scsibus)); + nscsibus=0; + + es=(u_int *)kv_to_u(kp, kv_dref_p(kp,kp->nl[SCSI_BUSSES].n_value), + sizeof(u_int)*2); + nsbd=es[0]; + sba=(u_int *)kv_to_u(kp, es[1], sizeof(u_int)*nsbd); + free(es); + + for(i=0;i<nsbd;i++){ + if(sba[i]){ + /* first grab the adapter info */ + sbd=(struct scsibus_data *)kv_to_u(kp, sba[i], + sizeof(struct scsibus_data)); + sbp=(struct uc_scsibus *)realloc(sbp, sizeof(struct uc_scsibus)* + (nscsibus+1)); + + sp=(struct uc_scsi*)realloc(sp, (sizeof(struct uc_scsi)*(total+1))); + spc=sp+total; + s_l=(struct scsi_link*)kv_to_u(kp, (u_int)sbd->adapter_link, + sizeof(struct scsi_link)); + get_sl_info(kp, spc, s_l); + free(s_l); + + sbpc=sbp+nscsibus; + sbpc->bus_no=nscsibus; + nscsibus++; + sscanf(spc->device, "%[a-z]%d", name, &sbpc->unit); + asprintf(&sbpc->driver, "%s", name); + + total++; + t=kv_dref_p(kp, (u_int)sbd->sc_link); + t=(u_int)sbd->sc_link; + for(j=0;j<8;j++) { + slp=(u_int *)kv_to_u(kp, t+(j*8*sizeof(u_int)), /* XXX */ + (sizeof(u_int)*sbd->maxlun)); + for(k=0;k<sbd->maxlun && slp[k]; k++){ + struct scsi_link *slt; + sp=(struct uc_scsi*)realloc(sp, + (sizeof(struct uc_scsi)*(total+1))); + spc=sp+total; + slt=(struct scsi_link*)kv_to_u(kp, slp[k], + sizeof(struct scsi_link)); + get_sl_info(kp, spc, slt); + free(slt); + spc->config=(struct scsi_device_config *)0; + total++; + } + free(slp); + } + free(sbd); + } + } + /* now stuff in the list of drivers configured in the system */ + t=kv_dref_p(kp, kp->nl[SCSI_LIST].n_value); + while(t) { + sdev=(struct scsi_device*)kv_to_u(kp, t, sizeof(struct scsi_device)); + sp=(struct uc_scsi*)realloc(sp, (sizeof(struct uc_scsi)*(total+1))); + spc=sp+total; + total++; + temp=(char *)kv_to_u(kp, (u_int)sdev->name, 10); + asprintf(&spc->device, "%s*", temp); + free(temp); + asprintf(&spc->adapter, "any"); + + spc->target=SCCONF_ANY; + spc->lun=SCCONF_ANY; + + temp=(char *)kv_to_u(kp, (u_int)sdev->desc, 20); + asprintf(&spc->desc, "%s", temp); + free(temp); + + spc->config=(struct scsi_device_config *)0; + + t=(u_int)sdev->next; + free(sdev); + } + /* slap on the terminators */ + sp=(struct uc_scsi*)realloc(sp, (sizeof(struct uc_scsi)*(total+1))); + spc=sp+total; + bzero(spc, sizeof(struct uc_scsi)); + + sbp=(struct uc_scsibus *)realloc(sbp, sizeof(struct uc_scsibus)* + (nscsibus+1)); + sbpc=sbp+nscsibus; + bzero(sbpc, sizeof(struct uc_scsibus)); + + kp->scsi_devp=sp; + kp->scsibus_devp=sbp; + } else { /* no symbol, and incore, no scsi */ + kp->scsi_devp=(struct uc_scsi *)0; + kp->scsibus_devp=(struct uc_scsibus *)0; + } + } else { /* on disk */ + + if (kp->nl[SCSI_CINIT].n_value || kp->nl[SCSI_DINIT].n_value || + kp->nl[SCSI_TINIT].n_value) { + int total=0; + struct uc_scsi *sp, *spc; + struct scsi_ctlr_config *sctl_c; + struct scsi_device_config *sdev_c; + struct scsi_device *sdev; + + struct uc_scsibus *uc_scbus, *uc_scbusc; + + u_int t, ctrl_total; + char *temp; + u_int initp; + + spc=sp=(struct uc_scsi*)malloc(sizeof(struct uc_scsi)); + total=0; + ctrl_total=0; + uc_scbus = NULL; /* Just prevent unused warning */ + + /* static kernel, we'll first get the wired controllers/devices */ + if((t=kp->nl[SCSI_CINIT].n_value)){ + /* get controller info*/ + sctl_c=(struct scsi_ctlr_config*)kv_to_u(kp, t, sizeof(struct scsi_ctlr_config)); + uc_scbus=(struct uc_scsibus*)malloc(sizeof(struct uc_scsibus)); + + while(sctl_c->driver){ + + /* remember the bus info, for later */ + uc_scbus=(struct uc_scsibus*)realloc(uc_scbus, sizeof(struct uc_scsibus)*(ctrl_total+1)); + uc_scbusc=uc_scbus+ctrl_total; + uc_scbusc->bus_no=sctl_c->scbus; + temp=(char *)kv_to_u(kp, (u_int)sctl_c->driver, 20); + uc_scbusc->driver=temp; + uc_scbusc->unit=sctl_c->unit; + uc_scbusc->config=sctl_c; + + sp=(struct uc_scsi*)realloc(sp,sizeof(struct uc_scsi)*(total+1)); + spc=sp+total; + asprintf(&spc->device, "%s%d", temp, sctl_c->unit); + asprintf(&spc->adapter, "%s%d", temp, sctl_c->unit); + spc->target=0; + spc->lun=0; + spc->modified=0; + asprintf(&spc->desc, "%s", temp); + total++; + ctrl_total++; + sctl_c++; + } + } + + if((t=kp->nl[SCSI_DINIT].n_value)){ + /* get wired device info */ + sdev_c=(struct scsi_device_config*)kv_to_u(kp, t, sizeof(struct scsi_device_config)); + while(sdev_c->name){ + sp=(struct uc_scsi*)realloc(sp, sizeof(struct uc_scsi)*(total+1)); + spc=sp+total; + temp=(char*)kv_to_u(kp, (u_int)sdev_c->name, 10); + asprintf(&spc->device, "%s%d", temp, sdev_c->unit); + /* figure out controller */ + if(sdev_c->cunit == SCCONF_ANY){ + asprintf(&spc->adapter, "any"); + } else { + if(ctrl_total){ + for(i=0;i<ctrl_total;i++){ + if(sdev_c->cunit==uc_scbus[i].bus_no){ + asprintf(&spc->adapter, "%s%d", + uc_scbus[i].driver, uc_scbus[i].unit); + break; + } + } + if(i==ctrl_total) { /* made it through the whole list */ + asprintf(&spc->adapter, "any?"); + } + } else { + asprintf(&spc->adapter, "any?"); + } + } + spc->target= sdev_c->target; + spc->lun= sdev_c->lun; + spc->desc=(char *)0; /* filled in later */ + spc->config=sdev_c; + spc->modified=0; + sdev_c++; + total++; + } + } + kp->scsibus_devp=uc_scbus; + + if((t=kp->nl[SCSI_TINIT].n_value)) { + /* WARNING: This is teetering on the brink of stupid. + + this ugly little hack only works because the + <scsi driver>init routines are macro-generated, + so the offset of the device pointers will be + the same (hopefully). + */ + + while((initp=kv_dref_p(kp,t))) { + u_int tadr; + u_int sl; + + t+=4; + tadr=kv_dref_t(kp, initp+4); /* offset in *.text* */ + sdev=(struct scsi_device*)kv_to_u(kp, tadr, sizeof(struct scsi_device)); + sp=(struct uc_scsi*)realloc(sp, (sizeof(struct uc_scsi)*(total+1))); + spc=sp+total; + total++; + temp=(char *)kv_to_u(kp, (u_int)sdev->name, 10); + asprintf(&spc->device, "%s*", temp); + + asprintf(&spc->adapter, "any"); + + spc->target=SCCONF_ANY; + spc->lun=SCCONF_ANY; + spc->modified=0; + temp=(char *)kv_to_u(kp, (u_int)sdev->desc, 20); + asprintf(&spc->desc, "%s", temp); + /* now try to fill in any device descriptions from above */ + sl=strlen(spc->device)-1; + for(i=0;i<(total-1);i++){ /* don't look at this device */ + struct uc_scsi *usp; + + usp=sp+i; + if(strncmp(usp->device, spc->device, sl)==0 && usp->desc==0) { + asprintf(&usp->desc, "%s", spc->desc); + } + } + } + if(total){ + sp=(struct uc_scsi*)realloc(sp, (sizeof(struct uc_scsi)*(total+1))); + spc=sp+total; + bzero(spc, sizeof(struct uc_scsi)); + kp->scsi_devp=sp; + } else { + free(sp); + kp->scsi_devp=(struct uc_scsi *)0; + } + } + } else { + kp->scsi_devp=(struct uc_scsi *)0; + } + } +} + +struct list * +get_scsi_devlist(struct kernel *kp){ + struct list *dl; + struct uc_scsi *kdp; + + dl=list_new(); + + for(kdp=kp->scsi_devp; kdp->device; kdp++){ + list_append(dl, kdp->device); + } + + return(dl); +} + +struct list * +get_scsi_device(struct uc_scsi *sp){ + struct list *list; + char *tmp; + + list=list_new(); + + list_append(list, sp->device); + list_append(list, sp->adapter); + + asprintf(&tmp, "%d", sp->target ); + list_append(list, tmp); + free(tmp); + + asprintf(&tmp, "%d", sp->lun ); + list_append(list, tmp); + free(tmp); + + list_append(list, sp->desc); + + return(list); +} + +/* given a scsi_link and a uc_scsi pointer, fill it in */ +static void +get_sl_info(struct kernel *kp, struct uc_scsi *spc, struct scsi_link *sl){ + + struct scsi_adapter *sadp; + struct scsi_device *sdev; + char *temp; + + sadp=(struct scsi_adapter*)kv_to_u(kp, (u_int)sl->adapter, + sizeof(struct scsi_adapter)); + + sdev=(struct scsi_device*)kv_to_u(kp, (u_int)sl->device, + sizeof(struct scsi_device)); + + temp=(char *)kv_to_u(kp, (u_int)sdev->name, 20); + asprintf(&spc->device, "%s%d", temp, sl->dev_unit); + free(temp); + temp=(char *)kv_to_u(kp, (u_int)sadp->name, 20); + asprintf(&spc->adapter, "%s%d", temp, sl->adapter_unit); + free(temp); + spc->target = sl->target; + spc->lun = sl->lun; + + temp=(char *)kv_to_u(kp, (u_int)sdev->desc, 30); + asprintf(&spc->desc, "%s", temp); + free(temp); + +} + +int +scsi_setdev(struct kernel *kp, struct list *list){ + int r=1, bus_valid=0; + struct uc_scsi *sp; + struct uc_scsibus *sbp; + char *t; + + if(kp->scsi_devp) + for(sp=kp->scsi_devp;sp->device;sp++){ + if(strcmp(list->av[0], sp->device)==0){ + for(sbp=kp->scsibus_devp;sbp->driver; sbp++){ + asprintf(&t, "%s%d", sbp->driver, sbp->unit); + if(strcmp(list->av[1], t)==0) { + bus_valid=1; + } + free(t); + } + if(bus_valid){ + sp->modified=1; + free(sp->adapter); + asprintf(&sp->adapter, "%s", list->av[1]); + sp->target = strtol(list->av[2], (char **)NULL, 0); + sp->lun = strtol(list->av[3], (char **)NULL, 0); + r=0; + goto done; + } else { + r=2; + } + } + } +done: + return(r); +} + +void +scsi_free(struct kernel *kp, int writeback){ + struct uc_scsi *sp; + struct uc_scsibus *sbp; + char *t; + int scbus, i; + + for(sp=kp->scsi_devp; sp->device; sp++){ + if((!kp->incore) && sp->modified && writeback) { + /* save info */ + + /* I'm not sure this is necessary */ +#if 0 + sscanf(sp->device, "%[a-z]%d", name, &unit); + sp->config->unit= unit; +#endif + + /* figger out the controller, which may have changed */ + scbus=-1; + for(sbp=kp->scsibus_devp, i=0;sbp->driver; sbp++,i++){ + asprintf(&t, "%s%d", sbp->driver, sbp->unit); + if(strcmp(sp->adapter, t)==0) { + scbus=i; + } + free(t); + } + + /* if we fell through, don't change anything */ + if(scbus!=-1){ + sp->config->cunit= scbus; + } + + sp->config->target= sp->target; + sp->config->lun= sp->lun; + /* sp->config->flags= ; XXX this should be here*/ + + } + free(sp->device); + free(sp->adapter); + free(sp->desc); + } + free(kp->scsi_devp); + kp->scsi_devp=(struct uc_scsi *)0; + /* now free the bus info */ + if(kp->incore){ + for(sbp=kp->scsibus_devp;sbp->driver; sbp++){ +/* fprintf(stderr, "sbp: 0x%x free(0x%x)\n", sbp, sbp->driver);*/ + free(sbp->driver); + } + } + + if (kp->scsibus_devp) + free(kp->scsibus_devp); + kp->scsibus_devp=(struct uc_scsibus *)0; +} + +/* end of userconfig/uc_scsi.c */ diff --git a/release/sysinstall/ufs.c b/release/sysinstall/ufs.c index 73c06676d6ce..8f61cbed3bda 100644 --- a/release/sysinstall/ufs.c +++ b/release/sysinstall/ufs.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: ufs.c,v 1.13 1998/09/14 19:14:11 jkh Exp $ + * $Id: ufs.c,v 1.12 1997/02/22 14:12:35 peter Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -45,5 +45,19 @@ FILE * mediaGetUFS(Device *dev, char *file, Boolean probe) { - return mediaGenericGet((char *)dev->private, file); + char buf[PATH_MAX]; + + if (isDebug()) + msgDebug("Request for %s from UFS\n", file); + snprintf(buf, PATH_MAX, "%s/%s", (char *)dev->private, file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "%s/dists/%s", (char *)dev->private, file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "%s/%s/%s", (char *)dev->private, variable_get(VAR_RELNAME), file); + if (file_readable(buf)) + return fopen(buf, "r"); + snprintf(buf, PATH_MAX, "%s/%s/dists/%s", (char *)dev->private, variable_get(VAR_RELNAME), file); + return fopen(buf, "r"); } diff --git a/release/sysinstall/version.h b/release/sysinstall/version.h new file mode 100644 index 000000000000..b42c26e8937d --- /dev/null +++ b/release/sysinstall/version.h @@ -0,0 +1 @@ +#define RELEASE_NAME "__RELEASE" diff --git a/release/scripts/tar.sh b/release/tar.sh index 45b96e97bf57..89e6d0fd7f32 100644 --- a/release/scripts/tar.sh +++ b/release/tar.sh @@ -32,7 +32,7 @@ # # -# $Id: tar.sh,v 1.3 1997/02/22 14:10:30 peter Exp $ +# $Id$ # archive=${TAPE:-/dev/rst0} diff --git a/release/texts/RELNOTES.TXT b/release/texts/RELNOTES.TXT deleted file mode 100644 index 68b1997657aa..000000000000 --- a/release/texts/RELNOTES.TXT +++ /dev/null @@ -1,574 +0,0 @@ - RELEASE NOTES - FreeBSD Release 3.0-SNAP - -This is a 3.0-CURRENT release SNAPshot of FreeBSD, currently -on its way to the next release after 3.0-RELEASE, which was -released on October 16th, 1998. - -Any installation failures or crashes should be reported by using the -send-pr command (those preferring a WEB based interface can also see -http://www.freebsd.org/send-pr.html). - -For information about FreeBSD and the layout of the 3.0-RELEASE -directory (especially if you're installing from floppies!), see -ABOUT.TXT. For installation instructions, see the INSTALL.TXT and -HARDWARE.TXT files. - -For the latest of these 3.0-current snapshots, you should always see: - - ftp://current.freebsd.org/pub/FreeBSD - -If you wish to get the latest post-3.0-RELEASE technology. - -Table of contents: ------------------- -1. What's new since 3.0-RELEASE - 1.1 KERNEL CHANGES - 1.2 SECURITY FIXES - 1.3 USERLAND CHANGES - -2. Supported Configurations - 2.1 Disk Controllers - 2.2 Ethernet cards - 2.3 ATM - 2.4 Misc - -3. Obtaining FreeBSD - 3.1 FTP/Mail - 3.2 CDROM - -4. Upgrading from previous releases of FreeBSD - -5. Reporting problems, making suggestions, submitting code -6. Acknowledgements - - -1. What's new since 3.0-RELEASE ---------------------------------- -All changes described here are unique to the 3.0 branch unless -specifically marked as [MERGED] features. - -1.1. KERNEL CHANGES -------------------- - -Added driver support for fast ethernet adapters based on the -RealTek 8129/8139 and Accton MPX 5030/5038 chips, including the -SMC EZ Card 10/100 PCI 1211-TX. - -Added driver support for Lite-On PNIC-based fast ethernet cards -including the LinkSys LNE100TX, NetGear FA310TX Rev. D1 and -Matrox FastNIC 10/100. - -Added driver support for fast ethernet adapters based on the -Macronix 98713, 98713A, 98715, 98715A and 98725 chips. - -Added driver support for fast ethernet adapters based on the -Winbond W89C840F chip. - -Added driver support for fast ethernet adapters based on the -VIA Technologies VT3043 "Rhine I" and VT86C100A "Rhine II" chips. - -Added driver support for pocket ethernet adapters based on the -RealTek RTL 8002 chip. - -Added driver support for fast ethernet adapters based on the -ASIX Electronics AX88140A chip. - -Integrated isdn4bsd from the isdn4bsd project group into the -regular system. - - -1.2. SECURITY FIXES -------------------- - -1.3. USERLAND CHANGES ---------------------- - -When using ipfw(8) with the syntax of the first synopsis line from the -man page (i. e., with a rules file), it can now optionally be run through -a preprocessor (m4, cpp) so it's possible to use symbolic names and other -constructs that make maintenance easier. - - -2. Supported Configurations ---------------------------- -FreeBSD currently runs on a wide variety of ISA, VLB, EISA and PCI bus -based PC's, ranging from 386sx to Pentium class machines (though the -386sx is not recommended). Support for generic IDE or ESDI drive -configurations, various SCSI controller, network and serial cards is -also provided. - -What follows is a list of all peripherals currently known to work with -FreeBSD. Other configurations may also work, we have simply not as yet -received confirmation of this. - - -2.1. Disk Controllers ---------------------- -WD1003 (any generic MFM/RLL) -WD1007 (any generic IDE/ESDI) -IDE -ATA - -Adaptec 1535 ISA SCSI controllers -Adaptec 154x series ISA SCSI controllers -Adaptec 174x series EISA SCSI controller in standard and enhanced mode. -Adaptec 274X/284X/2920C/294x/2950/3940/3950 (Narrow/Wide/Twin) series -EISA/VLB/PCI SCSI controllers. -Adaptec AIC7850, AIC7860, AIC7880, AIC789x, on-board SCSI controllers. - -AdvanSys SCSI controllers (all models). - -BusLogic MultiMaster controllers: - -[ Please note that BusLogic/Mylex "Flashpoint" adapters are NOT yet supported ] - -BusLogic MultiMaster "W" Series Host Adapters: - BT-948, BT-958, BT-958D -BusLogic MultiMaster "C" Series Host Adapters: - BT-946C, BT-956C, BT-956CD, BT-445C, BT-747C, BT-757C, BT-757CD, BT-545C, - BT-540CF -BusLogic MultiMaster "S" Series Host Adapters: - BT-445S, BT-747S, BT-747D, BT-757S, BT-757D, BT-545S, BT-542D, BT-742A, - BT-542B -BusLogic MultiMaster "A" Series Host Adapters: - BT-742A, BT-542B - -AMI FastDisk controllers that are true BusLogic MultiMaster clones are also -supported. - -DPT SmartCACHE Plus, SmartCACHE III, SmartRAID III, SmartCACHE IV and -SmartRAID IV SCSI/RAID controllers are supported. The DPT SmartRAID/CACHE V -is not yet supported. - -SymBios (formerly NCR) 53C810, 53C810a, 53C815, 53C820, 53C825a, -53C860, 53C875, 53C875j, 53C885, 53C895 and 53C896 PCI SCSI controllers: - ASUS SC-200 - Data Technology DTC3130 (all variants) - NCR cards (all) - Symbios cards (all) - Tekram DC390W, 390U and 390F - Tyan S1365 - - -QLogic 1020, 1040, 1040B and 2100 SCSI and Fibre Channel Adapters - -DTC 3290 EISA SCSI controller in 1542 emulation mode. - -With all supported SCSI controllers, full support is provided for -SCSI-I & SCSI-II peripherals, including hard disks, optical disks, -tape drives (including DAT and 8mm Exabyte), medium changers, processor -target devices and CDROM drives. WORM devices that support CDROM commands -are supported for read-only access by the CDROM driver. WORM/CD-R/CD-RW -writing support is provided by cdrecord, which is in the ports tree. - -The following CD-ROM type systems are supported at this time: -(cd) SCSI interface (also includes ProAudio Spectrum and - SoundBlaster SCSI) -(matcd) Matsushita/Panasonic (Creative SoundBlaster) proprietary - interface (562/563 models) -(scd) Sony proprietary interface (all models) -(wcd) ATAPI IDE interface - -The following drivers were supported under the old SCSI subsystem, but are -NOT YET supported under the new CAM SCSI subsystem: - - Tekram DC390 and DC390T controllers (maybe other cards based on the - AMD 53c974 as well). - - NCR5380/NCR53400 ("ProAudio Spectrum") SCSI controller. - - UltraStor 14F, 24F and 34F SCSI controllers. - - Seagate ST01/02 SCSI controllers. - - Future Domain 8xx/950 series SCSI controllers. - - WD7000 SCSI controller. - - Adaptec 1510 series ISA SCSI controllers (not for bootable devices) - Adaptec 152x series ISA SCSI controllers - Adaptec AIC-6260 and AIC-6360 based boards, which includes the AHA-152x - and SoundBlaster SCSI cards. - - [ Note: There is work-in-progress to port the AIC-6260/6360 and - UltraStor drivers to the new CAM SCSI framework, but no estimates on - when or if they will be completed. ] - -Unmaintained drivers, they might or might not work for your hardware: - - Floppy tape interface (Colorado/Mountain/Insight) - - (mcd) Mitsumi proprietary CD-ROM interface (all models) - -2.2. Ethernet cards -------------------- -Allied-Telesis AT1700 and RE2000 cards - -AMD PCnet/PCI (79c970 & 53c974 or 79c974) - -SMC Elite 16 WD8013 ethernet interface, and most other WD8003E, -WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT and WD8013EBT -based clones. SMC Elite Ultra. SMC Etherpower II. - -RealTek 8129/8139 fast ethernet NICs including the following: - Allied Telesyn AT2550 - Allied Telesyn AT2500TX - Genius GF100TXR (RTL8139) - NDC Communications NE100TX-E - OvisLink LEF-8129TX - OvisLink LEF-8139TX - Netronix Inc. EA-1210 NetEther 10/100 - KTX-9130TX 10/100 Fast Ethernet - Accton "Cheetah" EN1027D (MPX 5030/5038; RealTek 8139 clone?) - SMC EZ Card 10/100 PCI 1211-TX - -Lite-On 82c168/82c169 PNIC fast ethernet NICs including the following: - LinkSys EtherFast LNE100TX - NetGear FA310-TX Rev. D1 - Matrox FastNIC 10/100 - -Macronix 98713, 98713A, 98715, 98715A and 98725 fast ethernet NICs - NDC Communications SFA100A (98713A) - CNet Pro120A (98713 or 98713A) - CNet Pro120B (98715) - SVEC PN102TX (98713) - -Winbond W89C840F fast ethernet NICs including the following: - Trendware TE100-PCIE - -VIA Technologies VT3043 "Rhine I" and VT86C100A "Rhine II" fast ethernet -NICs including the following: - Hawking Technologies PN102TX - D-Link DFE530TX - -Texas Instruments ThunderLAN PCI NICs, including the following: - Compaq Netelligent 10, 10/100, 10/100 Proliant, 10/100 Dual-Port - Compaq Netelligent 10/100 TX Embedded UTP, 10 T PCI UTP/Coax, 10/100 TX UTP - Compaq NetFlex 3P, 3P Integrated, 3P w/ BNC - Olicom OC-2135/2138, OC-2325, OC-2326 10/100 TX UTP - -ASIX Electronics AX88140A PCI NICs, including the following: - Alfa Inc. GFC2204 - CNet Pro110B - -DEC EtherWORKS III NICs (DE203, DE204, and DE205) -DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422) -DEC DC21040, DC21041, or DC21140 based NICs (SMC Etherpower 8432T, DE245, etc) -DEC FDDI (DEFPA/DEFEA) NICs - -Fujitsu MB86960A/MB86965A - -HP PC Lan+ cards (model numbers: 27247B and 27252A). - -Intel EtherExpress 16 -Intel EtherExpress Pro/10 -Intel EtherExpress Pro/100B PCI Fast Ethernet - -Isolan AT 4141-0 (16 bit) -Isolink 4110 (8 bit) - -Novell NE1000, NE2000, and NE2100 ethernet interface. - -3Com 3C501 cards - -3Com 3C503 Etherlink II - -3Com 3c505 Etherlink/+ - -3Com 3C507 Etherlink 16/TP - -3Com 3C509, 3C579, 3C589 (PCMCIA), 3C590/592/595/900/905/905B PCI and EISA -(Fast) Etherlink III / (Fast) Etherlink XL - -3Com 3c980 Fast Etherlink XL server adapter - -Toshiba ethernet cards - -Crystal Semiconductor CS89x0-based NICs, including: - IBM Etherjet ISA - -PCMCIA ethernet cards from IBM and National Semiconductor are also -supported. - -Note that NO token ring cards are supported at this time as we're -still waiting for someone to donate a driver for one of them. Any -takers? - -2.3 ATM -------- - - o ATM Host Interfaces - - FORE Systems, Inc. PCA-200E ATM PCI Adapters - - Efficient Networks, Inc. ENI-155p ATM PCI Adapters - - o ATM Signalling Protocols - - The ATM Forum UNI 3.1 signalling protocol - - The ATM Forum UNI 3.0 signalling protocol - - The ATM Forum ILMI address registration - - FORE Systems's proprietary SPANS signalling protocol - - Permanent Virtual Channels (PVCs) - - o IETF "Classical IP and ARP over ATM" model - - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - - RFC 1577, "Classical IP and ARP over ATM" - - RFC 1626, "Default IP MTU for use over ATM AAL5" - - RFC 1755, "ATM Signaling Support for IP over ATM" - - RFC 2225, "Classical IP and ARP over ATM" - - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, - "A Distributed ATMARP Service Using SCSP" - - o ATM Sockets interface - -2.4. Misc ---------- - -AST 4 port serial card using shared IRQ. - -ARNET 8 port serial card using shared IRQ. -ARNET (now Digiboard) Sync 570/i high-speed serial. - -Boca BB1004 4-Port serial card (Modems NOT supported) -Boca IOAT66 6-Port serial card (Modems supported) -Boca BB1008 8-Port serial card (Modems NOT supported) -Boca BB2016 16-Port serial card (Modems supported) - -Comtrol Rocketport card. - -Cyclades Cyclom-y Serial Board. - -STB 4 port card using shared IRQ. - -SDL Communications Riscom/8 Serial Board. -SDL Communications RISCom/N2 and N2pci high-speed sync serial boards. - -Stallion multiport serial boards: EasyIO, EasyConnection 8/32 & 8/64, -ONboard 4/16 and Brumby. - -Adlib, SoundBlaster, SoundBlaster Pro, ProAudioSpectrum, Gravis UltraSound -and Roland MPU-401 sound cards. (snd driver) - -Most ISA audio codecs manufactured by Crystal Semiconductors, OPTi, Creative -Labs, Avance, Yamaha and ENSONIQ. (pcm driver) - -Connectix QuickCam -Matrox Meteor Video frame grabber -Creative Labs Video Spigot frame grabber -Cortex1 frame grabber -Hauppauge Wincast/TV boards (PCI) -STB TV PCI -Intel Smart Video Recorder III -Various Frame grabbers based on Brooktree Bt848 chip. - -HP4020, HP6020, Philips CDD2000/CDD2660 and Plasmon CD-R drives. - -PS/2 mice - -Standard PC Joystick - -X-10 power controllers - -GPIB and Transputer drivers. - -Genius and Mustek hand scanners. - -Xilinx XC6200 based reconfigurable hardware cards compatible with -the HOT1 from Virtual Computers (www.vcc.com) - -Support for Dave Mills experimental Loran-C receiver. - -FreeBSD currently does NOT support IBM's microchannel (MCA) bus. - -3. Obtaining FreeBSD --------------------- - -You may obtain FreeBSD in a variety of ways: - -3.1. FTP/Mail -------------- - -You can ftp FreeBSD and any or all of its optional packages from -`ftp.freebsd.org' - the official FreeBSD release site. - -For other locations that mirror the FreeBSD software see the file -MIRROR.SITES. Please ftp the distribution from the site closest (in -networking terms) to you. Additional mirror sites are always welcome! -Contact freebsd-admin@FreeBSD.org for more details if you'd like to -become an official mirror site. - -If you do not have access to the Internet and electronic mail is your -only recourse, then you may still fetch the files by sending mail to -`ftpmail@ftpmail.vix.com' - putting the keyword "help" in your message -to get more information on how to fetch files using this mechanism. -Please do note, however, that this will end up sending many *tens of -megabytes* through the mail and should only be employed as an absolute -LAST resort! - - -3.2. CDROM ----------- - -FreeBSD 3.0-RELEASE and 2.2.x-RELEASE CDs may be ordered on CDROM from: - - Walnut Creek CDROM - 4041 Pike Lane, Suite D - Concord CA 94520 - 1-800-786-9907, +1-925-674-0783, +1-925-674-0821 (FAX) - -Or via the Internet from orders@cdrom.com or http://www.cdrom.com. -Their current catalog can be obtained via ftp from: - - ftp://ftp.cdrom.com/cdrom/catalog - -Cost per -RELEASE CD is $39.95 or $24.95 with a FreeBSD subscription. -FreeBSD SNAPshot CDs, when available, are $39.95 or $14.95 with a -FreeBSD-SNAP subscription (-RELEASE and -SNAP subscriptions are entirely -separate). With a subscription, you will automatically receive updates as -they are released. Your credit card will be billed when each disk is -shipped and you may cancel your subscription at any time without further -obligation. - -Shipping (per order not per disc) is $5 in the US, Canada or Mexico -and $9.00 overseas. They accept Visa, Mastercard, Discover, American -Express or checks in U.S. Dollars and ship COD within the United -States. California residents please add 8.25% sales tax. - -Should you be dissatisfied for any reason, the CD comes with an -unconditional return policy. - - -4. Upgrading from previous releases of FreeBSD ----------------------------------------------- - -If you're upgrading from a previous release of FreeBSD, most likely -it's 2.2.x or 2.1.x (in some lesser number of cases) and some of the -following issues may affect you, depending of course on your chosen -method of upgrading. There are two popular ways of upgrading -FreeBSD distributions: - - o Using sources, via /usr/src - o Using sysinstall's (binary) upgrade option. - -In the case of using sources, there are simply two targets you need to -be aware of: The standard ``world'' target, which will upgrade a 2.x -system to 3.0, or the ``aout-to-elf'' target, which will both upgrade -and convert the system to ELF binary format. -In the case of using the binary upgrade option, the system will go -straight to 3.0/ELF but also populate the /<basepath>/lib/aout -directories for backwards compatibility with older binaries. - -In either case, going to ELF will mean that you'll have somewhat -smaller binaries and access to a lot more compiler goodies which have -been already been ported to other ELF environments (our older and -somewhat crufty a.out format being largely unsupported by most other -software projects), but on the downside you'll also have access to far -fewer ports and packages since many of those have not been adapted to -ELF yet. This will occur in time, but those who wish to retain access -to the greatest number of packages and 3rd-party binaries should -probably stick with a.out. - -The kernel is also still in a.out format at this time so that older -LKMs and library interfaces can continue to work, but a full -transition to ELF will occur at some point after 3.0-RELEASE. Those -wishing to generate dynamic kernel components should therefore use the -newer KLD mechanism rather than the older LKM format - the LKM format -is not long for this world and will soon be unsupported! - -[ other important upgrading notes should go here] - - -5. Reporting problems, making suggestions, submitting code. ------------------------------------------------------------ -Your suggestions, bug reports and contributions of code are always -valued - please do not hesitate to report any problems you may find -(preferably with a fix attached, if you can!). - -The preferred method to submit bug reports from a machine with -Internet mail connectivity is to use the send-pr command or use the CGI -script at http://www.freebsd.org/send-pr.html. Bug reports -will be dutifully filed by our faithful bugfiler program and you can -be sure that we'll do our best to respond to all reported bugs as soon -as possible. Bugs filed in this way are also visible on our WEB site -in the support section and are therefore valuable both as bug reports -and as "signposts" for other users concerning potential problems to -watch out for. - -If, for some reason, you are unable to use the send-pr command to -submit a bug report, you can try to send it to: - - freebsd-bugs@FreeBSD.org - -Note that send-pr itself is a shell script that should be easy to move -even onto a totally different system. We much prefer if you could use -this interface, since it make it easier to keep track of the problem -reports. However, before submitting, please try to make sure whether -the problem might have already been fixed since. - - -Otherwise, for any questions or tech support issues, please send mail to: - - freebsd-questions@FreeBSD.org - - -Additionally, being a volunteer effort, we are always happy to have -extra hands willing to help - there are already far more desired -enhancements than we'll ever be able to manage by ourselves! To -contact us on technical matters, or with offers of help, please send -mail to: - - freebsd-hackers@FreeBSD.org - - -Please note that these mailing lists can experience *significant* -amounts of traffic and if you have slow or expensive mail access and -are only interested in keeping up with significant FreeBSD events, you -may find it preferable to subscribe instead to: - - freebsd-announce@FreeBSD.org - - -All of the mailing lists can be freely joined by anyone wishing -to do so. Send mail to MajorDomo@FreeBSD.org and include the keyword -`help' on a line by itself somewhere in the body of the message. This -will give you more information on joining the various lists, accessing -archives, etc. There are a number of mailing lists targeted at -special interest groups not mentioned here, so send mail to majordomo -and ask about them! - - -6. Acknowledgements -------------------- - -FreeBSD represents the cumulative work of many dozens, if not -hundreds, of individuals from around the world who have worked very -hard to bring you this release. For a complete list of FreeBSD -project staffers, please see: - - http://www.freebsd.org/handbook/staff.html - -or, if you've loaded the doc distribution: - - file:/usr/share/doc/handbook/staff.html - - -Special mention to: - - The donors listed at http://www.freebsd.org/handbook/donors.html - - Justin M. Seger <jseger@freebsd.org> for almost single-handedly - converting the ports collection to ELF. - - Doug Rabson <dfr@freebsd.org> and John Birrell <jb@freebsd.org> - for making FreeBSD/alpha happen and to the NetBSD project for - substantial indirect aid. - - Peter Wemm <peter@freebsd.org> for the new kernel module system - (with substantial aid from Doug Rabson). - - And to the many thousands of FreeBSD users and testers all over the - world, without whom this release simply would not have been possible. - -We sincerely hope you enjoy this release of FreeBSD! - - The FreeBSD Project |
