Gentoo Logo

Panduan Netboot Berbasis Gentoo Linux

Daftar Isi:

1.  Pendahuluan

Catatan: Untuk saat ini, panduan ini sangat dikhususkan untuk SPARC dan anda dianggap ingin menyiapkan server netboot pada komputer yang sudah terinstal Gentoo Linux

Dokumen ini akan menjelaskan cara menyiapkan lingkungan boot jaringan untuk komputer berbasis Sun Microsystems SPARC atau UltraSPARC. Dokumen ini beranggapan anda menggunakan komputer yang telah terinstal Gentoo Linux sebagai server.

Server dan klien netboot harus berada di subnet jaringan yang sama, karena protokol ARP biasanya tidak dapat diantarkan ke subnet jaringan yang berbeda.

Berikut ini adalah tinjauan umum tentang apa yang akan terjadi ketika proses netboot berlangsung:

  1. Komputer klien mengirimkan permintaan reverse ARP (RARP) untuk mendapatkan alamat IP
  2. Komputer server merespon klien dengan memberikan alamat IP
  3. Klien kemudian mencoba mendownload imej boot dari server RARP melalui protokol tftp
  4. Setelah imej di download, klien netboot kemudian mem-boot imej

Berdasarkan tinjauan ini, kita perlu menginstal software untuk daemon RARP dan daemon TFTP.

2.  Instalasi dan Konfigurasi Software

Daemon RARP

Untuk saat ini, anda memiliki dua pilihan untuk daemon RARP, yaitu net-misc/iputils (diinstal sebagai bagian dari profil sistem) dan net-misc/rarpd.

Catatan: Instalasi net-misc/rarpd akan menimpa instalasi rarpd dan manualnya dari paket net-misc/iputils

Pengaturan elemen umum rarpd : /etc/ethers

Daemon rarpd apapun yang anda pilih, anda harus mengatur file /etc/ethers. File ini menetapkan host yang harus direspon oleh rarpd ketika permintaan ditemukan, dan alamat IP yang harus diberikan.

Format file /etc/ethers adalah alamat MAC dari NIC di komputer yang akan melakukan netboot dan nama host. Spasi memisahkan alamat MAC dengan nama host, dan setiap entri harus memiliki barisnya masing-masing. Contoh berikut ini untuk host dengan nama sparc-netboot.gentoo.org:

Daftar Kode 2.1: Contoh /etc/ethers

08:00:20:77:1f:3e  sparc-netboot.gentoo.org

Catatan: Jika angka heksadesimal dari alamat MAC adalah atau dimulai dengan 0, anda boleh menghapus angka 0 pertama tersebut (misalnya 08:00:20:77:1f:3e menjadi 8:0:20:77:1f:3e).

Jika anda ingin menambahkan host lain ke /etc/ethers, anda tidak perlu me-restart servis rarpd karena file tersebut akan dibaca setiap kali ada permintaan yang diterima.

Sekarang kita atur penerjemahan nama host di /etc/hosts.

Karena setiap entri di /etc/ethers berisi nama host, server netboot harus bisa menerjemahkan nama host ke alamat IP. Ini dapat dilakukan dengan dua cara, /etc/hosts atau nameserver yang digunakan oleh server netboot.

Sebuah entri /etc/hosts untuk menerjemahkan nama host mungkin terlihat sama dengan entri yang sudah ada ketika anda menginstal Gentoo di server netboot. Untuk host contoh kita, sparc-netboot.gentoo.org, kita akan menggunakan alamat IP 10.0.1.15. Jadi, entri /etc/hosts adalah:

Daftar Kode 2.2: /etc/hosts

10.0.1.15  sparc-netboot.gentoo.org

Catatan: Tergantung pada lingkungan, anda mungkin harus menanyakan kepada administrator jaringan tentang alamat IP yang akan anda berikan kepada klien.

Jika anda menggunakan nameserver, maka administrator server DNS harus menambahkan catatan baru untuk nama host, yang pada contoh kita adalah sparc-netboot.gentoo.org, agar menunjuk ke alamat IP yang benar. Tanyakanlah cara melakukannya kepada administrator server DNS anda atau bacalah dokumentasi software server DNS yang anda gunakan.

