summaryrefslogtreecommitdiff
path: root/mkiso
diff options
context:
space:
mode:
Diffstat (limited to 'mkiso')
-rw-r--r--mkiso23
1 files changed, 19 insertions, 4 deletions
diff --git a/mkiso b/mkiso
index 7d83d2b..9c4684e 100644
--- a/mkiso
+++ b/mkiso
@@ -4,6 +4,9 @@ tmp=$PWD/tmp
aports=$PWD/../aports
target=alpine-test.iso
+initramfs=test.gz
+modloop=modloop.cmg
+
unapk() {
local dest="$1"
shift
@@ -14,6 +17,11 @@ unapk() {
rm -f "$dest/.PKGINFO"
}
+link_or_copy() {
+ ln -f "$1" "$2" 2>/dev/null || cp "$1" "$2"
+}
+
+
rm -r $tmp
mkdir -p $tmp/apks $tmp/isolinux
cp /usr/share/syslinux/isolinux.* $tmp/isolinux
@@ -32,13 +40,20 @@ EOF
unapk $tmp $aports/core/linux-grsec/linux-grsec-[0-9]*.apk
-sh mkinitram
-sh mkmodloop
+# only build initram if its missing or script is newer than target
+if [ ! -f "$initramfs" ] || [ mkinitram -nt "$initramfs" ]; then
+ sh mkinitram
+fi
+
+if [ ! -f "$modloop" ] || [ mkmodloop -nt "$modloop" ]; then
+ sh mkmodloop
+fi
mkdir -p $tmp/boot/
-cp test.gz $tmp/boot/
-cp modloop.cmg $tmp/boot/
+link_or_copy test.gz $tmp/boot/
+link_or_copy modloop.cmg $tmp/boot/
+echo "==> Creating ISO image"
genisoimage -o $target -l -J -R \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \