Subversion Repositories SvarDOS

Rev

Rev 2183 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
134 mv_fox 1
#!/bin/bash
11 mv_fox 2
#
180 mateuszvis 3
# SvarDOS build script
791 mateusz.vi 4
# http://svardos.org
1698 mateusz.vi 5
#
1670 mateusz.vi 6
# Copyright (C) 2016-2024 Mateusz Viste
148 mv_fox 7
#
847 mateusz.vi 8
# This script builds floppy and CD images. It should be executed each time that
852 mateusz.vi 9
# a CORE package has been modified or the build script changed. This is usually
10
# done by the cron.sh script, itself called by a cron job.
11 mv_fox 11
#
854 mateusz.vi 12
# usage: ./build.sh outputdir buildver [noclean] > logfile
194 mateuszvis 13
#
2 mv_fox 14
 
11 mv_fox 15
### parameters block starts here ############################################
16
 
632 mateusz.vi 17
REPOROOT=`realpath ./packages`
1261 mateusz.vi 18
REPOROOTCORE=`realpath ./packages-core`
148 mv_fox 19
CUSTFILES=`realpath ./files`
2 mv_fox 20
 
171 mv_fox 21
GENISOIMAGE=''    # can be mkisofs, genisoimage or empty for autodetection
22
 
11 mv_fox 23
### parameters block ends here ##############################################
24
 
854 mateusz.vi 25
# look for mandatory output dir and build id
26
if [ "x$2" == "x" ] ; then
27
  echo "usage: build.sh outputdir buildver [noclean]"
836 mateusz.vi 28
  exit 1
29
fi
854 mateusz.vi 30
CURDATE="$2"
31
PUBDIR=`realpath "$1"`
836 mateusz.vi 32
 
33
CDROOT="$PUBDIR/tmp_cdroot.build"
34
FLOPROOT="$PUBDIR/tmp_floproot.build"
35
 
36
 
171 mv_fox 37
# auto-detect whether to use mkisofs or genisoimage
38
 
39
if [ "x$GENISOIMAGE" == "x" ] ; then
180 mateuszvis 40
mkisofs --help 2> /dev/null
171 mv_fox 41
if [ $? -eq 0 ] ; then
42
  GENISOIMAGE='mkisofs'
43
fi
44
fi
45
 
46
if [ "x$GENISOIMAGE" == "x" ] ; then
180 mateuszvis 47
genisoimage --help 2> /dev/null
171 mv_fox 48
if [ $? -eq 0 ] ; then
49
  GENISOIMAGE='genisoimage'
50
fi
51
fi
52
 
53
if [ "x$GENISOIMAGE" == "x" ] ; then
54
  echo "ERROR: neither genisoimage nor mkisofs was found on this system"
55
  exit 1
56
fi
57
 
180 mateuszvis 58
# abort if anything fails
59
set -e
134 mv_fox 60
 
61
 
1920 mateusz.vi 62
# list of packages to be part of CORE (always installed), sort them from
63
# biggest to smallest to try utilizing the floppy disk space as efficiently
64
# as possible. -L means 'dereference', ie. look at the filesize of the target
65
# file, not the symlink.
66
COREPKGS=`ls -1LS 'packages-core' | grep -o '^[a-zA-Z0-9]*'`
192 mateuszvis 67
 
68
 
69
 