Catatan: Jika /etc/hosts dan nameserver memiliki entri untuk host yang akan melakukan netboot,maka /etc/hosts akan digunakan lebih dahulu (jika urutan /etc/nsswitch.conf belum diganti dari default).

Pengaturan rarpd net-misc/iputils

Pertama, kita harus menetapkan opsi-opsi yang akan kita gunakan untuk rarpd. Walaupun opsi-opsi yang tersedia lebih banyak daripada opsi-opsi yang dijelaskan di sini, opsi-opsi berikut ini sudah cukup karena untuk saat ini rarpd dari net-misc/iputils belum memiliki skrip initnya sendiri, dan sebuah entri harus ditambahkan di /etc/conf.d/local.start jika anda ingin mengaktifkan servis rarpd pada saat boot. Contoh entrinya adalah sebagai berikut:

Daftar Kode 2.3: /etc/conf.d/local.start

/usr/sbin/rarpd -v -e eth0

Penjelasan dari opsi-opsi rarpd di atas (diambil dari halaman manualnya) adalah sebagai berikut:

Opsi Penjelasan
-v Modus verbose
-e Jangan periksa keberadaan imej netboot, beri balasan jika sebuah alamat MAC cocok dengan alamat IP yang tercantum di database /etc/ethers dan DNS
eth0 antarmuka yang digunakan oleh rarpd

Untuk mengetahui opsi-opsi lainnya, bacalah man 8 rarpd.

Pengaturan net-misc/rarpd

Pertama, kita harus menginstal rarpd dengan perintah berikut:

Daftar Kode 2.4: Instalasi rarpd

# emerge net-misc/rarpd

Selanjutnya, opsi-opsi rarpd harus ditetapkan di /etc/conf.d/rarpd. Untuk persamaan konfigurasi seperti yang kita gunakan di atas bagi rarpd dari net-misc/iputils, edit /etc/conf.d/rarpd sehingga berisi seperti berikut:

Daftar Kode 2.5: /etc/conf.d/rarpd

RARPD_OPTS="-v -i eth0"

Penjelasan dari opsi-opsi rarpd di atas (diambil dari halaman manualnya):

Opsi Penjelasan
-v Modus verbose. Tampilkan permintaan yang direspon oleh daemon
-i Gunakan antarmuka yang ditetapkan. Secara default rarpd menggunakan antarmuka default sistem lokal, jika tersedia

Untuk mengetahui opsi-opsi lain yang tersedia, bacalah man 8 rarpd

Daemon tftpd

Berikut ini adalah pilihan yang anda miliki untuk daemon tftp, net-misc/atftp, net-misc/netkit-tftp dan net-misc/tftp-hpa. Anda hanya perlu menginstal satu daemon saja.

Langkah selanjutnya adalah mengkonfigurasi elemen umum tftpd.

Daemon tftp memerlukan sebuah direktori tempat menyimpan file yang akan diberikan kepada klien. Direktori yang akan kita gunakan di sini adalah /tftpboot. Direktori ini akan dianggap sebagai direktori root (/) oleh klien ketika ada permintaan yang diterima. Sebagai tambahan, kita akan mengatur sistem agar menjalankan daemon sebagai user dan grup 'nobody'.

Jika direktori yang anda pilih belum tersedia, anda harus menciptakannya dengan perintah mkdir. Contoh perintah untuk /tftpboot:

Daftar Kode 2.6: Menciptakan /tftpboot

# /bin/mkdir /tftpboot

Selanjutnya kita harus merubah kepemilikan /tftpboot agar dimiliki oleh user dan grup 'nobody':

Daftar Kode 2.7: Perubahan kepemilikan

# chown nobody:nobody /tftpboot

Daemon atftp

Pertama, instal paket net-misc/atftp.

Daftar Kode 2.8: Instalasi atftp

# emerge net-misc/atftp

Setelah paket net-misc/atftp terinstal, kita harus mengkonfigurasinya. Jika anda ingin menjalankan servis tftpd ketika boot, anda harus menambahkan sebuah entri di /etc/conf.d/local.start karena tftpd belum memiliki skrip init, inetd, atau xinetd-nya sendiri. Jika anda ingin menggunakan inetd atau xinetd untuk mengendalikan servis tftpd, bacalah manualnya masing-masing.

