summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xarchiso/mkarchiso43
1 files changed, 13 insertions, 30 deletions
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index a0edf26..4d8496f 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -39,15 +39,6 @@ _msg_error() {
fi
}
-# Show space usage similar to df, but better formatted.
-# $1: mount-point or mounted device.
-_show_space_usage () {
- local _where="${1}"
- local _fs _total _used _avail _pct_u=0 _mnt
- read _fs _total _used _avail _pct_u _mnt < <(df -m "${_where}" | tail -1) &> /dev/null
- _msg_info "Total: ${_total} MiB (100%) | Used: ${_used} MiB (${_pct_u}) | Avail: ${_avail} MiB ($((100 - ${_pct_u%\%}))%)"
-}
-
_chroot_init() {
if [[ -f "${work_dir}/mkarchiso.init" ]]; then
_msg_info "Initial enviroment already installed, skipping."
@@ -62,27 +53,19 @@ _chroot_run() {
eval arch-chroot ${work_dir}/airootfs "${run_cmd}"
}
-# Mount a filesystem (trap signals in case of error for unmounting it
-# $1: source image
-# $2: mount-point
-_mount_fs() {
- local _src="${1}"
- local _dst="${2}"
- trap "_umount_fs ${_src}" EXIT HUP INT TERM
- mkdir -p "${_dst}"
- _msg_info "Mounting '${_src}' on '${_dst}'"
- mount "${_src}" "${_dst}"
- _show_space_usage "${_dst}"
+_mount_airootfs() {
+ trap "_umount_airootfs" EXIT HUP INT TERM
+ mkdir -p "${work_dir}/mnt/airootfs"
+ _msg_info "Mounting '${work_dir}/airootfs.img' on '${work_dir}/mnt/airootfs'"
+ mount "${work_dir}/airootfs.img" "${work_dir}/mnt/airootfs"
+ _msg_info "Done!"
}
-# Unmount a filesystem (and untrap signals)
-# $1: mount-point or device/image
-_umount_fs() {
- local _dst="${1}"
- _show_space_usage "${_dst}"
- _msg_info "Unmounting '${_dst}'"
- umount "${_dst}"
- rmdir "${_dst}"
+_umount_airootfs() {
+ _msg_info "Unmounting '${work_dir}/mnt/airootfs'"
+ umount "${work_dir}/mnt/airootfs"
+ _msg_info "Done!"
+ rmdir "${work_dir}/mnt/airootfs"
trap - EXIT HUP INT TERM
}
@@ -258,11 +241,11 @@ _mkairootfs () {
mkfs.ext4 ${_qflag} -O ^has_journal -E lazy_itable_init=0 -m 0 -F "${work_dir}/airootfs.img"
tune2fs -c 0 -i 0 "${work_dir}/airootfs.img" &> /dev/null
_msg_info "Done!"
- _mount_fs "${work_dir}/airootfs.img" "${work_dir}/mnt/airootfs"
+ _mount_airootfs
_msg_info "Copying '${work_dir}/airootfs/' to '${work_dir}/mnt/airootfs/'..."
cp -aT "${work_dir}/airootfs/" "${work_dir}/mnt/airootfs/"
_msg_info "Done!"
- _umount_fs "${work_dir}/mnt/airootfs"
+ _umount_airootfs
_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