hizli_iso.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/bash
  2. hata_olustu(){
  3. echo "$1"
  4. exit 1
  5. }
  6. # gerekler
  7. [ ! -f /usr/bin/xorriso ] && hata_olustu "xorriso komutu bulunamadı!"
  8. [ ! -f /usr/sbin/mke2fs ] && hata_olustu "mke2fs komutu bulunamadı!"
  9. [ ! -f /usr/bin/mksquashfs ] && hata_olustu "mksquashfs komutu bulunamadı!"
  10. [ ! -f /usr/sbin/mkfs.vfat ] && hata_olustu "mkfs.vfat komutu bulunamadı!"
  11. if [ -z $ROOTFS ];then
  12. ROOTFS="/home/mlfs/onsistem"
  13. fi
  14. if [ ! -z $1 ];then
  15. ROOTFS="$1"
  16. fi
  17. if [ ! -d $ROOTFS ];then
  18. echo "$ROOTFS dizini mevcut değil!"
  19. exit 1
  20. fi
  21. # iso dizini içine updates dizini oluşturularak ilgili kök dizin altı dizin ve dosyalar konuşlandırılacak.
  22. echo "Sıkıştırma yapılmadan Iso dosyası hazırlanıyor..."
  23. #cp $ROOTFS/usr/lib/syslinux/isohdpfx.bin iso/boot/isolinux/isohdpfx.bin
  24. month="$(date -d "$D" '+%m')"
  25. day="$(date -d "$D" '+%d')"
  26. year="$(date -d "$D" '+%Y')"
  27. # updates dizini ile özel ayarların eklenmesi/üstüne yazılması
  28. rm -rf ./iso/updates
  29. cp -rf updates ./iso/
  30. # minimal imajda görsel kurucunun silinmesi
  31. if [ ! -f $ROOTFS/usr/bin/wayland-scanner ];then
  32. rm -rf iso/updates/opt/Milis-Yukleyici
  33. rm -rf iso/updates/root/Masaüstü
  34. fi
  35. echo "Efi ayarları yapılıyor..."
  36. mkdir -p iso/efi_tmp
  37. dd if=/dev/zero bs=1M count=64 of=./iso/efiboot.img
  38. mkfs.vfat -n Milis_EFI ./iso/efiboot.img
  39. mount -o loop ./iso/efiboot.img ./iso/efi_tmp
  40. cp -rf ./iso/boot/kernel ./iso/efi_tmp/
  41. cp -rf ./iso/boot/initrd ./iso/efi_tmp/
  42. cp -rf ./efi/* ./iso/efi_tmp/
  43. umount ./iso/efi_tmp
  44. rm -rf ./iso/efi_tmp
  45. echo "milis-2.1-${year}.${month}.${day}" > ./iso/updates/etc/milis-surum
  46. echo "Iso dosyası hazırlanıyor..."
  47. #cp $ROOTFS/usr/lib/syslinux/isohdpfx.bin iso/boot/isolinux/isohdpfx.bin
  48. xorriso -as mkisofs \
  49. -iso-level 3 -rock -joliet \
  50. -max-iso9660-filenames -omit-period \
  51. -omit-version-number -relaxed-filenames -allow-lowercase \
  52. -volid "MILIS_CALISAN" \
  53. -eltorito-boot boot/isolinux/isolinux.bin \
  54. -eltorito-catalog boot/isolinux/isolinux.cat \
  55. -no-emul-boot -boot-load-size 4 -boot-info-table \
  56. -eltorito-alt-boot -e efiboot.img -isohybrid-gpt-basdat -no-emul-boot \
  57. -isohybrid-mbr iso/boot/isolinux/isohdpfx.bin \
  58. -output "milis-2.1-${year}.${month}.${day}.iso" iso || echo "ISO imaj olusturalamadı";