杨振 4 سال پیش
والد
کامیت
453ff650c7
2فایلهای تغییر یافته به همراه21 افزوده شده و 1 حذف شده
  1. 6 0
      functions.sh
  2. 15 1
      rebuild-iso.sh

+ 6 - 0
functions.sh

@@ -0,0 +1,6 @@
+function MLOG()
+{
+    msg=$1
+    d=$(date '+%D %T')
+    echo "$d ---> $1" >> /var/log/oem-config.log
+}

+ 15 - 1
rebuild-iso.sh

@@ -23,6 +23,7 @@ function usage() {
     $(basename $0) --insdeb file.deb    # 安装deb包\n\
     $(basename $0) --squash             # 打包squash\n\
     $(basename $0) --mkiso              # 打包iso\n\
+    $(basename $0) --mkiso-skip         # 打包iso,不重新计算 filesystem.size\n\
     $(basename $0) --mkiso-arm64        # 打包arm64 iso"
 
     exit 1
@@ -39,7 +40,7 @@ if [ $# -eq 0 ]; then
     usage
 fi
 
-ARGS=$(getopt -a -o h -l help,iso:,umount,unsquash,insdeb:,squash,mkiso,mkiso-arm64 -- "$@")
+ARGS=$(getopt -a -o h -l help,iso:,umount,unsquash,insdeb:,squash,mkiso,mkiso-skip,mkiso-arm64 -- "$@")
 eval set -- "${ARGS}"
 
 while true; do
@@ -122,6 +123,19 @@ while true; do
         ln -sf "${NEW_ISO_FILE}" new.iso
         shift
         ;;
+    --mkiso-skip)
+        timestamp=$(date '+%Y-%m-%d_%H-%M-%S')
+        NEW_ISO_FILE="new-${timestamp}.iso"
+
+        echo -e "\n---> 制作 ${NEW_ISO_FILE},不重新计算 filesystem.size"
+        cd ${TARGET_DIR}
+        rm md5sum.txt
+        find -type f -print0 | xargs -0 md5sum | grep -v isolinux/boot.cat | tee md5sum.txt
+        mkisofs -D -r -V "${NEW_ISO_FILE%.*}" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../"${NEW_ISO_FILE}" .
+        cd ..
+        ln -sf "${NEW_ISO_FILE}" new.iso
+        shift
+        ;;
     --mkiso-arm64)
         timestamp=$(date '+%Y-%m-%d_%H-%M-%S')
         NEW_ISO_FILE="arm64-${timestamp}.iso"