#!/bin/bash # usage: ./mkarchiso.sh ISO_IMAGE KEYMAP=/home/user/Downloads/neo.map.gz ISO=$1 mkdir -p /tmp/iso /tmp/ext bsdtar xf $ISO -C /tmp/iso cd /tmp unsquashfs -d sfs-i686 iso/arch/i686/root-image.fs.sfs unsquashfs -d sfs-x86_64 iso/arch/x86_64/root-image.fs.sfs #unsquashfs -d sfs-any iso/arch/any/usr-share.fs.sfs mount sfs-i686/root-image.fs ext cp $KEYMAP ext/usr/share/kbd/keymaps/i386/qwerty/ umount ext mount sfs-x86_64/root-image.fs ext cp $KEYMAP ext/usr/share/kbd/keymaps/i386/qwerty/ umount ext #mount sfs-any/usr-share.fs ext #cp $KEYMAP ext/usr/share/kbd/keymaps/i386/qwerty/ #umount ext mksquashfs sfs-i686/root-image.fs{,.sfs} -noappend -comp xz -no-progress mksquashfs sfs-x86_64/root-image.fs{,.sfs} -noappend -comp xz -no-progress #mksquashfs sfs-any/usr-share.fs{,.sfs} -noappend -comp xz -no-progress cp -f sfs-i686/root-image.fs.sfs iso/arch/i686/ cp -f sfs-x86_64/root-image.fs.sfs iso/arch/x86_64/ #cp -f sfs-any/usr-share.fs.sfs iso/arch/any/ cd /tmp/iso/arch (sed -n '/^.*i686\/root-image\.fs\.sfs$/!p' checksum.i686.md5; md5sum i686/root-image.fs.sfs) > tmp mv tmp checksum.i686.md5 (sed -n '/^.*x86_64\/root-image\.fs\.sfs$/!p' checksum.x86_64.md5; md5sum x86_64/root-image.fs.sfs) > tmp mv tmp checksum.x86_64.md5 cd /tmp rm -rf sfs-* genisoimage -l -r -J -V "ARCH_201305" -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o ~/arch-custom.iso /tmp/iso/