Instalasi Ubuntu (Totally) Lewat Jaringan

Saya ingin menginstall ubuntu (Karmic) di komputer untuk pengembangan software, testing dan debugging. Distro ubuntu akan diinstall ke harddisk baru. Saya bereksperimen menggunakan jaringan untuk booting dan instalasi, tanpa image iso dengan cd atau dvd atau device booting lainnya. Semua dari network. Ini dimungkinkan karena motherboard/mobo yang digunakan mempunyai option untuk booting lewat jaringan (saya menggunakan PXE boot). Mobo keluaran terbaru umumnya mempunyai option ini (mungkin ditambah dengan gPXE).

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, misalnya untuk ubuntu ada di http://kambing.ui.ac.id/ubuntu. 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.

Instalasinya seperti lazimnya instalasi ubuntu dengan cd/dvd. Saat pemilihan repository yang akan digunakan, saya memilih kambing.ui.ac.id dan direktori /ubuntu/. Dan, beres. Ubuntu telah terinstall di mobo baru.

22 Komentar to “Instalasi Ubuntu (Totally) Lewat Jaringan”

  1. Mmm. menarik….🙂 saya masih awam soal ini mas, tapi kl punya 10 client apa ke10nya akan nyedot ke repo atow cukup salah satunya, lalu mendistribusikan ke lainnya?

    • Semua client akan nyedot paket dari repo karena reponya sudah ditentukan. Ini jadi masalah bandwidth. Repo di server lokal mungkin bisa mengatasi ini, sekali paket ada di repo client nyedot dari repo ini.

  2. Ooow.. Gitu… (hehe, ky ngerti aja) tapi lumayan ah untuk reverensi. Siapa tau buka warnet nanti😛

  3. Ini mas script sederhana untuk menginstall secara network.
    Cek link berikut barangkali perlu.

  4. Bisa tahu, gimana kalau booting puppy linux di komputer lain pakai lan?

  5. Saya pake luci puppy 503 frugal install sebagai server. sya ingin booting client lewat lan. ada dua pilihan, pake humongous initrd, tapi kelewat besar. pilihan lain mungkin (saya belum tahu) setelah initrd, komputer client bisa diarahkan untuk loading lupu-503.sfs di servernya. Kalau lihat cara install ubuntu di atas, kayak e memungkinkan sekali. Initrd lupu503 kurang dari 2 Mb.
    trimakasih.

  6. Saya berhasil membuat network untuk warnet menggunakan puppy linux lupu 503.
    Empat komputer, salah satunya ada komputer server pake hardisk dengan lupu 503 frugal install, dengan pupsave.
    Client tak pake hardisk, terhubung ke LAN. Semua komputer berspesifikasi baru (ram 1 g)
    Server terinstall dnsmasq, pxelinux.0. Saya mengikuti instruksi di atas. Saya install juga gbilling server, mozzilla firefox.
    di dnsmasq.conf, direktori tftp nya saya ubah ke /mnt/sda6/tftp. firewall dipasang (saya hanya klak-klik fasilitas firewallnya puppy linux)
    untuk client, pake humongous intird. Karena lupu503 dapat mengecek keberadaan lupu-503.sfs di dalam initrd. Sebelumnya lupu-503 dah di remaster berisi mozzilla firefox dan gbilling Client. gbilling di set autostart.
    Sukses.
    Cara : server dinyalakan terlebih dahulu. Setelah itu menjalankan dnsmasq. Terus pupdial (saya pake AHA), dan gbilling. (ketiganya tidak dibuat autostart). Jika komputer client di on, akan booting. Keluar perintah : “boot :”. Saya ketik puppyos, langsung jalan tuh puppy di client.
    Trimakasih mas Eko.

    • Sama-sama, mas. Senang bisa membantu.

      Selamat yah mas Hanif. Dulu memang pernah pengen bikin yang kayak mas Hanif ini, tapi nggak kesampaian🙂.
      Berapa penghematan biayanya mas? tanpa Harddisk efeknya pemakaian listrik lebih hemat dan juga free OS tanpa lisensi.
      RAM 1GB itu sudah berlebih yah… Puppy kalau dipopulate paling 300MB-an, kan.

      Warnet sendiri, mas?

  7. empat komputer, semua baru. Harga 2,2 juta per komputer (pake monitor LCD yg 1 jt-an). Hardisk bekas. RAM tersisa rata-rata 400MB, kecuali server pake linux swap. Gak pake hardisk juga bisa. Ini warnet sendiri, Sekarang ngutek-ngutek pure-ftpd, biar client bisa load openoffice dari server, jadi dak makan RAM. >>Router 150.000 an, kabel 100rb an. Modem 499rb.
    Yang saya kurang tahu, kenapa puppy linux yang belum diremaster (hanya 124MB) dengan yang diremaster (350MB open office suite) tetap menyisakan memori sekitaran 400MB (dari ram 1 g). Beda komputer juga beda sisanya. entahlah.
    >Saya juga baru nyari cara biar bisa ngakses tftpnya dnsmasq, jadi kalau bisa dak perlu pake pure-ftpd nya puppy linux.
    Mas didik dah tahu? kalau pake samba harus install samba server, dan terutama harus belajar lagi.
    Ini saya juga belum berhasil mengirim file dari client ke server.

  8. komputer baru pasti bawaannya hanya bisa pake ram 1 g

  9. Kalau servernya pakai ubuntu caranya gimana mas?, mohon bimbingannya, terima kasih

  10. Quality articles or reviews is the crucial to interest the
    users to go to see the web site, that’s what this web page is providing.

  11. Hi there, i read your blog occasionally and i own a similar
    one and i was just curious if you get a lot of spam responses?
    If so how do you prevent it, any plugin or anything you can recommend?

    I get so much lately it’s driving me crazy so any support is very much appreciated.

  12. An intriguing discussion is definitely worth comment.
    I do believe that you ought to publish more about this topic,
    it might not be a taboo matter but usually folks don’t speak about such subjects. To the next! Many thanks!!

  13. Right here is the right website for anyone who really wants
    to find out about this topic. You know so much
    its almost tough to argue with you (not that I personally would want to…HaHa).

    You definitely put a fresh spin on a subject that’s been discussed for years. Excellent stuff, just wonderful!

  14. It’s really a great and useful piece of information. I’m happy that you simply shared this helpful information with us.
    Please stay us up to date like this. Thank you for sharing.

  15. You can certainly see your expertise within the
    article you write. The world hopes for more passionate writers such
    as you who aren’t afraid to say how they believe. All the time go after your heart.

  16. A motivating discussion is worth comment. I do think
    that you should write more about this topic, it might not be a taboo subject but generally folks don’t speak about these issues. To the next! Kind regards!!

  17. I like looking through an article that will make people
    think. Also, thank you for permitting me to comment!

  18. Hi there to every one, the contents existing at this website are
    truly remarkable for people knowledge, well, keep up the good
    work fellows.

  19. Misi gan mau nanya bisa gak nginstall nya lewat jaringan. Makasih Sebelumnya.
    Tanah Abang Trends

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: