Sumber Artikel : Instalasi openSUSE tanpa CD/DVD – Menggunakan PXE Boot Network & Instalasi openSUSE tanpa CD/DVD – Menggunakan PXE Boot Network Bagian II
Instalasi openSUSE melalui jaringan dapat dilakukan dengan berbagai cara, baik melalui protokol http, FTP, Samba, NFS maupun protokol lainnya. Kesemua proses tersebut biasanya tetap membutuhkan 1 tahapan penting yaitu menggunakan CD/DVD untuk melakukan boot hingga proses instalasi dapat memilih apakah menggunakan repo jaringan atau tidak. Jadi term instalasi melalui jaringan disini lebih menekankan pada aspek penempatan repositorinya.
Meski cara tersebut sudah sangat membantu untuk instalasi, ada beberapa kebutuhan dimana kita tidak bisa menggunakan CD/DVD untuk melakukan proses booting. Hal ini terjadi bisa karena 2 hal, pertama karena kita tidak punya CD/DVD ROM atau CD/DVD ROMnya rusak (kacian deh lo 😛 ) dan kemungkinan kedua, CD/DVD instalasi rusak karena scratch, gores atau berbagai sebab lain.
Untuk mengatasinya kita bisa menggunakan 2 cara. Cara pertama adalah dengan menggunakan script yang akan menambahkan entry pada grub dan nantinya kita dapat memilih instalasi menggunakan repositori jaringan. Tips ini dapat dibaca pada link berikut : Instalasi openSUSE Melalui Jaringan Melalui Modifikasi Grub. Sayangnya, cara ini memiliki kelemahan, yaitu kita harus sudah memiliki sistem openSUSE yang sudah berjalan.
Cara kedua adalah dengan menggunakan feature Boot from LAN yang biasanya disediakan motherboard-motherboard generasi sekarang. Feature Boot from LAN ini akan memerintahkan komputer untuk secara otomatis mencari sumber instalasi melalui jaringan. Konsep ini sendiri biasa dikenal dengan nama PXE Boot.
APA YANG DIMAKSUD DENGAN PXE BOOT ?
PXE adalah singkatan dari Preboot Execution Environment. PXE adalah salah satu cara menjalankan komputer tanpa Floppy/Hard Disk/CD-ROM, dalam arti bahwa BIOS akan secara otomatis menjalankan perintah yang dikirimkan melalui jaringan. Tentu saja cara ini membutuhkan server yang bertindak sebagai penyedia layanan PXE dan komputer client harus memiliki kemampuan booting melalui jaringan.
Sebagian besar motherboard baru memiliki fasilitas Boot from LAN secara default. Boot from LAN biasa dikenal juga sebagai BOOTROM. Kita harus mengaktifkan kemampuan Boot from LAN ini melalui BIOS setup. Proses setup mungkin saja berbeda antara motherboard yang satu dengan yang lainnya namun biasanya terletak di menu Advanced BIOS setup. Aktifkan juga setting agar Boot from LAN/Network sebagai prioritas utama booting.
APA KEUNTUNGAN DARI INSTALASI MELALUI PXE BOOT ?
- Tidak memerlukan CD/DVD/Floppy/LiveUSB maupun sistem yang sudah terinstall. Satu-satunya yang diperlukan adalah server yang sudah disetup dan klien mendukung boot dari LAN.
- Mudah dan cepat dikonfigurasi
- Tidak membutuhkan media untuk booting. Tidak perlu burning Net ISO untuk melakukan booting.
- Mengurangi biaya instalasi dan upgrade dan mengurangi kemungkinan kesalahan setting
- Mengurangi waktu persiapan dan proses instalasi
- Jika dipadukan dengan autoyast, Instalasi menggunakan PXE boot dapat secara otomatis melakukan instalasi paket yang sudah distandarisasi dan pada akhirnya kita dapat melakukan proses unattended install. Unattended install adalah proses instalasi tanpa campur tangan kita. Penjelasan mengenai Autoyast dapat diakses di disini.
KONFIGURASI SERVER
MEMPERSIAPKAN INSTALLATION SOURCE/REPOSITORI LOKAL
Dalam tutorial ini saya akan menggunakan instalasi melalui jaringan menggunakan protokol http. Pada prakteknya, protokol yang disupport oleh openSUSE sangat beragam, antara lain dalam bentuk protokol smb, nfs, ftp dan lain sebagainya.
- Instalasi Apache server, buat folder dengan nama 11.1 di /srv/www/htdocs
zypper in -t pattern lamp_server service apache2 start mkdir /srv/www/htdocs/11.1
- Copy seluruh isi DVD openSUSE 11.1 kedalam /srv/www/htdocs/11.1.
- Jika tidak punya DVD atau tidak ingin melakukan DVD, anda bisa menggunakan file ISO. Lakukan proses mount dengan perintah : mount -o loop iso-image target-folder). Untuk keperluan sesaat, mount bisa dilakukan langsung ke folder /srv/www/htdocs/11.1 namun untuk keperluan permanen, mount ke folder lain baru kemudian isinya dicopy ke /srv/www/htdocs/11.1.
MEMPERSIAPKAN TFTP SERVER
TFTP Server merupakan singkatan dari Trivial File Transport Protocol (TFTP), model protokol untuk file transfer yang sederhana, dengan fungsi utama bertindak sebagai FTP server.
Kita akan menggunakan TFTP Server sebagai media melakukan booting berdasarkan data dari server jaringan.
- Install TFTP Server
zypper in yast2-tftp-server tftp syslinux
- Lakukan konfigursi TFTP Server. Klik YAST | Network Services | TFTP Server
`
- Pilih Enable, dan ubah Boot Image Directory menjadi /srv/tftpboot. Jika menggunakan firewall, jangan lupa untuk memberikan tanda centang/contreng pada pilihan Open Port in Firewall.
- Klik OK
- Coba check ke folder /srv/tftpboot, semestinya ada file dan folder tertentu.
CATATAN : Pada openSUSE 11.1, ada kemungkinan proses setup TFTP tidak secara otomatis melalukan copy data syslinux ke lokasi yang dituju sehingga ada kemungkinan folder /srv/tftpboot masih kosong. Jika ini yang terjadi, lakukan 2 hal sebagai berikut :
- Copy file /usr/share/syslinux/pxelinux.0 ke /srv/tftpboot
- Buat folder /srv/tftpboot/pxelinux.cfg
MEMPERSIAPKAN KONFIGURASI DHCP SERVER
DHCP(Dynamic Host Configuration Protocol) diperlukan untuk memberikan IP Address dan rujukan mengenai PXE Server yang akan digunakan oleh klien. Berikut adalah panduan konfigurasinya :
- Install DHCP Server
zypper in -t pattern dhcp_dns_server
- Backup konfigurasi awal DHCP Server
mv /etc/dhcpd.conf /etc/dhcpd.conf.original
- Buat file /etc/dhcpd.conf baru dengan isi sebagai berikut :
# dhcpd.conf # # Sample configuration file for ISC dhcpd ## option definitions common to all supported networks... # # All of this happens behind the firewall, and the whole domain # is made-up anwyay, so this is mostly fluff. # option domain-name "vavai.net"; # We don't have Nameservers... so let's just forget this item #option domain-name-servers ns1.networkboot.org, ns2.networkboot.org; default-lease-time 600; max-lease-time 7200; # if you do not use dynamical DNS updates: # # this statement is needed by dhcpd-3 needs at least this statement. # you have to delete it for dhcpd-2, because it does not know it. # # if you want to use dynamical DNS updates, you should first read # read /usr/share/doc/packages/dhcp-server/DDNS-howto.txt ddns-update-style none; ddns-updates off; # If this DHCP server is the official DHCP server for the local # network, the authoritative directive should be uncommented. #authoritative; # Use this to send dhcp log messages to a different log file (you also # have to hack syslog.conf to complete the redirection). log-facility local7; # We only want to respond to PXE DHCP requests allow booting; # define rules to identify DHCP Requests from PXE and Etherboot clients. class "pxe" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; } class "etherboot" { match if substring (option vendor-class-identifier, 0, 9) = "Etherboot"; } # This is our subnet for PXE boot/installation. subnet 192.168.0.0 netmask 255.255.255.0 { option broadcast-address 192.168.0.255; pool { range 192.168.0.101 192.168.0.150; # only need a few addresses default-lease-time 180; # no long lease time required for booting max-lease-time 360; # booted system does its own dhcp request server-name "192.168.0.8"; # This happens to be the IP of this server too next-server 192.168.0.8; # Address of the TFTP server filename "pxelinux.0"; allow members of "pxe"; # only respond to PXE requests allow members of "etherboot"; # allow etherboot, too } }
- Lakukan perubahan pada file /etc/dhcpd.conf, terutama untuk IP Address dari DHCP Server. Pada tutorial ini, IP yang akan digunakan sebagai server PXE adalah IP 192.168.0.8. Jangan lupa sesuaikan juga subnet, broadcast dan range address.
- Edit file /etc/sysconfig/dhcpd dan aktifkan network card yang akan digunakan untuk menerima respon permintaan DHCP. Contoh, jika saya menggunakan LAN Card pertama sebagai penerima respon, saya akan memilih eth0. Jika bingung, silakan pilih ANY 😀 .
# Examples: DHCPD_INTERFACE="eth0" # DHCPD_INTERFACE="eth0 eth1 eth2 tr0 wlan0" # DHCPD_INTERFACE="internal0 internal1" # DHCPD_INTERFACE="ANY" # DHCPD_INTERFACE="eth0"
- Start/Restart DHCP Service
service dhcpd restart
KONFIGURASI PXE BOOT
- Copy semua file yang ada di DVD (lihat bagian I) didalam folder/boot/i386/loader kedalam folder /srv/tftpboot : message, initrd dan linux
- Copy file yang ada di DVD dengan nama/boot/i386/loader/isolinux.cfg kedalam folder /srv/tftpboot/pxelinux.cfg/. Ganti namanya menjadi default
- Restart DHCP Service
service dhcpd restart