diff -urN archiso/archiso/mkarchiso archiso-hayao/archiso/mkarchiso --- archiso/archiso/mkarchiso 2020-02-11 23:20:42.357249852 +0900 +++ archiso-2/archiso/mkarchiso 2020-02-11 23:19:55.567249858 +0900 @@ -18,6 +18,7 @@ out_dir="out" sfs_mode="sfs" sfs_comp="xz" +sfs_comp_opt="" gpg_key= # Show an INFO message @@ -95,6 +96,8 @@ echo " Default: ${sfs_mode}" echo " -c Set SquashFS compression type (gzip, lzma, lzo, xz, zstd)" echo " Default: '${sfs_comp}'" + echo " -t Set compressor-specific options. Run 'mksquashfs -h' for more help." + echo " Default: empty" echo " -v Enable verbose output" echo " -h This message" echo " commands:" @@ -135,6 +138,10 @@ _msg_info " Run command: ${run_cmd}" ;; prepare) + _msg_info "SquashFS compression type: ${sfs_comp}" + if [[ -n "${sfs_comp_opt}" ]]; then + _msg_info "Squashfs compression opts: ${sfs_comp_opt}" + fi ;; pkglist) ;; @@ -223,9 +230,9 @@ mkdir -p "${work_dir}/iso/${install_dir}/${arch}" _msg_info "Creating SquashFS image, this may take some time..." if [[ "${quiet}" = "y" ]]; then - mksquashfs "${work_dir}/airootfs.img" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" -no-progress &> /dev/null + mksquashfs "${work_dir}/airootfs.img" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" ${sfs_comp_opt} -no-progress &> /dev/null else - mksquashfs "${work_dir}/airootfs.img" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" -no-progress + mksquashfs "${work_dir}/airootfs.img" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" ${sfs_comp_opt} -no-progress fi _msg_info "Done!" rm ${work_dir}/airootfs.img @@ -240,9 +247,9 @@ mkdir -p "${work_dir}/iso/${install_dir}/${arch}" _msg_info "Creating SquashFS image, this may take some time..." if [[ "${quiet}" = "y" ]]; then - mksquashfs "${work_dir}/airootfs" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" -no-progress &> /dev/null + mksquashfs "${work_dir}/airootfs" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" ${sfs_comp_opt} -no-progress &> /dev/null else - mksquashfs "${work_dir}/airootfs" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" -no-progress + mksquashfs "${work_dir}/airootfs" "${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs" -noappend -comp "${sfs_comp}" ${sfs_comp_opt} -no-progress fi _msg_info "Done!" } @@ -369,7 +376,7 @@ umask 0022 -while getopts 'p:r:C:L:P:A:D:w:o:s:c:g:vh' arg; do +while getopts 'p:r:C:L:P:A:D:w:o:s:c:g:t:vh' arg; do case "${arg}" in p) pkg_list="${pkg_list} ${OPTARG}" ;; r) run_cmd="${OPTARG}" ;; @@ -382,6 +389,7 @@ o) out_dir="${OPTARG}" ;; s) sfs_mode="${OPTARG}" ;; c) sfs_comp="${OPTARG}" ;; + t) sfs_comp_opt="${OPTARG}" ;; g) gpg_key="${OPTARG}" ;; v) quiet="n" ;; h|?) _usage 0 ;; diff -urN archiso/configs/releng/build.sh archiso-hayao/configs/releng/build.sh --- archiso/configs/releng/build.sh 2020-02-11 23:20:42.357249852 +0900 +++ archiso-hayao/configs/releng/build.sh 2020-02-11 23:15:29.557249890 +0900 @@ -11,7 +11,8 @@ work_dir=work out_dir=out gpg_key= - +sfs_comp="xz" +sfs_comp_opt="" verbose="" script_path=$(readlink -f ${0%/*}) @@ -38,6 +39,10 @@ echo " Default: ${work_dir}" echo " -o Set the output directory" echo " Default: ${out_dir}" + echo " -c Set SquashFS compression type (gzip, lzma, lzo, xz, zstd)" + echo " Default: ${sfs_comp}" + echo " -t Set compressor-specific options." + echo " Default: empty" echo " -v Enable verbose output" echo " -h This help message" exit ${1} @@ -214,7 +219,7 @@ make_prepare() { cp -a -l -f ${work_dir}/x86_64/airootfs ${work_dir} mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist - mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare + mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} -c "${sfs_comp}" -t "${sfs_comp_opt}" prepare rm -rf ${work_dir}/airootfs # rm -rf ${work_dir}/x86_64/airootfs (if low space, this helps) } @@ -229,7 +234,7 @@ _usage 1 fi -while getopts 'N:V:L:P:A:D:w:o:g:vh' arg; do +while getopts 'N:V:L:P:A:D:w:o:g:c:t:vh' arg; do case "${arg}" in N) iso_name="${OPTARG}" ;; V) iso_version="${OPTARG}" ;; @@ -240,6 +245,15 @@ w) work_dir="${OPTARG}" ;; o) out_dir="${OPTARG}" ;; g) gpg_key="${OPTARG}" ;; + c) + if [[ ${OPTARG} = "gzip" || ${OPTARG} = "lzma" || ${OPTARG} = "lzo" || ${OPTARG} = "lz4" || ${OPTARG} = "xz" || ${OPTARG} = "zstd" ]]; then + sfs_comp="${OPTARG}" + else + echo "Invalid compressors ${arg}" + _usage 1 + fi + ;; + t) sfs_comp_opt=${OPTARG} ;; v) verbose="-v" ;; h) _usage 0 ;; *)