Berikut ini adalah contoh entri atftpd di /etc/conf.d/local.start:

Daftar Kode 2.9: /etc/conf.d/local.start

/usr/sbin/in.tftpd -v --daemon /tftpboot

Penjelasan dari opsi tftpd di atas adalah sebagai berikut (diambil dari halaman manualnya):

Opsi Penjelasan
-v Meningkatkan level log. Jika tidak ada argumen yang diberikan, maka level akan dinaikkan satu tingkat. Defaultnya adalah LOG_NOTICE, bacalah manual 3 syslog untuk mempelajari level log. Rentang nilai yang diterima adalah 0 (LOG_EMERG) sampai 7 (LOG_DEBUG)
--daemon Dijalankan sebagai daemon. Jangan gunakan opsi ini jika atftpd dijalankan oleh (x)inetd.

Untuk mengetahui opsi-opsi lain yang disediakan, bacalah halaman manual atftpd.

Daemon netkit-tftp

Pertama, instal paket net-misc/netkit-tftp.

Daftar Kode 2.10: Instalasi netkit-tftp

# emerge net-misc/netkit-tftp

Selanjutnya, instal sys-apps/xinetd jika belum; Setelah paket net-misc/netkit-tftp dan sys-apps/xinetd terinstal, kita harus mengkonfigurasi netkit-tftp. netkit-tftp harus dijalankan oleh xinetd, namun tidak ada contoh skrip yang disediakan. Berikut ini adalah contoh skrip xinetd:

Daftar Kode 2.11: Contoh /etc/xinetd.d/tftp

service tftp
{
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    group           = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    only_from       = 10.0.1.0
    disable         = no
}

Catatan: Contoh file konfigurasi xinetd untuk tftp ini menggunakan baris "disable = no", yang mengaktifkan servis secara default. Ini adalah kebalikan dari file konfigurasi default xinetd yang disediakan oleh Gentoo.

Penjelasan dari opsi-opsi di atas adalah sebagai berikut:

Opsi Penjelasan
user User yang digunakan oleh in.tftpd untuk menangani permintaan
group Grup yang digunakan oleh in.tftpd untuk menangani permintaan
server_args Direktori root tempat daemon tftp menyimpan file
only_from Menginformasikan kepada xinetd tetnang host mana saja yang diizinkan untuk mendapatkan koneksi tftp

Informasi lain tentang file konfigurasi xinetd bisa anda dapatkan dari man 5 xinetd.conf.

Jika xinetd sudah dijalankan, anda dapat mengirimkan signal HUP agar file konfigurasinya dibaca kembali:

Daftar Kode 2.12: Mengirimkan signal HUP kepada xinetd

# /bin/killall -HUP xinetd

Jika belum, jalankan seperti berikut ini:

Daftar Kode 2.13: Menjalankan xinetd

# /etc/init.d/xinetd start

Untuk infomasi lain, bacalah man 8 in.tftpd.

Daemon tftp-hpa

Pertama, instal paket tftp-hpa dengan perintah berikut:

Daftar Kode 2.14: Instalasi tftp-hpa

# emerge net-misc/tftp-hpa

tftp-hpa menyediakan skrip init dan file konfigurasi. Periksa apakah variabel INIITFTPD_PATH dan INITFTP_OPTS di /etc/conf.d/in.tftpd sama dengan yang berikut ini:

Daftar Kode 2.15: /etc/conf.d/in.tftpd

INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s -v -l ${INTFTPD_PATH}"

Daemon tftp dapat dijalankan dengan skrip init.d:

Daftar Kode 2.16: Menjalankan in.tftpd

# /etc/init.d/in.tftpd start

Untuk mengetahui opsi-opsi lain yang tersedia, bacalah man 8 tftpd.

3.  Mempersiapkan imej tftpboot yang akan digunakan oleh klien