246 mateuszvis 70
# prepares image for floppy sets of:
71
# $1 cylinders
72
# $2 heads (sides)
73
# $3 sectors per track
74
# $4 size
849 mateusz.vi 75
# $5 working directory (for temporary files etc)
1527 mateusz.vi 76
# $6 name of the set (eg. "1440k" or "1440k-EN")
1750 mateusz.vi 77
# $7 list of packages
78
# $8 where to put a copy of the image (optional)
194 mateuszvis 79
function prep_flop {
1527 mateusz.vi 80
  WORKDIR="$5/$6"
1750 mateusz.vi 81
  LIST=$7
2168 mateusz.vi 82
  DISKPREFIX="svdos-$6-disk"
849 mateusz.vi 83
  mkdir "$WORKDIR"
2168 mateusz.vi 84
  mformat -C -t $1 -h $2 -s $3 -v $CURDATE -B "$CUSTFILES/floppy.mbr" -i "$WORKDIR/$DISKPREFIX-1.img"
2167 mateusz.vi 85
 
86
  # copy basic files (installer, startup files...)
2168 mateusz.vi 87
  mcopy -sQm -i "$WORKDIR/$DISKPREFIX-1.img" "$FLOPROOT/"* ::/
196 mateuszvis 88
 
2167 mateusz.vi 89
  # generate the INSTALL.LST file
90
  for pkg in $7 ; do
91
    echo "$pkg" >> "$WORKDIR/install.lst"
92
  done
2168 mateusz.vi 93
  mcopy -i "$WORKDIR/$DISKPREFIX-1.img" "$WORKDIR/install.lst" ::/
2167 mateusz.vi 94
  rm "$WORKDIR/install.lst"
95
 
96
  # now populate the floppies with *.svp packages
196 mateuszvis 97
  curdisk=1
1127 mateusz.vi 98
 
99
  while [ ! -z "$LIST" ] ; do
100
 
101
    unset PENDING
102
    for p in $LIST ; do
103
      # if copy fails, then probably the floppy is full - try other packages
104
      # but remember all that fails so they will be retried on a new floppy
2168 mateusz.vi 105
      if ! mcopy -mi "$WORKDIR/$DISKPREFIX-$curdisk.img" "$CDROOT/$p.svp" ::/ ; then
1127 mateusz.vi 106
        PENDING="$PENDING $p"
107
      fi
108
    done
109
 
110
    LIST="$PENDING"
111
    # if there are any pending items, then create a new floppy and try pushing pending packages to it
112
    if [ ! -z "$PENDING" ] ; then
196 mateuszvis 113
      curdisk=$((curdisk+1))
2168 mateusz.vi 114
      mformat -C -t $1 -h $2 -s $3 -v SVARDOS -i "$WORKDIR/$DISKPREFIX-$curdisk.img"
196 mateuszvis 115
    fi
1127 mateusz.vi 116
 
194 mateuszvis 117
  done
196 mateuszvis 118
 
205 mateuszvis 119
  # add a short readme
849 mateusz.vi 120
  echo "This directory contains a set of $curdisk floppy images of the SvarDOS distribution in the $4 KB floppy format." > "$WORKDIR/readme.txt"
121
  echo "" >> "$WORKDIR/readme.txt"
122
  echo "These images are raw floppy disk dumps. To write them on an actual floppy disk, you have to use a low-level sector copying tool, like dd." >> "$WORKDIR/readme.txt"
123
  echo "" >> "$WORKDIR/readme.txt"
862 mateusz.vi 124
  echo "Latest SvarDOS version is available on the project's homepage: http://svardos.org" >> "$WORKDIR/readme.txt"
205 mateuszvis 125
 
849 mateusz.vi 126
  unix2dos "$WORKDIR/readme.txt"
205 mateuszvis 127
 
2168 mateusz.vi 128
  # make a copy of the (first) image, if requested
1750 mateusz.vi 129
  if [ "x$8" != "x" ] ; then
2168 mateusz.vi 130
    cp "$WORKDIR/$DISKPREFIX-1.img" $8
279 mateuszvis 131
  fi
132
 
196 mateuszvis 133
  # zip the images (and remove them at the same time)
1527 mateusz.vi 134
  zip -9 -rmj "$PUBDIR/svardos-$CURDATE-floppy-$6.zip" "$WORKDIR"/*
196 mateuszvis 135
 
136
  # clean up
849 mateusz.vi 137
  rmdir "$WORKDIR"
194 mateuszvis 138
}
139
 
140
 
134 mv_fox 141
### actual code flow starts here ############################################
142
 
148 mv_fox 143
# remember where I am, so I can get back here once all is done
11 mv_fox 144
origdir=`pwd`
145
 
836 mateusz.vi 146
echo "###############################################################################"
147
echo " STARTING BUILD $CURDATE"
148
echo "###############################################################################"
149
echo "dest dir: $PUBDIR"
150
echo "current time is `date` and it's a beautiful day somewhere in the world"
151
echo
152
 
189 mateuszvis 153
mkdir "$CDROOT"
192 mateuszvis 154
mkdir "$FLOPROOT"
189 mateuszvis 155
 
192 mateuszvis 156
# add CORE packages to CDROOT + create the list of packages on floppy
195 mateuszvis 157
for pkg in $COREPKGS ; do
1261 mateusz.vi 158
  cp "$REPOROOTCORE/$pkg.svp" "$CDROOT/"
192 mateuszvis 159
done
160
 
1750 mateusz.vi 161
# add some extra packages to CDROOT but not in the list of packages to install
162
cp "$REPOROOT/pcntpk.svp" "$CDROOT/"
163
cp "$REPOROOT/videcdd-2.14.svp" "$CDROOT/videcdd.svp"
2184 mateusz.vi 164
cp "$REPOROOT/provox-7.05.svp" "$CDROOT/provox.svp"
300 mateuszvis 165
 
1750 mateusz.vi 166
#
300 mateuszvis 167
 
1750 mateusz.vi 168
 
836 mateusz.vi 169
echo
170
echo "### Populating the floppy root at $FLOPROOT"
171
echo
172
 
862 mateusz.vi 173
# prepare the content of the boot (install) floppy, unzipping everything
174
# in lowercase (-L) to avoid any case mismatching later in the build process
192 mateuszvis 175
cp -r "$CUSTFILES/floppy/"* "$FLOPROOT/"
1922 mateusz.vi 176
unzip -CLj "$REPOROOTCORE/cpidos.svp" 'cpi/ega.cpx' -d "$FLOPROOT/"
1925 mateusz.vi 177
unzip -CLj "$REPOROOTCORE/cpidos.svp" 'cpi/ega3.cpx' -d "$FLOPROOT/"
178
unzip -CLj "$REPOROOTCORE/cpidos.svp" 'cpi/ega6.cpx' -d "$FLOPROOT/"
179
unzip -CLj "$REPOROOTCORE/cpidos.svp" 'cpi/ega9.cpx' -d "$FLOPROOT/"
1922 mateusz.vi 180
unzip -CLj "$REPOROOTCORE/cpidos.svp" 'cpi/ega10.cpx' -d "$FLOPROOT/"
1261 mateusz.vi 181
unzip -CLj "$REPOROOTCORE/svarcom.svp" command.com -d "$FLOPROOT/"
182
unzip -CLj "$REPOROOTCORE/display.svp" bin/display.exe -d "$FLOPROOT/"
183
unzip -CLj "$REPOROOTCORE/fdapm.svp" bin/fdapm.com -d "$FLOPROOT/"
1478 mateusz.vi 184
unzip -CLj "$REPOROOTCORE/fdisk.svp" bin/fdisk.exe -d "$FLOPROOT/"
1261 mateusz.vi 185
unzip -CLj "$REPOROOTCORE/format.svp" bin/format.exe -d "$FLOPROOT/"
1833 mateusz.vi 186
unzip -CLj "$REPOROOTCORE/kernledr.svp" kernel.sys -d "$FLOPROOT/"
1261 mateusz.vi 187
unzip -CLj "$REPOROOTCORE/mem.svp" bin/mem.exe -d "$FLOPROOT/"
188
unzip -CLj "$REPOROOTCORE/mode.svp" bin/mode.com -d "$FLOPROOT/"
1499 mateusz.vi 189
unzip -CLj "$REPOROOTCORE/more.svp" bin/more.com -d "$FLOPROOT/"
1261 mateusz.vi 190
unzip -CLj "$REPOROOTCORE/pkg.svp" bin/pkg.exe -d "$FLOPROOT/"
1465 mateusz.vi 191
unzip -CLj "$REPOROOTCORE/sved.svp" bin/sved.com -d "$FLOPROOT/"
1809 bernd.boec 192
unzip -CLj "$REPOROOTCORE/sys.svp" bin/sys.com -d "$FLOPROOT/"
192 mateuszvis 193
 
2183 mateusz.vi 194
# generate a simple AUTOEXEC.BAT
195
cat <<EOF > "$FLOPROOT/autoexec.bat"
196
@ECHO OFF
197
DISPLAY CON=(EGA,,1)
198
FDAPM ADV:REG
199
 
200
ECHO.
201
ECHO  ********************
202
ECHO   WELCOME TO SVARDOS
203
ECHO  ********************
204
ECHO  build: $CURDATE
205
ECHO.
206
 
207
REM Load PROVOX screen reader if present
2184 mateusz.vi 208
IF NOT EXIST PROVOX7.EXE GOTO INSTALL
2183 mateusz.vi 209
CLS
2184 mateusz.vi 210
PROVOX7.EXE
211
PV7.EXE INIT BNS > NUL
2183 mateusz.vi 212
 
213
:INSTALL
214
INSTALL
215
EOF
867 mateusz.vi 216
unix2dos "$FLOPROOT/autoexec.bat"
862 mateusz.vi 217
 
2183 mateusz.vi 218
# generate a simple CONFIG.SYS
219
cat <<EOF > "$FLOPROOT/config.sys"
220
LASTDRIVE=Z
221
FILES=8
222
BUFFERS=10
223
SHELL=COMMAND.COM /e:512 /p
224
EOF
225
unix2dos "$FLOPROOT/config.sys"
867 mateusz.vi 226
 
2183 mateusz.vi 227
 
836 mateusz.vi 228
echo
862 mateusz.vi 229
echo "### Computing the USB image"
230
echo
231
 
232
# prepare the USB bootable image
233
USBIMG=$PUBDIR/svardos-usb.img
234
cp files/boot-svardos.img $USBIMG
1808 bttr 235
mlabel -i "$USBIMG@@32256" ::$CURDATE
862 mateusz.vi 236
mcopy -sQm -i "$USBIMG@@32256" "$FLOPROOT/"* ::/
1750 mateusz.vi 237
for p in $COREPKGS ; do
862 mateusz.vi 238
  mcopy -mi "$USBIMG@@32256" "$CDROOT/$p.svp" ::/
239
done
240
 
241
# compress the USB image
242
zip -mj9 "$PUBDIR/svardos-$CURDATE-usb.zip" "$USBIMG"
243
 
244
 
245
echo
836 mateusz.vi 246
echo "### Creating floppy images"
247
echo
1212 mateusz.vi 248
echo "You might notice a lot of DISK FULL warnings below. Do not worry, these"
249
echo "are expected and are perfectly normal. It is a side effect of trying to"
250
echo "fit as many packages as possible on the floppy sets."
251
echo
836 mateusz.vi 252
 
194 mateuszvis 253
# build the boot (CD) floppy image
192 mateuszvis 254
export MTOOLS_NO_VFAT=1
255
 
246 mateuszvis 256
# prepare images for floppies in different sizes (args are C H S SIZE)
1750 mateusz.vi 257
prep_flop 80 2 36 2880 "$PUBDIR" "2.88M" "$COREPKGS pcntpk videcdd" "$CDROOT/boot.img"
258
prep_flop 80 2 18 1440 "$PUBDIR" "1.44M" "$COREPKGS pcntpk"
259
prep_flop 80 2 15 1200 "$PUBDIR" "1.2M" "$COREPKGS"
260
prep_flop 80 2  9  720 "$PUBDIR" "720K" "$COREPKGS"
1926 mateusz.vi 261
prep_flop 40 2  9  360 "$PUBDIR" "360K" "$COREPKGS"
194 mateuszvis 262
 
2169 mateusz.vi 263
# BNS-enabled (screen reader) 2.88M build
2184 mateusz.vi 264
unzip -CLj "$CDROOT/provox.svp" drivers/provox/provox7.exe -d "$FLOPROOT/"
265
unzip -CLj "$CDROOT/provox.svp" drivers/provox/pv7.exe -d "$FLOPROOT/"
2169 mateusz.vi 266
prep_flop 80 2 36 2880 "$PUBDIR" "2.88M-BNS" "$COREPKGS pcntpk videcdd provox" "$CDROOT/bootbns.img"
2184 mateusz.vi 267
rm "$FLOPROOT/provox7.exe"
268
rm "$FLOPROOT/pv7.exe"
862 mateusz.vi 269
 
2169 mateusz.vi 270
 
271
 
836 mateusz.vi 272
echo
273
echo "### Computing DOSEMU.zip"
274
echo
275
 
321 mateuszvis 276
# prepare the DOSEMU boot zip
836 mateusz.vi 277
DOSEMUDIR="$PUBDIR/tmp_dosemu-prep-files.build"
321 mateuszvis 278
mkdir "$DOSEMUDIR"
322 mateuszvis 279
# INSTALL.BAT
624 mateuszvis 280
echo 'IF NOT EXIST C:\TEMP\NUL MKDIR C:\TEMP' >> "$DOSEMUDIR/install.bat"
322 mateuszvis 281
echo 'mkdir %DOSDIR%' >> "$DOSEMUDIR/install.bat"
282
echo 'mkdir %DOSDIR%\cfg' >> "$DOSEMUDIR/install.bat"
283
echo 'ECHO # pkg config file - specifies locations where packages should be installed >> %DOSDIR%\cfg\pkg.cfg' >> "$DOSEMUDIR/install.bat"
1670 mateusz.vi 284
echo 'ECHO DIR BIN %DOSDIR% >> %DOSDIR%\cfg\pkg.cfg' >> "$DOSEMUDIR/install.bat"
322 mateuszvis 285
echo 'ECHO DIR PROGS C:\ >> %DOSDIR%\cfg\pkg.cfg' >> "$DOSEMUDIR/install.bat"
286
echo 'ECHO DIR GAMES C:\ >> %DOSDIR%\cfg\pkg.cfg' >> "$DOSEMUDIR/install.bat"
287
echo 'ECHO DIR DRIVERS C:\DRIVERS\ >> %DOSDIR%\cfg\pkg.cfg' >> "$DOSEMUDIR/install.bat"
288
echo 'ECHO DIR DEVEL C:\DEVEL\ >> %DOSDIR%\cfg\pkg.cfg' >> "$DOSEMUDIR/install.bat"
321 mateuszvis 289
for p in $COREPKGS ; do
700 mateusz.vi 290
  cp "$CDROOT/$p.svp" "$DOSEMUDIR/"
291
  echo "pkg install $p.svp" >> "$DOSEMUDIR/install.bat"
292
  echo "del $p.svp" >> "$DOSEMUDIR/install.bat"
321 mateuszvis 293
done
322 mateuszvis 294
echo 'ECHO my_ip = dhcp >> %DOSDIR%\CFG\WATTCP.CFG' >> "$DOSEMUDIR/install.bat"
295
echo 'del pkg.exe' >> "$DOSEMUDIR/install.bat"
1103 mateusz.vi 296
echo 'DEL C:\CONFIG.SYS' >> "$DOSEMUDIR/install.bat"
297
echo 'COPY C:\CONFIG.NEW C:\CONFIG.SYS' >> "$DOSEMUDIR/install.bat"
298
echo 'DEL C:\CONFIG.NEW' >> "$DOSEMUDIR/install.bat"
299
echo 'SET COMSPEC=C:\COMMAND.COM' >> "$DOSEMUDIR/install.bat"
300
echo 'DEL C:\CMD.COM' >> "$DOSEMUDIR/install.bat"
322 mateuszvis 301
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
302
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
1103 mateusz.vi 303
echo 'ECHO  SVARDOS SETUP COMPLETED' >> "$DOSEMUDIR/install.bat"
304
echo 'ECHO   PLEASE RESTART DOSEMU' >> "$DOSEMUDIR/install.bat"
322 mateuszvis 305
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
306
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
1833 mateusz.vi 307
unzip -Cj "$REPOROOTCORE/kernledr.svp" kernel.sys -d "$DOSEMUDIR/"
1261 mateusz.vi 308
unzip -CLj "$REPOROOTCORE/svarcom.svp" command.com -d "$DOSEMUDIR/"
1103 mateusz.vi 309
mv "$DOSEMUDIR/command.com" "$DOSEMUDIR/cmd.com"
1261 mateusz.vi 310
unzip -Cj "$REPOROOTCORE/pkg.svp" bin/pkg.exe -d "$DOSEMUDIR/"
322 mateuszvis 311
# CONFIG.SYS
1103 mateusz.vi 312
echo 'FILES=25' >> "$DOSEMUDIR/config.sys"
322 mateuszvis 313
echo 'DOS=HIGH,UMB' >> "$DOSEMUDIR/config.sys"
326 mateuszvis 314
echo 'DOSDATA=UMB' >> "$DOSEMUDIR/config.sys"
325 mateuszvis 315
echo 'DEVICE=D:\dosemu\emufs.sys' >> "$DOSEMUDIR/config.sys"
322 mateuszvis 316
echo 'DEVICE=D:\dosemu\umb.sys' >> "$DOSEMUDIR/config.sys"
325 mateuszvis 317
echo 'DEVICEHIGH=D:\dosemu\ems.sys' >> "$DOSEMUDIR/config.sys"
322 mateuszvis 318
echo 'INSTALL=D:\dosemu\emufs.com' >> "$DOSEMUDIR/config.sys"
1103 mateusz.vi 319
cp "$DOSEMUDIR/config.sys" "$DOSEMUDIR/config.new"
320
echo 'SHELL=C:\CMD.COM /P' >> "$DOSEMUDIR/config.sys"
321
echo 'SHELL=C:\COMMAND.COM /P' >> "$DOSEMUDIR/config.new"
322 mateuszvis 322
# AUTOEXEC.BAT
321 mateuszvis 323
echo "@ECHO OFF" >> "$DOSEMUDIR/autoexec.bat"
322 mateuszvis 324
echo 'SET DOSDIR=C:\SVARDOS' >> "$DOSEMUDIR/autoexec.bat"
325
echo 'SET WATTCP.CFG=%DOSDIR%\CFG' >> "$DOSEMUDIR/autoexec.bat"
326
echo 'SET DIRCMD=/p/ogne' >> "$DOSEMUDIR/autoexec.bat"
624 mateuszvis 327
echo 'SET TEMP=C:\TEMP' >> "$DOSEMUDIR/autoexec.bat"
1670 mateusz.vi 328
echo 'PATH %DOSDIR%' >> "$DOSEMUDIR/autoexec.bat"
322 mateuszvis 329
echo "" >> "$DOSEMUDIR/autoexec.bat"
1103 mateusz.vi 330
echo 'IF NOT EXIST INSTALL.BAT GOTO NORMBOOT' >> "$DOSEMUDIR/autoexec.bat"
322 mateuszvis 331
echo "REM *** this is a one-time setup script used only during first initialization ***" >> "$DOSEMUDIR/autoexec.bat"
1103 mateusz.vi 332
echo 'CALL INSTALL.BAT' >> "$DOSEMUDIR/autoexec.bat"
333
echo 'DEL INSTALL.BAT' >> "$DOSEMUDIR/autoexec.bat"
334
echo 'GOTO ENDOFFILE' >> "$DOSEMUDIR/autoexec.bat"
322 mateuszvis 335
echo "" >> "$DOSEMUDIR/autoexec.bat"
1103 mateusz.vi 336
echo ":NORMBOOT" >> "$DOSEMUDIR/autoexec.bat"
321 mateuszvis 337
echo "ECHO." >> "$DOSEMUDIR/autoexec.bat"
338
echo "ECHO Welcome to SvarDOS (powered by DOSEMU)! Type HELP if you are lost." >> "$DOSEMUDIR/autoexec.bat"
339
echo "ECHO." >> "$DOSEMUDIR/autoexec.bat"
1103 mateusz.vi 340
echo ":ENDOFFILE" >> "$DOSEMUDIR/autoexec.bat"
321 mateuszvis 341
rm -f "$PUBDIR/svardos-dosemu.zip"
643 mateusz.vi 342
zip -rm9jk "$PUBDIR/svardos-$CURDATE-dosemu.zip" "$DOSEMUDIR"
321 mateuszvis 343
rmdir "$DOSEMUDIR"
344
 
836 mateusz.vi 345
echo
2169 mateusz.vi 346
echo "### Generating ISO CD images"
836 mateusz.vi 347
echo
348
 
2169 mateusz.vi 349
# normal
643 mateusz.vi 350
CDISO="$PUBDIR/svardos-$CURDATE-cd.iso"
351
CDZIP="$PUBDIR/svardos-$CURDATE-cd.zip"
279 mateuszvis 352
$GENISOIMAGE -input-charset cp437 -b boot.img -iso-level 1 -f -V SVARDOS -o "$CDISO" "$CDROOT/boot.img"
2169 mateusz.vi 353
zip -mj9 "$CDZIP" "$CDISO"
2 mv_fox 354
 
2169 mateusz.vi 355
# BNS-enabled
356
CDISO="$PUBDIR/svardos-$CURDATE-cd-bns.iso"
357
CDZIP="$PUBDIR/svardos-$CURDATE-cd-bns.zip"
358
$GENISOIMAGE -input-charset cp437 -b bootbns.img -iso-level 1 -f -V SVARDOS -o "$CDISO" "$CDROOT/bootbns.img"
204 mateuszvis 359
zip -mj9 "$CDZIP" "$CDISO"
360
 
1616 mateusz.vi 361
 
362
 
363
###############################################################################
1772 mateusz.vi 364
# compute the svardos stub, useful for migrating alien DOS systems to SvarDOS #
365
###############################################################################
366
 
367
echo
368
echo "### generating the pkgstub zip archive"
369
 
370
mkdir "$PUBDIR"/pkgstub
371
unzip -jC "$REPOROOTCORE"/pkgnet.svp bin/pkgnet.exe -d "$PUBDIR"/pkgstub
372
unzip -jC "$REPOROOTCORE"/pkg.svp bin/pkg.exe -d "$PUBDIR"/pkgstub
373
 
374
cat <<EOF > "$PUBDIR"/pkgstub/readme.txt
375
 
376
        SvarDOS stub, or how to plant a SvarDOS seed in a foreign land
377
        --------------------------------------------------------------
378
 
379
This archive contains files that allow to install a SvarDOS stub within
380
another DOS system. This makes it possible to use the SvarDOS online repository
381
of packages on non-SvarDOS systems, assuming you have a network card connected
382
to the internet and a suitable packet driver.
383
 
384
If you do not have internet connectivity, then you will still be able to
385
install SvarDOS packages (*.SVP) once you copy them to your PC. You can fetch
386
SvarDOS packages at <http://svardos.org>.
387
 
388
Follow the guide now:
389
 
390
=======================================
391
MKDIR C:\\SVARDOS
392
MKDIR C:\\SVARDOS\\CFG
393
 
394
SET WATTCP.CFG=C:\\SVARDOS\\CFG
395
SET DOSDIR=C:\\SVARDOS
396
SET LANG=EN
397
SET PATH=%PATH%;C:\SVARDOS
398
 
399
COPY *.EXE C:\\SVARDOS\\
400
COPY *.CFG C:\\SVARDOS\CFG\\
401
=======================================
402
 
403
If in doubt, reach out to us at <http://svardos.org>.
404
EOF
405
 
406
cat <<EOF > "$PUBDIR"/pkgstub/wattcp.cfg
407
# Rely on DHCP by default
408
my_ip = dhcp
409
 
410
# modify (and uncomment) these if you have a fix IP setup:
411
#
412
#my_ip = 0.0.0.0  ; IP address
413
#netmask = 255.255.255.0  ; netmask
414
#nameserver = 0.0.0.0  ; primary DNS, mandatory if not using DHCP
415
#nameserver = 0.0.0.0  ; secondary DNS, optional
416
#gateway = 0.0.0.0  ; default gateway
417
EOF
418
 
419
cat <<EOF > "$PUBDIR"/pkgstub/pkg.cfg
420
# pkg config file - specifies locations where SvarDOS packages will be installed
421
 
422
# SvarDOS core files
423
DIR BIN C:\\SVARDOS\\
424
 
425
# General location for programs
426
DIR PROGS C:\\
427
 
428
# Games
429
DIR GAMES C:\\
430
 
431
# Drivers
432
DIR DRIVERS C:\\DRIVERS\\
433
 
434
# Development tools
435
DIR DEVEL C:\\DEVEL\\
436
EOF
437
 
438
zip -m -k9jr "$PUBDIR"/svarstub.zip "$PUBDIR"/pkgstub
439
rmdir "$PUBDIR"/pkgstub
440
 
441
 
442
 
443
###############################################################################
1616 mateusz.vi 444
# cleanup all temporary things                                                #
445
###############################################################################
446
 
836 mateusz.vi 447
if [ "x$2" != "xnoclean" ] ; then
448
  echo
904 bttr 449
  echo "### Cleanup of temporary directories:"
836 mateusz.vi 450
  echo "# $CDROOT"
451
  echo "# $FLOPROOT"
452
  echo
194 mateuszvis 453
  rm -rf "$CDROOT" "$FLOPROOT"
454
fi
189 mateuszvis 455
 
11 mv_fox 456
cd "$origdir"
457
 
836 mateusz.vi 458
echo
459
echo "### ALL DONE! ###"
16 mv_fox 460
 
2 mv_fox 461
exit 0