.

Selasa, 01 November 2011

Cara Instal Ubuntu Melalui Jaringan


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 Intel D945GSEJT 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:
  1. Setting direktori tftp untuk menyimpan pxelinux dan installer ubuntu
  2. Download 3 file yang diperlukan, yaitu pxelinux.0, linux dan initrd.gz
  3. 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 loader pxelinux.0 ke direktori /var/lib/tftp dan image kernel linux serta initial ramdisk initrd.gz ke direktori /var/lib/tftp/ubuntu-install/i386. Selain itu, buat juga direktori /var/lib/tftp/pxelinux.cfg dan buat file default, 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 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 tombol Enter untuk menjalankan instalasi ubuntu. Dan Terima kasih

Tidak ada komentar:

Posting Komentar

free counters