Jika komputer Anda terhubung ke jaringan area lokal, Anda mungkin dapat mem-boot-nya melalui jaringan dari mesin lain, menggunakan TFTP. Jika Anda bermaksud untuk mem-boot sistem instalasi dari mesin lain, berkas boot harus ditempatkan di lokasi tertentu pada mesin itu, dan mesin dikonfigurasi untuk mendukung boot mesin spesifik Anda.
Anda perlu menyiapkan sebuah server TFTP, dan untuk banyak mesin, sebuah server DHCP, atau server BOOTP.
BOOTP adalah protokol IP yang menginformasikan komputer tentang alamat IP-nya dan di mana di jaringan untuk mendapatkan image boot. DHCP (Dynamic Host Configuration Protocol) adalah ekstensi BOOTP yang lebih fleksibel dan kompatibel ke belakang. Beberapa sistem hanya dapat dikonfigurasi melalui DHCP.
Trivial Berkas Transfer Protocol (TFTP) digunakan untuk melayani image boot ke klien. Secara teoretis, server apa pun, pada platform apa pun, yang mengimplementasikan protokol ini, dapat digunakan. Dalam contoh di bagian ini, kami akan memberikan perintah untuk SunOS 4.x, SunOS 5.x (alias Solaris), dan GNU/Linux.
Catatan | |
---|---|
Untuk server Debian GNU/Linux kami merekomendasikan |
Salah satu perangkat lunak DHCP server bebas adalah ISC dhcpd. Untuk Debian GNU/Linux, paket isc-dhcp-server
direkomendasikan. Berikut adalah contoh berkas konfigurasi untuk itu (lihat /etc/dhcp/dhcpd.conf
):
option domain-name "example.com"; option domain-name-servers ns1.example.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "servername"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option routers 192.168.1.1; } host clientname { filename "/tftpboot.img"; server-name "servername"; next-server servername; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; }
Dalam contoh ini, ada satu server servername
yang melakukan semua pekerjaan server DHCP, server TFTP, dan gateway jaringan. Anda hampir pasti perlu mengubah opsi nama domain, serta nama server dan alamat perangkat keras klien. Opsi nama berkas harus berupa filename
yang akan diambil melalui TFTP.
Setelah Anda mengedit berkas konfigurasi dhcpd, jalankan ulang dengan /etc/init.d/isc-dhcp-server restart
.
Berikut adalah contoh lain untuk dhcp.conf
menggunakan metode Pre-boot Execution Environment (PXE) TFTP.
option domain-name "example.com"; default-lease-time 600; max-lease-time 7200; allow booting; allow bootp; # The next paragraph needs to be modified to fit your case subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option broadcast-address 192.168.1.255; # the gateway address which can be different # (access to the internet for instance) option routers 192.168.1.1; # indicate the dns you want to use option domain-name-servers 192.168.1.3; } group { next-server 192.168.1.3; host tftpclient { # tftp client hardware address hardware ethernet 00:10:DC:27:6C:15; filename "pxelinux.0"; } }
Perhatikan bahwa untuk boot PXE, nama berkas klien pxelinux.0
adalah boot loader, bukan image kernel (lihat Bagian 4.5.4, “Pindahkan Image TFTP Ke Tempatnya” di bawah).
Jika mesin Anda menggunakan UEFI untuk boot, Anda harus menentukan boot loader yang sesuai untuk mesin UEFI, misalnya
group { next-server 192.168.1.3; host tftpclient { # tftp client hardware address hardware ethernet 00:10:DC:27:6C:15; filename "debian-installer/amd64/bootnetx64.efi"; } }
Ada dua server BOOTP yang tersedia untuk GNU/Linux. Yang pertama adalah CMU bootpd. Yang lainnya sebenarnya adalah server DHCP: ISC dhcpd. Dalam Debian GNU/Linux ini masing-masing ada dalam paket bootp
dan isc-dhcp-server
.
Untuk menggunakan CMU bootpd, Anda harus terlebih dahulu menghapus komentar (atau menambahkan) baris yang relevan di /etc/inetd.conf
. Pada Debian GNU/Linux, Anda dapat menjalankan update-inetd --enable bootps
, lalu /etc/init.d/inetd reload
untuk melakukannya. Untuk berjaga-jaga jika server BOOTP Anda tidak berjalan pada Debian, baris yang dimaksud akan terlihat seperti:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Sekarang, Anda harus membuat berkas /etc/bootptab
. Ini memiliki jenis format yang akrab dan cryptic yang sama dengan berkas printcap
, termcap
, dan disktab
BSD lama yang bagus. Lihat halaman manual bootptab
untuk informasi lebih lanjut. Untuk CMU bootpd, Anda perlu mengetahui alamat perangkat keras (MAC) klien. Berikut adalah contoh /etc/bootptab
:
client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB:
Anda perlu mengubah setidaknya opsi “ha”, yang menentukan alamat perangkat keras klien. Opsi “bf” menentukan berkas yang harus diambil klien melalui TFTP; lihat Bagian 4.5.4, “Pindahkan Image TFTP Ke Tempatnya” untuk lebih jelasnya.
Sebaliknya, menyiapkan BOOTP dengan ISC dhcpd sangat mudah, karena memperlakukan klien BOOTP sebagai kasus yang cukup khusus dari klien DHCP. Beberapa arsitektur memerlukan konfigurasi kompleks untuk mem-boot klien melalui BOOTP. Jika milik Anda adalah salah satunya, baca bagian ini Bagian 4.5.1, “Menyiapkan server DHCP”. Jika tidak, Anda mungkin akan bisa lolos hanya dengan menambahkan direktif allow bootp
ke blok konfigurasi untuk subnet yang berisi klien di /etc/dhcp/dhcpd.conf
, dan jalankan ulang dhcpd dengan /etc/init.d/isc-dhcp-server restart
.
Untuk menyiapkan server TFTP, Anda harus terlebih dahulu memastikan bahwa tftpd diaktifkan.
Dalam kasus tftpd-hpa
ada dua cara layanan dapat dijalankan. Ini dapat dimulai sesuai permintaan oleh daemon inetd
sistem, atau dapat diatur untuk dijalankan sebagai daemon independen. Yang mana dari metode ini yang digunakan dipilih ketika paket dipasang dan dapat diubah dengan mengonfigurasi ulang paket.
Catatan | |
---|---|
Secara historis, server TFTP menggunakan |
Semua alternatif in.tftpd yang tersedia di Debian harus mencatat permintaan TFTP ke log sistem secara baku. Sebagian dari mereka mendukung argumen -v
untuk meningkatkan verbositas. Disarankan untuk memeriksa pesan log ini jika terjadi masalah boot karena merupakan titik awal yang baik untuk mendiagnosis penyebab kesalahan.
Selanjutnya, tempatkan image boot TFTP yang Anda butuhkan, seperti yang ditemukan di Bagian 4.2.1, “Di Mana Menemukan Berkas Instalasi”, dalam direktori image boot tftpd. Anda mungkin harus membuat tautan dari berkas itu ke berkas yang tftpd akan gunakan untuk mem-boot klien tertentu. Sayangnya, nama berkas ditentukan oleh klien TFTP, dan tidak ada standar yang kuat.
Untuk boot PXE, semua yang Anda butuhkan diatur di tarball netboot/netboot.tar.gz
. Cukup ekstrak tarball ini ke dalam direktori image boot tftpd. Pastikan server dhcp Anda dikonfigurasi untuk meneruskan pxelinux.0
ke tftpd sebagai nama berkas untuk boot. Untuk mesin UEFI, Anda harus meneruskan nama image boot EFI yang sesuai (seperti /debian-installer/amd64/bootnetx64.efi
).