From: s902113@minyos.xx.rmit.OZ.AU (Luke Mewburn)
Newsgroups: comp.unix.bsd
Subject: Re: [386BSD] Install w/ only 41 Meg?
Keywords: 386bsd, solution
Date: 24 Jan 93 07:38:43 GMT
Organization: RMIT Computer Centre
NNTP-Posting-Host: minyos.xx.rmit.oz.au

bkc@ernie.Princeton.EDU (Bruce Caruthers) writes:


>	Hi.  Now that I've finally figured out how to get my system to
>boot from the hard drive for 386bsd, and I have the binary distribution
>on disk (I take it that the mread utility doesn't handle 720K disks in
>a 1.44 drive too well?  I had to transfer them all to 1.2 disks, since
>I only had four unused 1.44's), I am trying to extract it.
>	I thought I had read somewhere, either on the net or in the
>docs I printed out (can't find it now), that I could install on a 40 Meg
>partition.  After having twenty minutes of errors from extract about
>"device full" followed by a reboot after a message which flashed past
>my screen in a blur before the reboot (as with just about every error
>message I have noticed), I figure it just ain't so.
>	Is there any way to do partial extracts at a time?  (Since it
>checks the files first, it won't let me do just some at a time)  Is
>there perhaps some way to manually extract the stuff from the
>bin01.[0-5][0-9] files?  (The docs say it is a form of cpio compressed
>format, so can I use cpio to do so, one or a few files at a time?)

>	Slowly getting frustrated (and $aving up for the larger
>additional drive),
>				-bkc


Here is a script I wrote to extract the src dist, but should be able
to extract the bindist AS LONG AS cpio/sh/expr/zcat, etc exist on the
boot floppy, AND you are extracting from the other floppy drive (cause
the script needs to run commands from somewhere :)

You'll have to change some of the parameters in it.

Try it out, and mail back any comments.

NOTE: the following commands need to be on the boot volume:
    sh, cd, rm, mcopy, cat, zcat, cpio, tee, expr


--- cut here --- file: unix/386bsd/dl/zextr
#!/bin/sh
#
# zextr	- extracts files from 386bsd distributions without need for
#	  temporary storage space
#
# Copyright (C) 1993, Luke Mewburn (zak@rmit.edu.au)
#
# You are free to distribute/modify under the conditions of the
# GNU license version 2 (or later).
#
# Version: 1.2 (930124)
#
# Needs the following commands:
#	sh, cd, rm, mcopy, cat, zcat, cpio, tee, expr
#
# To use:
#	- change the settings as described below
#	- copy all the files in ascending order to floppies
#	- insert first disk, and run script.
#	- when both the floppy and HD lights are out (i.e, the
#	  machine appears to do nothing for a few seconds), swap
#	  disks, and press return.
#
# -----------
#
# Set:
#  NUMPERDISK	# of files per disk		(eg. 5 / 1.2MB, 6 / 1.44MB )
#  PREFIX	prefix of the distrubtion	(eg, src01)
#  NUMFILES	# of files in distrubtion	(eg, 57)
#  CPIOCMD	cmd to use with cpio (with -iv)	(eg, t to list, adm to extract)
#  DRIVE	drive to mcopy from		(eg, a)
#  DESTDIR	where to extract to		(eg, /mnt for bin, / for src)
#  LOGFILE	where output is to be tee-ed to	(eg, /var/tmp/extractlog)
#
# -----------
#

NUMPERDISK=6
PREFIX=bin01
NUMFILES=57
#CPIOCMD=adm
CPIOCMD=t
DRIVE=a
DESTDIR=/mnt
LOGFILE=${DESTDIR}/${PREFIX}_zextr_log


#
# the core code follows
#

NPDminus1=`expr $NUMPERDISK - 1`
cd $DESTDIR

num=0
while [ $num -ne $NUMFILES ];
do
    if [ $num -lt 10 ]; then
	i=${PREFIX}.0$num
    else
	i=${PREFIX}.$num
    fi
    rm -f $i
    mcopy -n ${DRIVE}:$i . >/dev/null
    if [ $? -ne 0 ]; then
	echo 1>&2 Mcopy died on file $i, exitting.
	exit 10;
    fi
    cat $i
    if [ `expr $num % $NUMPERDISK` -eq $NPDminus1 ]; then
	read next > /dev/null
    fi
    rm -f $i
    num=`expr $num + 1`
done | zcat | cpio -iv$CPIOCMD #| tee -a $LOGFILE
--- cut here ---


>-- 
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>bkc@Princeton.EDU   Bruce Caruthers '93   Princeton University   bkc@Sgi.COM
>	"It is not death that a man should fear, but he should fear
>	 never beginning to live."		-- Marcus Aurelius


--
               Luke Mewburn [Zak]     zak@rmit.edu.au
   "Nobody dies on the Discworld, they just become dimensionally
    disadvantaged."         Terry Pratchett in alt.fan.pratchett
Newsgroups: comp.unix.bsd