Pastikan agar anda sudah memiliki imej untuk netboot. Untuk imej netboot sparc atau sparc64, anda bisa mendapatkannya dari mirror Gentoo di dalam direktori experimental/sparc/tftpboot. Kami anggap anda menggunakan imej gentoo-sparc64-1.4_rc4-20040102.tftpboot.

Jika anda memiliki imej anda sendiri, salinlah imej tersebut ke /tftpboot:

Daftar Kode 3.1: Menyalin imej

# cp gentoo-sparc64-1.4_rc4-20040102.tftpboot /tftpboot

Sekarang, ketika klien netboot menyampaikan permintaan tftp, klien tersebut akan mencari file yang dinamakan dengan angka heksadesimal dari alamat IP-nya, dan pada beberapa platform diberi akhiran .ARCH. Angka heksadesimal ini harus menggunakan huruf kapital.

Anda dapat membaca panduan tentang cara mengubah desimal ke heksadesimal di http://www.permadi.com/tutorial/numDecToHex/

Dan bagi anda yang malas/tidak sabar, anda dapat menemukan alat pengubah desimal ke heksadesimal di http://dan.drydog.com/hextemp.html.

Catatan: Untuk setiap oktet dari alamat IP (mis. angka 10 dari IP 10.0.1.15), anda harus mengubahnya ke heksadesimal, bukan mengubahnya ke angka tunggal.

Untuk alamat IP pada contoh kita, 10.0.1.15, setelah dirubah ke heksadesimal menjadi:

Daftar Kode 3.2: Alamat IP contoh

decimal       10  0   1   15
hexadecimal   0A  00  01  0F

Jadi untuk klien netboot sparc64 kita, file yang akan dicari ketika klien boot adalah file bernama 0A00010F.

Namun, di sparc, file tadi akan dinamakan 0A00010F.SUN4M, 0A00010F.SUN4C, atau 0A00010F.SUN4D, tergantung tipe komputernya.

Sebagai tambahan, jika anda benar-benar malas (seperti penulis), anda dapat me-netboot komputer tersebut untuk menemukan file dari log server netboot.

Jangan lupa untuk memastikan agar daeom rarpd dan tftpd yang anda pilih sudah dijalankan. Kemudian, boot komputer klien seperti yang dijelaskan di bagian "Me-netboot Klien".

Klien akan terlihat seperti terkatung-katung ketika perintah boot net dijalankan. Selanjutnya pada server netboot, periksa log sistem untuk mencari entri in.tftpd.

Berikut ini adalah contoh entri dari server netboot yang menggunakan sysklogd dan tftp-hpa:

Daftar Kode 3.3: Entri log server netboot

Jan  3 22:48:59 stargazer in.tftpd[8368]: RRQ from 10.0.1.15 filename 0A00010F

Nama file yang dicantumkan pada entri di atas setelah kata "filename" adalah 0A00010F.

Untuk mengetahui imej netboot yang sedang anda gunakan dan untuk mengizinkan banyak komputer untuk menggunakan imej yang sama, anda dapat menggunakan symlink untuk menciptakan file baru dengan mengikutsertakan heksadesimal untuk masing-masing komputer. Untuk imej dan klien yang kita gunakan pada contoh ini, perintahnya adalah:

Daftar Kode 3.4: Membuat symlink file imej

# /bin/ln -s /tftpboot/gentoo-sparc64-1.4_rc4-20040102.tftpboot /tftpboot/0A00010F

Sekarang anda sudah siap untuk melakukan boot jaringan!

4.  Me-netboot Klien

Buka OpenBoot PROM (OBP) di SPARC, lalu ketikkan perintah berikut:

Daftar Kode 4.1: Boot OBP

ok boot net

Metode lainnya untuk beberapa komputer adalah:

Daftar Kode 4.2: Boot OBP, cara alternatif

ok boot net-tpe

Catatan: Jika komputer anda tidak menampilkan OBP ketika boot, maka anda harus menekan tombol STOP-A atau mengirimkan signal "break" melalui konsol serial sebelum sistem operasi di-boot. Jika sistem operasi tidak ditemukan, seharusnya komputer anda akan mencoba boot dari antarmuka jaringan (yang kita inginkan), atau menampilkan prompt OBP.

