Untuk melakukannya, saya menggunakan laptop yang akan berperan sebagai PXE server. OS yang terinstall di laptop adalah Puppy OS 4.21. Yang diperlukan di laptop ini adalah server DHCP dan TFTP untuk mensupport protokol PXE. dnsmasq saya gunakan sebagai daemon DHCP dan TFTP ini.
Cara ini cukup efektif nih kalau ada beberapa (banyak) komputer yang harus diinstall dengan distro yang sama, misalnya untuk Warnet, laboratorium sekolah, kantor. Yang dibutuhkan hanya sebuah komputer server untuk DHCP dan menyimpan file image instalasi (yang besarnya relatif kecil, total hanya sekitar 12 MB). Paket-paket distro langsung diambil dari repository lewat jaringan. Ini suatu penghematan.
Bagaimana melakukannya, yah? Cukup mudah. Berikut eksperimen saya menggunakan Puppy OS.
Komputer baru yang akan diinstall tersebut (selanjutnya disebut client saja) menggunakan motherboard IntelD945GSEJT mini-ITX. Motherboard ini termasuk keluaran baru, sehingga ada peripheral yang tidak dikenali/disupport oleh kernel linux di bawah 2.6.30, misalnya Gigabit Ethernet Realtek RTL8168d. Ini keluarga x86, sehingga menggunakan binary untuk iX86.
Pertama saya mencoba menggunakan debian 5.0.3 (latest?). Ada masalah dengan ethernet. Ethernet card tidak terdeteksi, karena versi kernel 2.6.26-x. Device driver belum support untuk RTL8168d, terdeteksi sih hanya saja malfungsi, selalu ‘link down’. Kernel yang support device ethernet ini minimal versi 2.6.30, dan kernel ini ada di ubuntu karmic (yang juga based on debian). Ya, sudah. Karena tidak ada requirement khusus, ubuntu ini yang dipilih.
Sekarang menyiapkan ‘server PXE’ di puppy Linux. Yang perlu dilakukan:
Cara ini cukup efektif nih kalau ada beberapa (banyak) komputer yang harus diinstall dengan distro yang sama, misalnya untuk Warnet, laboratorium sekolah, kantor. Yang dibutuhkan hanya sebuah komputer server untuk DHCP dan menyimpan file image instalasi (yang besarnya relatif kecil, total hanya sekitar 12 MB). Paket-paket distro langsung diambil dari repository lewat jaringan. Ini suatu penghematan.
Bagaimana melakukannya, yah? Cukup mudah. Berikut eksperimen saya menggunakan Puppy OS.
Komputer baru yang akan diinstall tersebut (selanjutnya disebut client saja) menggunakan motherboard IntelD945GSEJT mini-ITX. Motherboard ini termasuk keluaran baru, sehingga ada peripheral yang tidak dikenali/disupport oleh kernel linux di bawah 2.6.30, misalnya Gigabit Ethernet Realtek RTL8168d. Ini keluarga x86, sehingga menggunakan binary untuk iX86.
Pertama saya mencoba menggunakan debian 5.0.3 (latest?). Ada masalah dengan ethernet. Ethernet card tidak terdeteksi, karena versi kernel 2.6.26-x. Device driver belum support untuk RTL8168d, terdeteksi sih hanya saja malfungsi, selalu ‘link down’. Kernel yang support device ethernet ini minimal versi 2.6.30, dan kernel ini ada di ubuntu karmic (yang juga based on debian). Ya, sudah. Karena tidak ada requirement khusus, ubuntu ini yang dipilih.
Sekarang menyiapkan ‘server PXE’ di puppy Linux. Yang perlu dilakukan:
- Setting direktori tftp untuk menyimpan pxelinux dan installer ubuntu
- Download 3 file yang diperlukan, yaitu pxelinux.0, linux dan initrd.gz
- Menginstall dan menjalankan server DHCP dan TFTP
Saya membuat direktori
/var/lib/tftp
dan direktori/var/lib/tftp/ubuntu-install/i386
. Direktori ini akan digunakan untuk menyimpan file-file untuk booting dan install. Download file boot loaderpxelinux.0
ke direktori/var/lib/tftp
dan image kernellinux
serta initial ramdiskinitrd.gz
ke direktori/var/lib/tftp/ubuntu-install/i386
. Selain itu, buat juga direktori/var/lib/tftp/pxelinux.cfg
dan buat filedefault
, sebagai berikut:default ubuntu-inst prompt 1 timeout 0 label puppyos kernel puppyos/vmlinuz append ramdisk_blocksize=4096 initrd=puppyos/initrd.gz root=/dev/ram0 label ubuntu-inst kernel ubuntu-install/i386/linux append vga=normal initrd=ubuntu-install/i386/initrd.gz quiet
Nantinya pxe client akan menggunakan file
Untuk server DHCP dan TFTP, install dnsmasq. Dnsmasq ini sudah mencukupi, karena bisa berfungsi sebagai server dhcp dan juga tftp. Download dnsmasq.pet dan install (dnsmasq terinstall di /usr/local/sbin). Buat file
default
ini sebagai konfigurasi bootingnya. Hehe, saya juga bereksperimen untuk menjalankan puppy linux dari jaringan (jadi puppy-inside-puppy dong atau bahkan nanti keluar distro pipLinux untuk warnet, sekolah, kantor, hehehe asyik tuh… banyak yang bisa dihemat).Untuk server DHCP dan TFTP, install dnsmasq. Dnsmasq ini sudah mencukupi, karena bisa berfungsi sebagai server dhcp dan juga tftp. Download dnsmasq.pet dan install (dnsmasq terinstall di /usr/local/sbin). Buat file
/etc/dnsmasq.conf
untuk mengaktifkan server dhcp, tftp dan mengarahkan pxe client ke tftp root sebagai berikut:# Configuration file for dnsmasq # 25 nomor diassign untuk alamat IP dinamik dhcp-range=192.168.77.100,192.168.77.124,12h # Set the boot filename for netboot/PXE dhcp-boot=pxelinux.0 # Enable dnsmasq's built-in TFTP server enable-tftp # Set the root directory for files availble via FTP. tftp-root=/var/lib/tftp # Debugging log-queries log-dhcp
Jalankan dnsmasq:
dnsmasq -d
. Option -d untuk melihat log di konsole (debug).Setelah siap (dan client telah terhubung ke server), nyalakan client. Komputer client akan mencari boot device, sampai ke PXE booting. Ia (sebagai PXE client) akan mengirimkan DHCP_DISCOVER untuk menemukan DHCP server yang bisa memberikan alamat IP. Karena hanya server Puppy yang bisa melayani, Client akan melakukan booting menggunakan server ini. Karena kita menambahkan option
prompt 1
, akan tampil prompt boot. Tekan tombolEnter
untuk menjalankan instalasi ubuntu. Dan Terima kasih
0 comments:
Post a Comment