Merge remote-tracking branch 'nl6720/more-quiet'
* nl6720/more-quiet: mkarchiso: use mkfs.erofs --quiet in quiet mode mkarchiso: use mksquashfs -quiet instead of redirecting its stdout to /dev/null mkarchiso: do not show subdirectory sizes in netboot mode mkarchiso: redirect command -v output to /dev/null mkarchiso: silence xorriso's note about SOURCE_DATE_EPOCH mkarchiso: silence mkfs.fat in quiet mode
This commit is contained in:
commit
6cd4a64caa
@ -165,13 +165,10 @@ _cleanup_pacstrap_dir() {
|
||||
# Create a squashfs image and place it in the ISO 9660 file system.
|
||||
# $@: options to pass to mksquashfs
|
||||
_run_mksquashfs() {
|
||||
local image_path="${isofs_dir}/${install_dir}/${arch}/airootfs.sfs"
|
||||
local mksquashfs_options=() image_path="${isofs_dir}/${install_dir}/${arch}/airootfs.sfs"
|
||||
rm -f -- "${image_path}"
|
||||
if [[ "${quiet}" == "y" ]]; then
|
||||
mksquashfs "$@" "${image_path}" -noappend "${airootfs_image_tool_options[@]}" -no-progress > /dev/null
|
||||
else
|
||||
mksquashfs "$@" "${image_path}" -noappend "${airootfs_image_tool_options[@]}"
|
||||
fi
|
||||
[[ ! "${quiet}" == "y" ]] || mksquashfs_options+=('-no-progress' '-quiet')
|
||||
mksquashfs "$@" "${image_path}" -noappend "${airootfs_image_tool_options[@]}" "${mksquashfs_options[@]}"
|
||||
}
|
||||
|
||||
# Create an ext4 image containing the root file system and pack it inside a squashfs image.
|
||||
@ -216,16 +213,18 @@ _mkairootfs_squashfs() {
|
||||
|
||||
# Create an EROFS image containing the root file system and saves it on the ISO 9660 file system.
|
||||
_mkairootfs_erofs() {
|
||||
local fsuuid
|
||||
local fsuuid mkfs_erofs_options=()
|
||||
[[ -e "${pacstrap_dir}" ]] || _msg_error "The path '${pacstrap_dir}' does not exist" 1
|
||||
|
||||
install -d -m 0755 -- "${isofs_dir}/${install_dir}/${arch}"
|
||||
local image_path="${isofs_dir}/${install_dir}/${arch}/airootfs.erofs"
|
||||
rm -f -- "${image_path}"
|
||||
[[ ! "${quiet}" == "y" ]] || mkfs_erofs_options+=('--quiet')
|
||||
# Generate reproducible file system UUID from SOURCE_DATE_EPOCH
|
||||
fsuuid="$(uuidgen --sha1 --namespace 93a870ff-8565-4cf3-a67b-f47299271a96 --name "${SOURCE_DATE_EPOCH}")"
|
||||
mkfs_erofs_options+=('-U' "${fsuuid}" "${airootfs_image_tool_options[@]}")
|
||||
_msg_info "Creating EROFS image, this may take some time..."
|
||||
mkfs.erofs -U "${fsuuid}" "${airootfs_image_tool_options[@]}" -- "${image_path}" "${pacstrap_dir}"
|
||||
mkfs.erofs "${mkfs_erofs_options[@]}" -- "${image_path}" "${pacstrap_dir}"
|
||||
_msg_info "Done!"
|
||||
}
|
||||
|
||||
@ -505,7 +504,13 @@ _make_efibootimg() {
|
||||
# https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00099.html
|
||||
rm -f -- "${work_dir}/efiboot.img"
|
||||
_msg_info "Creating FAT image of size: ${imgsize} KiB..."
|
||||
mkfs.fat -C -n ARCHISO_EFI "${work_dir}/efiboot.img" "${imgsize}"
|
||||
if [[ "${quiet}" == "y" ]]; then
|
||||
# mkfs.fat does not have a -q/--quiet option, so redirect stdout to /dev/null instead
|
||||
# https://github.com/dosfstools/dosfstools/issues/103
|
||||
mkfs.fat -C -n ARCHISO_EFI "${work_dir}/efiboot.img" "${imgsize}" > /dev/null
|
||||
else
|
||||
mkfs.fat -C -n ARCHISO_EFI "${work_dir}/efiboot.img" "${imgsize}"
|
||||
fi
|
||||
|
||||
# Create the default/fallback boot path in which a boot loaders will be placed later.
|
||||
mmd -i "${work_dir}/efiboot.img" ::/EFI ::/EFI/BOOT
|
||||
@ -698,7 +703,7 @@ _export_netboot_artifacts() {
|
||||
install -d -m 0755 "${out_dir}"
|
||||
cp -a -- "${isofs_dir}/${install_dir}/" "${out_dir}/"
|
||||
_msg_info "Done!"
|
||||
du -h -- "${out_dir}/${install_dir}"
|
||||
du -hs -- "${out_dir}/${install_dir}"
|
||||
}
|
||||
|
||||
# sign build artifacts for netboot
|
||||
@ -742,7 +747,7 @@ _validate_requirements_airootfs_image_type_ext4+squashfs() {
|
||||
}
|
||||
|
||||
_validate_requirements_airootfs_image_type_erofs() {
|
||||
if ! command -v mkfs.erofs; then
|
||||
if ! command -v mkfs.erofs &> /dev/null; then
|
||||
(( validation_error=validation_error+1 ))
|
||||
_msg_error "Validating '${airootfs_image_type}': mkfs.erofs is not available on this host. Install 'erofs-utils'!" 0
|
||||
fi
|
||||
@ -989,12 +994,17 @@ _build_bootstrap_image() {
|
||||
|
||||
# Build ISO
|
||||
_build_iso_image() {
|
||||
local xorrisofs_options=()
|
||||
local xorriso_options=() xorrisofs_options=()
|
||||
local bootmode
|
||||
|
||||
[[ -d "${out_dir}" ]] || install -d -- "${out_dir}"
|
||||
|
||||
[[ "${quiet}" == "y" ]] && xorrisofs_options+=('-quiet')
|
||||
if [[ "${quiet}" == "y" ]]; then
|
||||
# The when xorriso is run in mkisofs compatibility mode (xorrisofs), the mkisofs option -quiet is interpreted
|
||||
# too late (e.g. messages about SOURCE_DATE_EPOCH still get shown).
|
||||
# Instead use native xorriso option to silence the output.
|
||||
xorriso_options=('-report_about' 'SORRY' "${xorriso_options[@]}")
|
||||
fi
|
||||
|
||||
# Add required xorrisofs options for each boot mode
|
||||
for bootmode in "${bootmodes[@]}"; do
|
||||
@ -1003,7 +1013,7 @@ _build_iso_image() {
|
||||
|
||||
rm -f -- "${out_dir}/${image_name}"
|
||||
_msg_info "Creating ISO image..."
|
||||
xorriso -as mkisofs \
|
||||
xorriso "${xorriso_options[@]}" -as mkisofs \
|
||||
-iso-level 3 \
|
||||
-full-iso9660-filenames \
|
||||
-joliet \
|
||||
|
Loading…
Reference in New Issue
Block a user