Otomatisasi Setting PXE Boot Server untuk Instalasi openSUSE Via Jaringan

pxe

Beberapa waktu yang lalu saya sudah menulis panduan mengenai “Tutorial Instalasi openSUSE Tanpa CD/DVD Menggunakan PXE Boot” bagian I dan bagian II. Kedua tutorial itu semestinya mudah diikuti dan sukses dijalankan karena saya mencobanya berulang kali sebelum menuliskannya.

Untuk lebih mempermudah proses setup, saya membuatkan script untuk otomatisasi setup PXE Boot Server yang akan melakukan hal-hal sebagai berikut :

  1. Melakukan setup DHCP Server agar otomatis menerima permintaan DHCP dan request boot melalui Boot ROM / LAN Card
  2. Melakukan setup TFTP Server agar otomatis aktif pada saat boot
  3. Melakukan setup PXE Server dengan mengaktifkan konfigurasi syslinux dan file untuk booting

Berikut adalah tampilan pada saat script dijalankan (Klik jika membutuhkan tampilan yang lebih besar)

pxe-auto

Mengingat script ini membutuhkan file initrd dengan besar sekitar 22 MB dan file boot linux dengan besar sekitar 2 MB, saya memilih untuk menyediakan 2 buah file kompresi tar.gz, yaitu file script dengan initrd dan boot linux lengkap serta file kompresi tar.gz tanpa kedua file tersebut. Langkah ini saya tempuh agar proses download tidak terlalu lama. Kedua file tersebut (initrd dan linux) dapat ditemukan pada DVD openSUSE didalam folder /boot/i386/loader/.

Berikut adalah cara menggunakan script otomatisasi setting PXE Server :

  1. Download script. Silakan pilih, pxe boot lengkap dengan initrd (24 MB) atau pxe boot  tanpa  initrd (1 MB). Contoh pada tutorial ini menggunakan script pertama, pxe boot lengkap dengan initrd, karena itu sesuaikan nama file jika menggunakan pilihan kedua. Satu-satunya letak perbedaan kedua script adalah bahwa script pertama sudah dibundel dengan initrd sedangkan script kedua membutuhkan file initrd dan linux yang dapat dicopy dari DVD openSUSE. Saya menggunakan folder contoh /home/vavai sebagai tempat penyimpanan file script yang didownload.
  2. Buka konsole (ALT+F2, konsole atau ALT+F2, gnome-terminal jika menggunakan gnome desktop manager)
  3. Ekstrak, masuk ke folder dan jalankan script
    su
    cd /home/vavai
    tar -zxvf pxe-auto.tar.gz
    cd pxe-auto
    chmod +x pxe-server-auto.sh
    ./pxe-server-auto.sh
    
  4. Jika menggunakan script kedua (pxe server tanpa initrd), lakukan copy data file initrd dan linux dari folder /boot/i386/loader/ yang ada pada DVD openSUSE
  5. Lakukan  setting Bios agar boot melalui LAN (set agar LAN menjadi prioritas utama untuk booting dan aktifkan pilihan boot from lan)
  6. Restart komputer klien
    pxe-auto-client

Catatan :

  1. Instalasi melalui jaringan membutuhkan repositori jaringan lokal/internet. Silakan merujuk pada artikel bagian pertama diatas atau pada artikel ini : Membuat Repositori Lokal untuk openSUSE untuk membuat sebuah repo lokal
  2. Instalasi melalui repo online dapat dilakukan namun dengan pertimbangan kecepatan akses sangat berpengaruh, disarankan menggunakan repo lokal dalam bentuk DVD openSUSE yang isinya dicopy ke folder tertentu

Kode Bash Script :

#!/bin/sh

#Hapus Layar
clear

echo -e "########################################################################"
echo -e "# pxe-server-auto ver 2009.06.001, dites pada OpenSUSE 11.1            #"
echo -e "# Skrip untuk otomatisasi konfigurasi pxe server-instalasi via network #"
echo -e "# Masim 'Vavai' Sugianto - vavai@vavai.com - http://vavai.com/blog/v2  #"
echo -e "########################################################################"

echo ""

