46 lines
1.4 KiB
Bash
Executable File
46 lines
1.4 KiB
Bash
Executable File
#!/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/
|
|
|