Line 1... |
Line 1... |
1 |
#!/bin/bash
|
1 |
#!/bin/bash
|
2 |
#
|
2 |
#
|
3 |
# SvarDOS build script
|
3 |
# SvarDOS build script
|
4 |
# http://svardos.osdn.io
|
4 |
# http://svardos.org
|
5 |
# Copyright (C) 2016-2022 Mateusz Viste
|
5 |
# Copyright (C) 2016-2022 Mateusz Viste
|
6 |
#
|
6 |
#
|
7 |
# This script generates the SvarDOS repository index and builds ISO CD images.
|
7 |
# This script generates the SvarDOS repository index and builds floppy and CD
|
8 |
# It should be executed each time that a package has been modified, added or
|
8 |
# images. It should be executed each time that a CORE package has been
|
9 |
# removed.
|
9 |
# modified, added or removed.
|
10 |
#
|
10 |
#
|
11 |
# usage: ./build.sh [noclean]
|
11 |
# usage: ./build.sh [noclean]
|
12 |
#
|
12 |
#
|
13 |
|
13 |
|
14 |
### parameters block starts here ############################################
|
14 |
### parameters block starts here ############################################
|
15 |
|
15 |
|
16 |
CURDATE=`date +%Y%m%d`
|
16 |
CURDATE=`date +%Y%m%d`
|
17 |
PKGDIR=`realpath ./packages`
|
- |
|
18 |
REPOROOT=`realpath ./packages`
|
17 |
REPOROOT=`realpath ./packages`
|
19 |
PUBDIR=`realpath ./website/download`/$CURDATE
|
18 |
PUBDIR=`realpath ./website/download`/$CURDATE
|
20 |
CDROOT=`realpath ./cdroot`
|
19 |
CDROOT=`realpath ./tmp_cdroot.build`
|
21 |
FLOPROOT=`realpath ./floproot`
|
20 |
FLOPROOT=`realpath ./tmp_floproot.build`
|
22 |
CUSTFILES=`realpath ./files`
|
21 |
CUSTFILES=`realpath ./files`
|
23 |
|
22 |
|
24 |
GENISOIMAGE='' # can be mkisofs, genisoimage or empty for autodetection
|
23 |
GENISOIMAGE='' # can be mkisofs, genisoimage or empty for autodetection
|
25 |
|
24 |
|
26 |
### parameters block ends here ##############################################
|
25 |
### parameters block ends here ##############################################
|
Line 50... |
Line 49... |
50 |
# abort if anything fails
|
49 |
# abort if anything fails
|
51 |
set -e
|
50 |
set -e
|
52 |
|
51 |
|
53 |
|
52 |
|
54 |
# list of packages to be part of CORE (always installed)
|
53 |
# list of packages to be part of CORE (always installed)
|
55 |
COREPKGS="amb attrib chkdsk choice command cpidos debug deltree diskcopy display dosfsck edit fc fdapm fdisk find format help himemx kernel keyb label localcfg mem mode more move pkg pkgnet shsucdx sort tree"
|
54 |
COREPKGS=`ls -1 'packages/core' | grep -o '^[a-z]*'`
|
56 |
|
55 |
|
57 |
# list of packages to be part of EXTRA (only sometimes installed, typically drivers)
|
56 |
# list of packages to be part of EXTRA (only sometimes installed, typically drivers)
|
58 |
EXTRAPKGS="pcntpk udvd2"
|
57 |
EXTRAPKGS="pcntpk udvd2"
|
59 |
|
58 |
|
60 |
# all packages
|
59 |
# all packages
|
Line 116... |
Line 115... |
116 |
mkdir "$FLOPROOT"
|
115 |
mkdir "$FLOPROOT"
|
117 |
mkdir "$PUBDIR"
|
116 |
mkdir "$PUBDIR"
|
118 |
|
117 |
|
119 |
# add CORE packages to CDROOT + create the list of packages on floppy
|
118 |
# add CORE packages to CDROOT + create the list of packages on floppy
|
120 |
for pkg in $COREPKGS ; do
|
119 |
for pkg in $COREPKGS ; do
|
121 |
cp "$REPOROOT/$pkg.svp" "$CDROOT/"
|
120 |
cp "$REPOROOT/core/$pkg.svp" "$CDROOT/"
|
122 |
echo "$pkg" >> "$FLOPROOT/install.lst"
|
121 |
echo "$pkg" >> "$FLOPROOT/install.lst"
|
123 |
done
|
122 |
done
|
124 |
|
123 |
|
125 |
# add EXTRA packages to CDROOT (but not in the list of packages so instal won't install them by default)
|
124 |
# add EXTRA packages to CDROOT (but not in the list of packages to install)
|
126 |
for pkg in $EXTRAPKGS ; do
|
125 |
for pkg in $EXTRAPKGS ; do
|
127 |
cp "$REPOROOT/$pkg.svp" "$CDROOT/"
|
126 |
cp "$REPOROOT/$pkg.svp" "$CDROOT/"
|
128 |
done
|
127 |
done
|
129 |
|
128 |
|
130 |
|
129 |
|
131 |
# prepare the content of the boot (install) floppy
|
130 |
# prepare the content of the boot (install) floppy
|
132 |
cp -r "$CUSTFILES/floppy/"* "$FLOPROOT/"
|
131 |
cp -r "$CUSTFILES/floppy/"* "$FLOPROOT/"
|
133 |
unzip -Cj packages/cpidos.svp 'cpi/ega*.cpx' -d "$FLOPROOT/"
|
132 |
unzip -Cj "$REPOROOT/core/cpidos.svp" 'cpi/ega*.cpx' -d "$FLOPROOT/"
|
134 |
unzip -Cj packages/command.svp bin/command.com -d "$FLOPROOT/"
|
133 |
unzip -Cj "$REPOROOT/core/command.svp" bin/command.com -d "$FLOPROOT/"
|
135 |
unzip -Cj packages/display.svp bin/display.exe -d "$FLOPROOT/"
|
134 |
unzip -Cj "$REPOROOT/core/display.svp" bin/display.exe -d "$FLOPROOT/"
|
136 |
unzip -Cj packages/edit.svp bin/edit.exe -d "$FLOPROOT/"
|
135 |
unzip -Cj "$REPOROOT/core/edit.svp" bin/edit.exe -d "$FLOPROOT/"
|
137 |
unzip -Cj packages/fdapm.svp bin/fdapm.com -d "$FLOPROOT/"
|
136 |
unzip -Cj "$REPOROOT/core/fdapm.svp" bin/fdapm.com -d "$FLOPROOT/"
|
138 |
unzip -Cj packages/fdisk.svp bin/fdisk.exe bin/fdiskpt.ini -d "$FLOPROOT/"
|
137 |
unzip -Cj "$REPOROOT/core/fdisk.svp" bin/fdisk.exe bin/fdiskpt.ini -d "$FLOPROOT/"
|
139 |
unzip -Cj packages/format.svp bin/format.exe -d "$FLOPROOT/"
|
138 |
unzip -Cj "$REPOROOT/core/format.svp" bin/format.exe -d "$FLOPROOT/"
|
140 |
unzip -Cj packages/kernel.svp bin/kernel.sys bin/sys.com -d "$FLOPROOT/"
|
139 |
unzip -Cj "$REPOROOT/core/kernel.svp" bin/kernel.sys bin/sys.com -d "$FLOPROOT/"
|
141 |
unzip -Cj packages/mem.svp bin/mem.exe -d "$FLOPROOT/"
|
140 |
unzip -Cj "$REPOROOT/core/mem.svp" bin/mem.exe -d "$FLOPROOT/"
|
142 |
unzip -Cj packages/mode.svp bin/mode.com -d "$FLOPROOT/"
|
141 |
unzip -Cj "$REPOROOT/core/mode.svp" bin/mode.com -d "$FLOPROOT/"
|
143 |
unzip -Cj packages/more.svp bin/more.exe -d "$FLOPROOT/"
|
142 |
unzip -Cj "$REPOROOT/core/more.svp" bin/more.exe -d "$FLOPROOT/"
|
144 |
unzip -Cj packages/pkg.svp bin/pkg.exe -d "$FLOPROOT/"
|
143 |
unzip -Cj "$REPOROOT/core/pkg.svp" bin/pkg.exe -d "$FLOPROOT/"
|
145 |
|
144 |
|
146 |
# build the boot (CD) floppy image
|
145 |
# build the boot (CD) floppy image
|
147 |
export MTOOLS_NO_VFAT=1
|
146 |
export MTOOLS_NO_VFAT=1
|
148 |
#mformat -C -f 2880 -v SVARDOS -B "$CUSTFILES/floppy.mbr" -i "$CDROOT/boot.img"
|
147 |
#mformat -C -f 2880 -v SVARDOS -B "$CUSTFILES/floppy.mbr" -i "$CDROOT/boot.img"
|
149 |
#mcopy -sQm -i "$CDROOT/boot.img" "$FLOPROOT/"* ::/
|
148 |
#mcopy -sQm -i "$CDROOT/boot.img" "$FLOPROOT/"* ::/
|
Line 154... |
Line 153... |
154 |
prep_flop 80 2 15 1200
|
153 |
prep_flop 80 2 15 1200
|
155 |
prep_flop 80 2 9 720
|
154 |
prep_flop 80 2 9 720
|
156 |
#prep_flop 96 64 32 98304 "$PUBDIR/svardos-zip100.img" # ZIP 100M (for USB boot in "USB-ZIP mode")
|
155 |
#prep_flop 96 64 32 98304 "$PUBDIR/svardos-zip100.img" # ZIP 100M (for USB boot in "USB-ZIP mode")
|
157 |
|
156 |
|
158 |
# prepare the DOSEMU boot zip
|
157 |
# prepare the DOSEMU boot zip
|
159 |
DOSEMUDIR='dosemu-prep-files'
|
158 |
DOSEMUDIR='tmp_dosemu-prep-files.build'
|
160 |
mkdir "$DOSEMUDIR"
|
159 |
mkdir "$DOSEMUDIR"
|
161 |
# INSTALL.BAT
|
160 |
# INSTALL.BAT
|
162 |
echo 'IF NOT EXIST C:\TEMP\NUL MKDIR C:\TEMP' >> "$DOSEMUDIR/install.bat"
|
161 |
echo 'IF NOT EXIST C:\TEMP\NUL MKDIR C:\TEMP' >> "$DOSEMUDIR/install.bat"
|
163 |
echo 'mkdir %DOSDIR%' >> "$DOSEMUDIR/install.bat"
|
162 |
echo 'mkdir %DOSDIR%' >> "$DOSEMUDIR/install.bat"
|
164 |
echo 'mkdir %DOSDIR%\cfg' >> "$DOSEMUDIR/install.bat"
|
163 |
echo 'mkdir %DOSDIR%\cfg' >> "$DOSEMUDIR/install.bat"
|
Line 178... |
Line 177... |
178 |
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
|
177 |
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
|
179 |
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
|
178 |
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
|
180 |
echo 'ECHO SVARDOS SETUP COMPLETED ' >> "$DOSEMUDIR/install.bat"
|
179 |
echo 'ECHO SVARDOS SETUP COMPLETED ' >> "$DOSEMUDIR/install.bat"
|
181 |
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
|
180 |
echo 'ECHO -------------------------' >> "$DOSEMUDIR/install.bat"
|
182 |
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
|
181 |
echo 'ECHO.' >> "$DOSEMUDIR/install.bat"
|
183 |
unzip -Cj packages/kernel.svp bin/kernel.sys -d "$DOSEMUDIR/"
|
182 |
unzip -Cj "$REPOROOT/core/kernel.svp" bin/kernel.sys -d "$DOSEMUDIR/"
|
184 |
unzip -Cj packages/command.svp bin/command.com -d "$DOSEMUDIR/"
|
183 |
unzip -Cj "$REPOROOT/core/command.svp" bin/command.com -d "$DOSEMUDIR/"
|
185 |
unzip -Cj packages/pkg.svp bin/pkg.exe -d "$DOSEMUDIR/"
|
184 |
unzip -Cj "$REPOROOT/core/pkg.svp" bin/pkg.exe -d "$DOSEMUDIR/"
|
186 |
# CONFIG.SYS
|
185 |
# CONFIG.SYS
|
187 |
echo 'FILES=50' >> "$DOSEMUDIR/config.sys"
|
186 |
echo 'FILES=50' >> "$DOSEMUDIR/config.sys"
|
188 |
echo 'DOS=HIGH,UMB' >> "$DOSEMUDIR/config.sys"
|
187 |
echo 'DOS=HIGH,UMB' >> "$DOSEMUDIR/config.sys"
|
189 |
echo 'DOSDATA=UMB' >> "$DOSEMUDIR/config.sys"
|
188 |
echo 'DOSDATA=UMB' >> "$DOSEMUDIR/config.sys"
|
190 |
echo 'DEVICE=D:\dosemu\emufs.sys' >> "$DOSEMUDIR/config.sys"
|
189 |
echo 'DEVICE=D:\dosemu\emufs.sys' >> "$DOSEMUDIR/config.sys"
|