summaryrefslogtreecommitdiff
path: root/archiso
diff options
context:
space:
mode:
Diffstat (limited to 'archiso')
-rw-r--r--archiso/hooks/archiso8
-rwxr-xr-xarchiso/mkarchiso24
2 files changed, 21 insertions, 11 deletions
diff --git a/archiso/hooks/archiso b/archiso/hooks/archiso
index d03914a..e4ed52b 100644
--- a/archiso/hooks/archiso
+++ b/archiso/hooks/archiso
@@ -122,7 +122,7 @@ _mnt_dev() {
_verify_checksum() {
local _status
cd "/run/archiso/bootmnt/${archisobasedir}"
- md5sum -c checksum.md5 > /checksum.log 2>&1
+ md5sum -c checksum.${arch}.md5 > /tmp/checksum.${arch}.log 2>&1
_status=$?
cd "${OLDPWD}"
return ${_status}
@@ -177,17 +177,17 @@ archiso_mount_handler() {
fi
if [[ "${checksum}" == "y" ]]; then
- if [[ -f "/run/archiso/bootmnt/${archisobasedir}/checksum.md5" ]]; then
+ if [[ -f "/run/archiso/bootmnt/${archisobasedir}/checksum.${arch}.md5" ]]; then
msg -n ":: Self-test requested, please wait..."
if _verify_checksum; then
msg "done. Checksum is OK, continue booting."
else
echo "ERROR: one or more files are corrupted"
- echo "see /checksum.log for details"
+ echo "see /tmp/checksum.${arch}.log for details"
launch_interactive_shell
fi
else
- echo "ERROR: checksum=y option specified but checksum.md5 not found"
+ echo "ERROR: checksum=y option specified but checksum.${arch}.md5 not found"
launch_interactive_shell
fi
fi
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index 5d77128..fed953e 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -299,13 +299,23 @@ _mkfs () {
command_checksum () {
_show_config checksum
- if _is_directory_changed "${work_dir}/iso/${install_dir}" "${work_dir}/iso/${install_dir}/checksum.md5"; then
- _msg_info "Creating checksum file for self-test"
- cd "${work_dir}/iso/${install_dir}"
- find -type f ! -name checksum.md5 -print0 | xargs -0 md5sum > checksum.md5
- cd ${OLDPWD}
- _msg_info "Done!"
- fi
+ local _chk_arch
+
+ for _chk_arch in i686 x86_64; do
+ if _is_directory_changed "${work_dir}/iso/${install_dir}" "${work_dir}/iso/${install_dir}/checksum.${_chk_arch}.md5"; then
+ _msg_info "Creating checksum file for self-test (${_chk_arch})"
+ cd "${work_dir}/iso/${install_dir}"
+ if [[ -d "${_chk_arch}" ]]; then
+ md5sum aitab > checksum.${_chk_arch}.md5
+ find ${_chk_arch} -type f -print0 | xargs -0 md5sum >> checksum.${_chk_arch}.md5
+ if [[ -d "any" ]]; then
+ find any -type f -print0 | xargs -0 md5sum >> checksum.${_chk_arch}.md5
+ fi
+ fi
+ cd ${OLDPWD}
+ _msg_info "Done!"
+ fi
+ done
}
# Create an ISO9660 filesystem from "iso" directory.