summaryrefslogtreecommitdiff
path: root/archiso/mkarchiso
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-11-28 12:28:03 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-11-28 12:28:03 -0300
commitcd359bc37a23bdfdb751883f33f6972229648cf7 (patch)
tree8302165701a569c3c8490aaa491d031b1a21f54a /archiso/mkarchiso
parent0411fc90bbece254373808fb02ed2e3ce9d75758 (diff)
[archiso] Checksum only aitab and *.sfs (per architecture)
We are currently checksuming all files inside $archisobasedir (aitab, *sfs, kernel/initramfs and boot/syslinux related files) this is stored in one file only. Its works good for now, but I think we only need to checksum only aitab and *.sfs if they are needed. Currently if you boot a dual-iso in i686, also checksum is done for *.sfs of x86_64. Not a big issue, this just take a bit more time. The real issue is when booting via PXE with HTTP/FTP methods, since they download only aitab and needed *.sfs files, can not use directly the only one file where checksums are stored. This patch does: (1) Do not checksum syslinux related files, anyway you are already reach initramfs stage. (2) Do not checksum kernel/initramfs files, for the same as (1) (3) Two checksum.${arch}.md5 for each i686 and x86_64 for only aitab and *.sfs. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Diffstat (limited to 'archiso/mkarchiso')
-rwxr-xr-xarchiso/mkarchiso24
1 files changed, 17 insertions, 7 deletions
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.