Ide dasarnya adalah sebagai berikut: sebuah PC akan mendapatkan alamat IP dari sebuah server boot melalui protokol bootp, menggunakan 0.0.0.0 sebagai alamat IP awal, dan mendapatkan kernel melalui protokol tftp.
Melakukan boot melalui segment-segment (via router) bukan merupakan masalah sederhana, sehingga harus dipilih salah satu yaitu apakah meletakkan server dan komputer tanpa disk tadi keduanya didalam segmen LAN yang sama ataukah mengkonfigurasi sebuah alamat UDP helper didalam router yang Anda miliki dengan alamat bagi server. Untuk mendapatkan informasi lebih lanjut silahkan membaca manual produk router yang Anda miliki.
Ikutilah langkah-langkah berikut ini.
Ambillah paket nfsboot
(paket ini tersedia di situs mirror linux favorit Anda di dalam direktori /pub/Linux/system/Linux-boot
). Paket itu berisi sebuah booteprom image untuk wd8013 card yang langsung dapat di-burned in.
Ada beberapa cara alternatif untuk menyiapkan PC, yaitu:
dd
.
Image tadi berisi sebuah klien bootp dan sebuah klien tftp. Anda juga harus menyiapkan sebuah kernel Linux, yang berisi pilihan nfs-root.
Bootpd dapat Anda temukan dialam paket bootpd-2.4.tar.gz
(yang terdapat di situs mirror linux favorit Anda di dalam direktori /pub/Linux/system/Network/boot.net
). Ambilah paket itu, kompilasilah, dan instal. Jika komputer lain yang Anda miliki kebetulan Slackware Linux maka Anda dapat melewati langkah ini karena distribusi standarnya telah berisi bootpd. Daemon itu dapat dijalankan baik melalui pemberian perintah langsung
bootpd -s
maupun menggunakan inetd
. Dengan cara kedua Anda harus mengedit:
# tftp dgram udp wait root /usr/sbin/in.tftpd tftpd /export # bootps dgram udp wait root /usr/sbin/in.bootpd bootpd
/etc/services
bootps 62/tcp # BOOTP server tftp 69/udp # TFTP server
kill -HUP <id proses yang dimiliki oleh inetd>
Terlebih dulu, bootpd memiliki sebuah file konfig yang disebut bootptab yang umumnya berlokasi di dalam direktori /etc
. Anda harus memodifikasi file tsb untuk memasukkan alamat IP dari gateway Anda, dns server, serta alamat(-alamat) ethenet dari komputer(-komputer) yang Anda miliki. Contoh dari file /etc/bootptab
:
global.prof:\ :sm=255.255.255.0:\ :ds=192.168.1.5:\ :gw=192.168.1.19:\ :ht=ethernet:\ :bf=linux: machine1:hd=/export/root/machine1:tc=global.prof:ha=0000c0863d7a:ip=192.168.1.140: machine2:hd=/export/root/machine2:tc=global.prof:ha=0800110244e1:ip=192.168.1.141: machine3:hd=/export/root/machine3:tc=global.prof:ha=0800110244de:ip=192.168.1.142
global.prof
merupakan sebuah template umum untuk isian host, dimana field-field:
sesudah ini, setiap komputer harus memiliki sebuah baris:
TFTP (Trivial File Transfer Protocol) merupakan sebuah protokol transfer file, seperti ftp, namun lebih sederhana untuk membantu penulisannya kedalam EPROM. TFTP dapat digunakan dalam dua cara:
chroot.2
untuk merubah direktori root yang dimilikinya. Semua yang berada di luar direktori root yang baru menjadi tidak dapat diakses sama sekali. Oleh karena direktori chroot akan menjadi direktori root yang baru maka filed hd didalam bootptab harus mencantumkan keadaan baru ini. Misalnya: pada saat menggunakan insecure tftp, field hd berisi path lengkap dari direktori boot: /export/root/machine1
. Pada saat menggunakan secure tftp dengan direktori /export
sebagai direktori root, maka direktori /export
menjadi direktori /
dan isi dari field hd menjadi /root/machine1
.
Konfigurasi Linux ini mungkin berisi paket-paket a, ap, n, dan x dari distribusi Slackware. Untuk menginstal lebih banyak adalah boleh saja; namun paket-paket diatas sudah mencukupi keperluan sebuah terminal X tanpa disk. Untuk melakukan instalasi Anda membutuhkan sebuah sistem Linux yang sudah jalan. Dapatkan beberapa disk space pada komputer remote kemudian export dan berikan izin untuk melakukan read-write. Mount-lah direktori yang telah dieksport tadi ke dalam suatu direktori (misalnya /mnt
) didalam sistem file dari komputer Linux. Jalankan setup Linux dan rubahlah pilihan root di dalam setup dari /
menjadi /mnt
. Kemudian setup paket diatas seperti biasa. Jika Anda ingin menjalankan tidak lebih dari satu Linux tanpa disk maka tidak ada perubahan yang diperlukan. Disisi lain, jika Anda merencanakan untuk memiliki lebih dari satu komputer tanpa disk maka setup diatas tidak akan berjalan karena beberapa file dan direktori harus bersifat private terhadap komputer-komputer tersebut. Masalah tadi dapat diatasi dengan memindahkan direktori /usr
(direktori ini tidak berisi data pribadi) lalu membuat sebuah subdirektori secara terpisah untuk setiap komputer tanpa disk tadi. Misalnya, jika /export/linux/machine1
dipasangkan kedalam /mnt
maka struktur direktori sesudah setup awal akan berupa:
/export/linux/machine1/bin /export/linux/machine1/sbin /export/linux/machine1/lib /export/linux/machine1/etc /export/linux/machine1/var /export/linux/machine1/usr
Sesudah Anda melakukan perubahan maka akan menjadi
/export/linux/machine1/bin /export/linux/machine1/sbin /export/linux/machine1/lib /export/linux/machine1/etc /export/linux/machine1/var /export/linux/usr
Sekarang buatlah subdirektori-subdirektori bagi komputer lainnya. Dengan mengasumsikan bahwa komputer-komputer tadi Anda beri nama sebagai machine1, machine2, machine3, dst; maka Anda dapat menggunakan bash script berikut untuk men-setup direktori lainnya:
cd /export/linux for x in machine2 machine3 ; do mkdir $x; cd $x (cd ../machine1; tar cf - *) | tar xvf - doneKemudian, lakukan export berikut:
/export/linux/usr hanya hak read bagi setiap orang /export/linux/machine1 hanya ke machine1 dengan hak-hak rw, sebagai root /export/linux/machine2 hanya ke machine2 dengan hak-hak rw, sebagai root /export/linux/machine3 hanya ke machine3 dengan hak-hak rw, sebagai rootsebagai berikut:
Contoh berikut mengikuti format sintaks file eksport dari SunOs 4.1.3
# This file is /etc/export # for remote linux X terminals by Buci # this line is only once /export/root/usr -access=linuxnet # these lines once for every host /export/root/machine1 rw=machine1,root=machine1 /export/root/machine2 rw=machine2,root=machine2 /export/root/machine3 rw=machine3,root=machine3
Jangan lupa untuk menjalankan exportfs -a
.
Sekarang saatnya untuk mengkonfigurasi server tftp. Jika Anda tidak membutuhkan secure tftp maka semua yang perlu dilakukan menjadi sederhana karena klien-klien Anda dapat di-boot dari direktori /export
.
Jika digunakan secure tftp maka Anda dapat membuat sebuah struktur direktori penuh dari /export/linux
di bawah /tftpboot
(dengan sebuah kernel yang riil dan symbolic links bagi komputer-komputer lainnya), atau menjadikan direktori /export
sebagai direktori boot dari secure tftpd. Atau, apabila Anda memiliki sebuah direktori tftpboot yang terpisah maka, suatu hal yang sama, Anda hanya membutuhkan struktur direktori asli dengan sebuah kernel dan symbolic link untuk komputer-komputer lainnya. Anda dapat melakukan setup ini menggunakan perintah berikut:
mkdir -p /tftpboot/export/linux/machine1 cd /tftpboot/export/linux/machine1 cp /export/linux/machine1/<name of the kernel> .
kemudian, gunakan perintah berikut:
mkdir -p /tftpboot/export/linux/machine2 cd ../machine2 ln -s ../machine2/<name of the kernel>
Terakhir, Anda harus menyisipkan
/sbin/mount nfs_server:/export/linux/usr /usr
pada baris pertama dari file /export/linux/>machinex</etc/rc.d/rc.S
.
di mana >machinex
&;t; adalah machine1
, machine2
, dan seterusnya.