iso-onhazirlik.sh 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. #!/bin/bash
  2. bootstrap_dosya="reposuz-milis-bootstrap-enson.sfs"
  3. bootstrap_url="http://kaynaklar.milislinux.org/iso/$bootstrap_dosya"
  4. # sfs dosyasının indirilmesi ve açılması
  5. mesaj bilgi "milis-bootstrap indir ve aç";
  6. if [ ! -d $LFS ]; then
  7. cd ${LFS%/*} # üst klasöre git (/mnt)
  8. if [ ! -f "$bootstrap_dosya" ]; then
  9. wget $bootstrap_url
  10. fi
  11. unsquashfs $bootstrap_dosya && mv squashfs-root ${LFS##*/} #son klasör adıyla taşı (/mnt/milis için milis)
  12. fi
  13. # sources dizin oluşturma ve milis.git repo kopyalanması
  14. mesaj bilgi "milis.git repo kopyalanması";
  15. mkdir -p $LFS/sources
  16. cp -rf /sources/milis.git $LFS/sources/
  17. # dns
  18. #echo 'nameserver 8.8.8.8' > $LFS/etc/resolv.conf
  19. cp -f /etc/resolv.conf $LFS/etc/
  20. # unmount ve mount islemleri
  21. _umount
  22. _mount
  23. # bashrc kopyalayalim
  24. cp -r /sources/milis.git/ayarlar/bashrc_chroot "$LFS"/etc/bashrc
  25. # mps.conf ve guncelle
  26. mesaj bilgi "paket sistemi guncellemesi";
  27. cp -r $MPSCONF $LFS/etc/
  28. chroot $LFS /bin/bash -c "mps guncelle && mps -GG && mps -G"
  29. mesaj bilgi "linux-firmware, kernel, dracut, xorg kurulumu";
  30. if [ -d "$LFS/root/bin/dracut" ]; then chroot $LFS /bin/bash -c "rm -rf /root/bin/dracut"; fi
  31. if [ ! -d "$LFS/var/lib/pkg/DB/linux-firmware" ]; then chroot $LFS /bin/bash -c "mps kur linux-firmware"; fi
  32. if [ ! -d "$LFS/var/lib/pkg/DB/linux-firmware" ]; then exit 1; fi
  33. if [ ! -d "$LFS/var/lib/pkg/DB/kernel" ]; then chroot $LFS /bin/bash -c "mps kur kernel"; fi
  34. if [ ! -d "$LFS/var/lib/pkg/DB/kernel" ]; then exit 1; fi
  35. if [ ! -f "$LFS/usr/bin/dracut" ]; then rm -rf $LFS/usr/bin/dracut; fi # dracut dizin ise sil..
  36. if [ ! -d "$LFS/var/lib/pkg/DB/dracut" ]; then chroot $LFS /bin/bash -c "mps kur dracut || true"; fi
  37. if [ ! -d "$LFS/var/lib/pkg/DB/cryptsetup" ]; then chroot $LFS /bin/bash -c "mps kur cryptsetup"; fi
  38. if [ ! -d "$LFS/var/lib/pkg/DB/syslinux" ]; then chroot $LFS /bin/bash -c "mps kur syslinux"; fi
  39. if [ ! -z ${MASAUSTU} ];then
  40. if [ ! -d "$LFS/var/lib/pkg/DB/xorg" ]; then chroot $LFS /bin/bash -c "mps kur xorg"; fi
  41. if [ ! -d "$LFS/var/lib/pkg/DB/xf86-video-openchrome" ]; then chroot $LFS /bin/bash -c "mps kur xf86-video-openchrome"; fi
  42. #temel-ek uygulamaların kurulması
  43. TEMEL_EK_PAKETLER=()
  44. mesaj bilgi "Her masaüstü için gerekli paketlerin kurulmasi";
  45. for tepaket in $(cat $BUILDER_ROOT/$OZELLESTIRME/uygulamalar); do
  46. if [ ! -d "$LFS/var/lib/pkg/DB/$tepaket" ]; then
  47. chroot $LFS /bin/bash -c "mps kur $tepaket"
  48. fi
  49. done
  50. for gerekli in $(cat $BUILDER_ROOT/$OZELLESTIRME/$MASAUSTU/apps); do
  51. if [ ! -d "$LFS/var/lib/pkg/DB/$gerekli" ]; then chroot $LFS /bin/bash -c "mps kur $gerekli"; fi
  52. if [ ! -d "$LFS/var/lib/pkg/DB/$gerekli" ]; then mesaj hata "$gerekli paketi kurulamadı!";exit 1; fi
  53. done
  54. # Masaüstü ortamının kurulumu
  55. if [ -f "$BUILDER_ROOT/scripts/de-$MASAUSTU.sh" ];then
  56. . $BUILDER_ROOT/scripts/de-$MASAUSTU.sh
  57. else
  58. mesaj hata "de-$MASAUSTU.sh betik dosyası bulunamadı!";
  59. exit 1
  60. fi
  61. # girisci kurulum
  62. if [ -f "$BUILDER_ROOT/scripts/de-login-$GIRISYONETICISI.sh" ];then
  63. . $BUILDER_ROOT/scripts/de-login-$GIRISYONETICISI.sh
  64. else
  65. mesaj hata "de-login-$GIRISYONETICISI.sh betik dosyası bulunamadı!";
  66. exit 1
  67. fi
  68. else
  69. mesaj bilgi "Minimal imaj için masaüstü ayarları es geçildi.";
  70. fi
  71. # ekstra paketlerin kurulmasi
  72. for paket in $EXTRA_PAKETLER; do
  73. if [ ! -d "$LFS/var/lib/pkg/DB/$paket" ]; then
  74. chroot $LFS /bin/bash -c "mps kur $paket"
  75. fi
  76. done
  77. # hostname
  78. chroot $LFS /bin/bash -c "echo 'HOSTNAME=\"$HOSTNAME\"' > /etc/sysconfig/network"
  79. chroot $LFS /bin/bash -c "echo 'MANAGER=\"networkmanager\"' >> /etc/sysconfig/network"
  80. # baslatici olustur
  81. mesaj bilgi "diğer ayarlar ve yapılandırmalar";
  82. chroot $LFS /bin/bash -c "rm -f /boot/initramfs"
  83. chroot $LFS /bin/bash -c "dracut -N --force --xz --add 'dmsquash-live pollcdrom crypt' --omit systemd /boot/initramfs `ls /lib/modules`"
  84. chroot $LFS /bin/bash -c "if [ -f /var/lib/pkg/tarihce/temel-pkvt.tar.lz ]; then mv /var/lib/pkg/tarihce/temel-pkvt.tar.lz /var/lib/pkg/tarihce/temel2-pkvt.tar.lz; fi"
  85. chroot $LFS /bin/bash -c "rm -rf /tmp/*"
  86. chroot $LFS /bin/bash -c "rm -rf /depo/paketler/*"
  87. chroot $LFS /bin/bash -c "mps -tro"
  88. chroot $LFS /bin/bash -c "export LC_ALL='tr_TR.UTF-8'"
  89. chroot $LFS /bin/bash -c "export LANG='tr_TR.UTF-8'"
  90. if [ ! -z ${MASAUSTU} ];then
  91. #plymouth tema ayarlanması
  92. [ -d $BUILDER_ROOT/$OZELLESTIRME/plymouth/$PLYMOUTH_TEMA ] && cp -rf $BUILDER_ROOT/$OZELLESTIRME/plymouth/$PLYMOUTH_TEMA $LFS/usr/share/plymouth/themes/
  93. chroot $LFS /bin/bash -c "plymouth-set-default-theme $PLYMOUTH_TEMA"
  94. #chroot $LFS /bin/bash -c "[ -f /usr/bin/xdg-user-dirs-update ] && xdg-user-dirs-update"
  95. chroot $LFS /bin/bash -c "cp -rf /sources/milis.git/ayarlar/milbit/milbit.desktop /usr/share/applications/"
  96. chroot $LFS /bin/bash -c "tamir_touchpad"
  97. chroot $LFS /bin/bash -c "tamir_masaustu"
  98. fi
  99. #eski kurulum masaüstü kısayolu
  100. chroot $LFS /bin/bash -c "rm -f /root/.gitconfig"
  101. chroot $LFS /bin/bash -c "git_ssl_tamir"
  102. mesaj bilgi "Ön Hazırlık başarıyla tamamlandı."
  103. mesaj bilgi "ISO oluşturma adımına geçebilirsiniz."