diff --git a/build.sh b/build.sh index 5d806c2..91e83f1 100755 --- a/build.sh +++ b/build.sh @@ -15,6 +15,8 @@ install_dir=sysresccd work_dir=work out_dir=out gpg_key= +sfs_comp="xz" +sfs_opts="-Xbcj x86 -b 512k -Xdict-size 512k" verbose="" @@ -206,7 +208,7 @@ make_efiboot() { 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_opts}" prepare rm -rf ${work_dir}/airootfs # rm -rf ${work_dir}/x86_64/airootfs (if low space, this helps) } diff --git a/patches/archiso-squashfs-options.patch b/patches/archiso-squashfs-options.patch new file mode 100644 index 0000000..959a3b0 --- /dev/null +++ b/patches/archiso-squashfs-options.patch @@ -0,0 +1,62 @@ +diff --git a/archiso/mkarchiso b/archiso/mkarchiso +index 567a5af..ed3f2c1 100755 +--- a/archiso/mkarchiso ++++ b/archiso/mkarchiso +@@ -18,6 +18,7 @@ work_dir="work" + out_dir="out" + sfs_mode="sfs" + sfs_comp="xz" ++sfs_opts="" + gpg_key= + + # Show an INFO message +@@ -95,6 +96,8 @@ _usage () + echo " Default: ${sfs_mode}" + echo " -c Set SquashFS compression type (gzip, lzma, lzo, xz, zstd)" + echo " Default: '${sfs_comp}'" ++ echo " -t Set additional SquashFS options" ++ echo " Default: ''" + echo " -v Enable verbose output" + echo " -h This message" + echo " commands:" +@@ -223,9 +226,9 @@ _mkairootfs_img () { + 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_opts} -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_opts} -no-progress + fi + _msg_info "Done!" + rm ${work_dir}/airootfs.img +@@ -240,9 +243,9 @@ _mkairootfs_sfs () { + 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_opts} -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_opts} -no-progress + fi + _msg_info "Done!" + } +@@ -369,7 +372,7 @@ fi + + 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:t:g:vh' arg; do + case "${arg}" in + p) pkg_list="${pkg_list} ${OPTARG}" ;; + r) run_cmd="${OPTARG}" ;; +@@ -382,6 +385,7 @@ while getopts 'p:r:C:L:P:A:D:w:o:s:c:g:vh' arg; do + o) out_dir="${OPTARG}" ;; + s) sfs_mode="${OPTARG}" ;; + c) sfs_comp="${OPTARG}" ;; ++ t) sfs_opts="${OPTARG}" ;; + g) gpg_key="${OPTARG}" ;; + v) quiet="n" ;; + h|?) _usage 0 ;;