#Default Configuration
startdirectory="/tmp/pxe-auto/"
searchterm="vavai.com"
ibold="\033[1m""\n===> "
ebold="\033[0m"

versi=$(grep "VERSION" /etc/SuSE-release | cut -f 2 -d =)

#Lakukan trim agar tidak ada white space
versi=${versi/ /}

#Tanya, punya akses internet tidak ? Jika ya, gunakan repo online
echo -n "Apakah anda ingin instalasi menggunakan repo online ? [Y/T] "
read jawab
flag_akses_internet="`echo $jawab|tr [a-z] [A-Z]`"

echo -e $ibold"Membaca variabel konfigurasi.............................."$ebold
echo ""
echo "Proses konfigurasi..."
echo -n "Masukkan nama domain (contoh : vavai.com) : "
read nama_domain
echo -n "Masukkan alamat IP (contoh : 192.168.0.1) : "
read alamat_ip
echo -n "Range DHCP IP Address (contoh : 192.168.0.201 192.168.0.250) : "
read range_ip

#Subnet IP
subip1=$(echo $alamat_ip | cut -f 1 -d .)
subip2=$(echo $alamat_ip | cut -f 2 -d .)
subip3=$(echo $alamat_ip | cut -f 3 -d .)
subip4=$(echo $alamat_ip | cut -f 4 -d .)

subnet_ip="$subip1.$subip2.$subip3.0"
broadcast_ip="$subip1.$subip2.$subip3.255"

echo -e $ibold"Refresh repositori..........................................."$ebold

if [ "$flag_akses_internet" = "Y" ] ;
then
zypper mr -da
zypper ar "http://mirror1.opensuse.or.id/repo/$versi/oss/" oss-m1
zypper ar "http://mirror1.opensuse.or.id/repo/$versi/non-oss/" non-oss-m1
#   zypper ar http://mirror1.opensuse.or.id/repo/packman/suse/11.1/ packman-m1
zypper ref
fi

echo -e $ibold"Installasi paket yang dibutuhkan............................"$ebold
zypper in rsync yast2-tftp-server tftp syslinux dhcp-server dhcp-relay dhcp-tools dhcpv6 yast2-dhcp-server

echo -e $ibold"Salin file konfigurasi ke folder temporary.................."$ebold
mkdir -p $startdirectory

rsync -av --delete . $startdirectory

echo -e $ibold"Ubah konfigurasi.............................................."$ebold

for file in $(grep -l -R $searchterm $startdirectory)
do
sed -e "s/$searchterm/$nama_domain/g" -e "s/192.168.0.0/$subnet_ip/g" -e "s/192.168.0.1/$alamat_ip/g" -e "s/192.168.0.201 192.168.0.250/$range_ip/g" -e "s/192.168.0.255/$broadcast_ip/g" $file > /tmp/tempfile.tmp
mv /tmp/tempfile.tmp $file
echo "Modified: " $file
done
echo "Done!"

echo -e $ibold"Update konfigurasi............................................"$ebold

mkdir -p /srv/tftpboot
rsync -av  $startdirectory"tftpboot/" /srv/tftpboot
mv /etc/dhcpd.conf /etc/dhcpd.conf.asli
cp $startdirectory"dhcpd.conf" /etc/
cp $startdirectory"tftp" /etc/xinetd.d

echo -e $ibold"Menjalankan service.........................................."$ebold
chkconfig --add dhcpd
chkconfig dhcpd on
service dhcpd restart
service xinetd restart
#SuSEconfig

echo -e $ibold"Proses konfigurasi telah selesai............................."$ebold

Popularity: 17% [?]

2 Responses to “ Otomatisasi Setting PXE Boot Server untuk Instalasi openSUSE Via Jaringan ”

  1. Mas / Oom / Pak!
    SAya nyoba CetOS 5.2 buat jadi pxe server untuk nge-boot NEC Versa M320. Error message yang nongol pxe-32:tftp open time out. configurasi mana yang salah ya…

    konfigurasinya nyontek di shirwablog.com

  2. mas kok link untuk scrip memakai init(pxe boot lengkap dengan initrd (24 MB) ) rusak ya. tolong di upload lagi.thx

Leave a Reply

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <em> <strong>