Merhabalar,
Tübitak ile ortak çalışma sonrasında Ali hocamın hazırladığı scripti sizin ile paylaşmak istiyorum.
##################################################################
#!/bin/bash
set -e
:
if [[ "$1" == "" || ! -f "$1" ]] ; then
echo "Usage: $0 iso_path"
exit 1
fi
iso="$1"
if [[ $UID -ne 0 ]] ; then
echo "You must be root!"
exit 1
fi
apt update
apt install grub-pc-bin grub-efi-amd64-bin grub-efi-ia32-bin mtools xorriso squashfs-tools -y
echo -ne "\033c"
if [[ ! -d work/isowork/ ]] ; then
mkdir -p work/iso work/sfs work/chroot work/isowork
mount "$iso" work/iso
mount work/iso/live/filesystem.squashfs work/sfs
cp -prfv work/sfs/* work/chroot/
sync #### ramdaki gecici bilgileri diske yazmasını bekliyor.
cp -prfv work/iso/* work/isowork/
rm -rf work/isowork/live/* work/isowork/live/isolinux work/isowork/*sum*
sync
fi
for dir in /dev /dev/pts /sys /proc /run ; do
mount --bind $dir work/chroot/$dir
done
mount --bind /etc/resolv.conf work/chroot/etc/resolv.conf
#xhost +
#echo -ne "\033c"
#echo "Burada çalıştıracağınız komutlar düzenlenmiş iso içerisinde gelir."
#echo "Devam etmek için exit veya ctrl+d yapın."
chroot work/chroot bash || true
for dir in /run /proc /sys /dev/pts /dev ; do
umount -lf -R work/chroot/$dir
done
umount --bind /etc/resolv.conf work/chroot/etc/resolv.conf
echo -ne "\033c"
mksquashfs work/chroot work/isowork/live/filesystem.squashfs -comp gzip -wildcards
cp -pf work/chroot/boot/initrd* work/isowork/live/
cp -pf work/chroot/boot/vmlinuz* work/isowork/live/
cp -pf work/chroot/boot/initrd* work/isowork/live/initrd.img
cp -pf work/chroot/boot/vmlinuz* work/isowork/live/vmlinuz
grub-mkrescue -o custom.iso work/isowork
################################################################
yukarıdaki scripti isoedit.sh isimli olarak kaydettim. scriptin bulunduğu dizine klasör oluşturup çalışmaya başlayacak.
chmod 755 isoedit.sh
root olarak scripti çalıştırdım. editlemek istediğim iso gosterdim.
./isoedit.sh /data/Pardus21/download/Pardus-21.2-XFCE-amd64.iso
Hiç yorum yok:
Yorum Gönder