Doküman “ISO İnşa Adımları, Örnek Preseed Dosyası ve ISO İnşa Betiği” adımlarını içererir. ISO İnşa Adımları‘nı inceledikten sonra kendi preseed dosyanızı oluşturarak ilerleyebilirsiniz.
#ISO İnşa Adımları
Öncelikle;
sudo su
ile yetki alınır. Daha sonra iso inşa için gerekli paketler kurulur;
apt install wget xorriso isolinux -y
Baz alınacak Pardus imajı indirilir;
wget http://indir.pardus.org.tr/ISO/Pardus19/Pardus-19.0-XFCE-amd64.iso
ISO dosyalarının oluşturulacağı dizin /opt altına oluşturulur;
mkdir -p /opt/pardusiso
Pardus Pardus-19.0-XFCE isosu açılır;
xorriso -osirrox on -indev Pardus-19.0-XFCE-amd64.iso -extract / /opt/pardusiso
Kurulum seçeneklerine preseed.cfg satırı eklenir;
sed -i 's+append vga=788 --- quiet+append file=/cdrom/preseed.cfg vga=788 --- quiet+g' /opt/pardusiso/isolinux/install.cfg
sed -i 's+append video=vesa:ywrap,mtrr vga=788 --- quiet+append file=/cdrom/preseed.cfg video=vesa:ywrap,mtrr vga=788 --- quiet+g' /opt/pardusiso/isolinux/install.cfg
yukarıdaki iki sed komutu ile hem “Kur” seçeneğine hemde “Grafik arayüz ile kur” seçeneğine preseed dosyası eklenir.
new-preseed.iso kısmına yeni oluşacak iso dosyasının ismini verilir;
xorriso -as mkisofs -o new-preseed.iso -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table /opt/pardusiso/
Yukarıdaki komutların çalıştırıldığı dizine new-preseed.iso ismi ile dosya oluşturulur. Arzu edilirse /tmp/new-preseed.iso şeklinde tanımlama ile istenilen dizine oluşturulması sağlanabilir.
#Örnek Preseed Dosyası
Aşağıdaki satırları preseed.cfg dosyası oluşturarak pardus_build_iso.sh betiğinin yanına koyabilir veya elle /opt/pardusiso/isolinux/ dizini altına oluşturabilir/kopyalayabilirsiniz
# This file replaces preseed.cfg embedded in the initrd by
# debian-installer. It should be kept in sync except with the
# mirror/{codename,suite} dropped so that the image installs
# what's available on the CD instead of hardcoding a specific
# release.
d-i debian-installer/locale string tr_TR
d-i debian-installer/locale seen false
# Don't complain about incomplete translation
d-i localechooser/translation/warn-light boolean true
d-i localechooser/translation/warn-severe boolean true
d-i localechooser/translation/text/warn-incomplete boolean false
d-i localechooser/translation/text/warn-partial boolean false
# To create a normal user account.
d-i passwd/user-fullname string Pardus
d-i passwd/username string pardus
# Normal user's password, either in clear text
d-i passwd/user-password password pardus
d-i passwd/user-password-again password pardus
# or encrypted using a crypt(3) hash.
#d-i passwd/user-password-crypted password [crypt(3) hash]
# Create the first user with the specified UID instead of the default.
#d-i passwd/user-uid string 1010
# Change default hostname
d-i netcfg/get_hostname string pardus
d-i netcfg/get_hostname seen false
#Domain name otomatik atanır
d-i netcfg/get_domain string pardus.local
# Default repository information (don't include codename data, d-i figures it
# out from what's available in the ISO)
d-i mirror/country string manually
d-i mirror/http/hostname string depo.pardus.org.tr
d-i mirror/http/hostname seen false
d-i mirror/http/directory string /pardus
d-i mirror/http/proxy string
# We might need these later, think about the following lines.
d-i apt-setup/services-select multiselect
#d-i apt-setup/security_host string depo.pardus.org.tr
#d-i apt-setup/security_path string /guvenlik
# Set apt
d-i apt-setup/use_mirror boolean false
d-i apt-setup/disable-cdrom-entries boolean true
d-i apt-setup/cdrom/set-first boolean false
d-i apt-setup/cdrom/set-next boolean false
d-i apt-setup/cdrom/set-failed boolean false
d-i apt-setup/enable-source-repositories boolean false
# Disable upgrading while installation
#d-i pkgsel/upgrade select none
d-i pkgsel/upgrade select full-upgrade
# No root login allowed
d-i passwd/root-login boolean false
# Create a normal user account
d-i passwd/make-user boolean true
# Disable popularity-contest
popularity-contest popularity-contest/participate boolean false
# You can choose to install non-free and contrib software.
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
# Uncomment this if you don't want to use a network mirror.
d-i apt-setup/use_mirror boolean false
# Run late commands in the target
d-i preseed/late_command string sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/g' /target/etc/default/grub; \
sed -i 's/#GRUB_GFXMODE=640x480/GRUB_GFXMODE=640x480/g' /target/etc/default/grub; \
sed -i 's/Debian/Pardus/g' /target/etc/default/grub; \
rm -fr /target/boot/efi/EFI/debian; \
cp -a /target/boot/efi/EFI/pardus /target/boot/efi/EFI/debian; \
in-target update-grub
#Yeni depo eklenir
d-i apt-setup/local0/repository string deb http://depo.pardus.org.tr/pardus ondokuz main contrib non-free
d-i apt-setup/local0/source boolean false
#Kendi depolarımı ve gpg keyi ekledim
d-i apt-setup/local1/repository string deb http://depopardus.com.tr/pardus testing main
d-i apt-setup/local1/source boolean false
d-i apt-setup/local1/key string http://depopardus.com.tr/pardus/omer-archive-keyring.gpg
###Linkler
#ISO İnşa Betiği
Aşağıdaki satırları kopyalayıp pardus_build_iso.sh dosyası içine atınız.
chmod +x pardus_build_iso.sh
ile çalıştırma yetkisi veriniz. Daha sonra
./pardus_build_iso.sh
komutu ile betiği çalıştırınız.
#!/bin/bash
## ISO oluşturmak içn gerekli paket bağımlılıkları kurulur.
apt install wget xorriso isolinux -y
## Baz alınacak Pardus imajı indirilir.
wget http://indir.pardus.org.tr/ISO/Pardus19/Pardus-19.0-XFCE-amd64.iso
echo "ISO dosyalarının oluşturulacağı dizin /opt altına oluşturuluyor..."
mkdir -p /opt/pardusiso
echo "Pardus Pardus-19.0-XFCE isosu açılıyor..."
xorriso -osirrox on -indev Pardus-19.0-XFCE-amd64.iso -extract / /opt/pardusiso
echo "Konfigurasyon dosyaları kopyalanıyor..."
cp menu.cfg menu_tr.cfg /opt/pardusiso/isolinux/
cp preseed.cfg /opt/pardusiso/
echo "Kurulum seçeneklerine preseed.cfg satırı ekleniyor..."
sed -i 's+append vga=788 --- quiet+append file=/cdrom/preseed.cfg vga=788 --- quiet+g' /opt/pardusiso/isolinux/install.cfg
sed -i 's+append video=vesa:ywrap,mtrr vga=788 --- quiet+append file=/cdrom/preseed.cfg video=vesa:ywrap,mtrr vga=788 --- quiet+g' /opt/pardusiso/isolinux/install.cfg
echo "ISO oluşturuluyor..."
DATE=`date +%y%m%d%H%M`
xorriso -as mkisofs -o Pardus-19.0-XFCE-amd64-$DATE.iso -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table /opt/pardusiso/
#echo "ISO için oluşturulan dizin siliniyor..."
rm -rf /opt/pardusiso
yer=$(pwd)
iso="Pardus-19.0-XFCE-amd64-"$DATE".iso"
echo "ISO " $yer "dizini altına " $iso "ismi ile oluşturuldu.."