Perintah di atas akan memulai proses netboot. Anda akan melihat angka-angka heksadesimal yang terus berganti. Ketika imej selesai dimuat, kernel akan mengambil-alih sistem dan memulai proses boot sistem operasi. Pada imej contoh untuk sparc64 kita, anda akan dibawa ke prompt shell tempat anda dapat memulai proses instalasi.

5.  Pemecahan Masalah

Kompilasi software

Jika server netboot anda menggunakan Gentoo Linux dan anda mendapatkan masalah ketika menginstal paket rarpd dan tftpd, lakukan pencarian di http://forums.gentoo.org dan http://bugs.gentoo.org untuk mengetahui apakah masalah anda sudah pernah dialami oleh pengguna lain. Jika belum, atau solusi yang anda temukan tidak dapat menyelesaikan masalah anda, buatlah laporan bug di http://bugs.gentoo.org.

Saya telah mengetikkan perintah "boot net", tetapi kelihatannya 'hang'.

Hal ini kemungkinan disebabkan oleh file yang ingin dimuat oleh komputer anda dari server netboot tidak tersedia. Pada komputer SPARC, anda mungkin akan melihat pesan berikut:

Daftar Kode 5.1: Netboot hang

Rebooting with command: boot
Boot device: net  File and args:

Periksa kembali apakah file yang diperlukan klien benar-benar tersedia di /tftpboot. Anda dapat mengetahui file yang diminta oleh klien dari log server. Selain itu, jika file ini sudah tersedia, klien akan mencoba untuk memuatnya. Terkadang, ketika pada awalnya file tersebut tidak tersedia, komputer akan "hang" ketika file ditemukan. Untuk mengatasi masalah ini, kembalilah ke prompt OBP untuk menjalankan kembali perintah "boot net". Klien seharusnya akan dapat mendownload imej netboot dan mem-boot OS.

Saya mencoba melakukan netboot, tetapi saya hanya melihat pesan "Timeout waiting for ARP/RARP packet".

Masalah ini bisa disebabkan oleh beberapa hal:

  1. Pastikan entri di /etc/ethers tersedia untuk merespon permintaan klien. Jika alamat MAC yang tercantum tidak benar dan/atau server netboot tida dapat menerjemahkan nama host klien, server tidak akan dapat merespon klien.
  2. Periksa apakah hub atau switch jaringan yang digunakan oleh klien dan server mengizinkan lalu-lintas RARP. Jika permintaan klien tidak dapat mencapai server, atau sebaliknya, klien tidak akan mendapatkan respon.
  3. Tidak ada komputer yang merespon permintaan RARPD karena tidak ada servis yang menerimanya. Periksa apakah servis rarpd telah dijalankan.
  4. Klien tidak mengetahui bahwa NIC-nya tersambung ke hub/switch jaringan. Periksa apakah led NIC dan port di hub/switch jaringan menyala. Jika led menyala, periksa pengaturan "tpe-link-test?" di OBP dengan perintah printenv tpe-link-test?. Anda seharusnya mendapatkan output seperti tpe-link-test? false true. Kolom pertama berisi nama parameter, kolom kedua berisi nilai parameter saat ini, dan kolom ketiga berisi nilai default parameter. Pada contoh di atas, kita dapat melihat bahwa nilai parameter saat ini adalah "false", artinya klien tidak memeriksa apakah NIC telah terhubung dengan jaringan sebelum menyampaikan permintaan RARP. Situasi ini terkadang bisa mendatangkan masalah.

Untuk mengganti nilai parameter "tpe-link-test?" dari prompt OBP, jalankan perintah berikut:

Daftar Kode 5.2: Mengganti nilai tpe-link-test

ok setenv tpe-link-test? true
tpe-link-test? =      true

Nilai parameter "tpe-link-test?" sekarang adalah "true". Coba netboot kembali.



Print

Diperbarui 18 Agustus 2005

Versi asli dari dokumen ini terakhir diupdate 5 Oktober 2010

Rangkuman: Panduan tentang cara menyiapkan server netboot untuk digunakan dengan imej instalasi netboot Gentoo/SPARC

Jason Wever
SPARC Developer

Dzikri Aziz
Translator

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.