ž Setelah proses POST selesai, kemudian kode Etherboot yang terdapat pada ROM network card tersebut akan dieksekusi.
ž Kode buatan Etherboot tersebut kemudian akan mencari network card yang terpasang. Jika berhasil ditemukan maka network card tersebut akan di-initialisasi.
ž Kode Etherboot tersebut kemudian akan mengirimkan sinyal ke jaringan berupa permintaan DHCP (DHCP Request). Permintaan DHCP tersebut akan disertai dengan MAC Address dari network card yang digunakan.
ž DHCPD daemon yang aktif di server kemudian akan memperoleh sinyal permintaan tersebut, dan akan mencari data pada file konfigurasi yang ada.
ž DHCPD daemon kemudian akan mengirimkan paket balasan, berisi beberapa informasi. Paket balasan ini akan berisi informasi berikut :
ž IP Address untuk workstation tersebut
ž Konfigurasi NETMASK untuk jaringan internal
ž Lokasi file kernel yang akan di-download.
ž Parameter tambahan untuk dikirimkan ke kernel, melalui baris perintah kernel.
ž Kode Etherboot kemudian akan menerima balasan dari server, dan kemudian melakukan konfigurasi TCP/IP pada network card dengan parameter yang diterima.
ž Dengan menggunakan TFTP ( Trivial File Transfer Protocol ), kode Etherboot kemudian akan berusaha untuk melakukan download file kernel dari server.
ž Setelah kernel berhasil didownload sepenuhnya di workstation, kode Etherboot kemudian akan meletakkan kernel tersebut ke lokasi memory yang tepat.
ž Kontrol kemudian akan diambil alih oleh Kernel. Kernel ini kemudian akan melakukan initialisasi seluruh system dan peralatan terpasang yang dikenali.
ž Sampailah pada bagian yang sangat menarik. Pada bagian akhir dari kernel terdapat image filesystem, yang akan diletakkan di memory sebagai sebuah ramdisk, dan sementara di-mount sebagai root filesystem. Hal ini dilakukan dengan memberikan baris perintah root=/dev/ram0 yang kemudian akan memberitahu kernel untuk melakukan proses mount pada image tersebut sebagai root directory.
ž Pada umumnya, setelah kernel selesai melalui proses booting, akan dieksekusi program init. Tetapi, pada kasus ini, dilakukan perubahan dengan menginstruksikan kernel untuk melakukan membaca shell script. Hal tersebut dilakukan dengan memberikan parameter init=/ linuxrc pada baris perintah kernel.
ž Script /linuxrc tersebut kemudian akan memeriksa PCI bus, mencari network card. Setiap perangkat PCI yang ditemukan, kemudian akan dilakukan proses pencarian pada file /etc/ niclist, untuk mencari apakah perangkat tersebut ada pada daftar tersebut. Jika ditemukan, maka nama module dari NIC tersebut akan diambil untuk kemudian dieksekusi. Untuk ISA card, module driver tersbut HARUS dirinci pada baris perintah kernel, disertai dengan IRQ atau parameter alamat yang dibutuhkan.
ž Setelah network card berhasil diidentifikasi, maka script /linuxrc akan mengambil modul kernel yang mendukung network card tersebut.
ž dhclient kemudian akan dijalankan, untuk melakukan query informasi ke DHCP server. Permintaan tersebut dilakukan untuk kedua kalinya, karena jika menggantungkan pada hasil query yang dilakukan oleh Etherboot, maka informasi tersebut tidak sepenuhnya dapat diterima oleh kernel. Kernel kemudian akan mengabaikan konfigurasi NFS Server yang disertakan sebagai parameter tambahan root-path. Hal ini perlu dilakukan jika dimiliki NFS server yang berada pada server terpisah dari TFTP server.
ž Ketika dhclient memperoleh jawaban dari server, kemudian akan dieksekusi file /etc/dhclient- script, yang mana kemudian akan berusaha membaca konfigurasi untuk kemudian melakukan setup pada interface eth0.
ž Sampai pada proses ini, filesystem root berada di ramdisk.. Selanjutnya, script /linuxrc akan melakukan proses mount ulang pada filesystem melalui NFS. Direktori yang di-export pada server umumnya adalah /opt/ltsp/i386. Proses tersebut tidak bisa langsung melakukan proses mount filesystem yang baru sebagai /. Proses mount akan terlebih dahulu dilakukan pada / mnt. Kemudian, dilakukan pivot_root. pivot_root kemudian akan melakukan pertukaran filesystem root yang aktif dengan filesystem baru. Setelah proses tersebut, filesystem NFS akan di-mount pada /, dan filesystem root terdahulu akan di-mount pada /oldroot.
ž Setelah proses mount dan pivot pada filesystem root yang baru selesai, shell script /linuxrc telah selesai melakukan perintah yang ada, dan saatnya diperlukan untuk menjalankan program init yang seharusnya.
ž Init kemudian akan membaca file /etc/inittab dan mulai melakukan setting environtment workstation tersebut.
ž Init menggunakan konsep runlevel, dimana tiap runlevel memiliki konfigurasi services yang berbeda. LTSP workstation akan diawali pada runlevel '2'. Konfigurasi tersebut dapat dilihat pada baris initdefault pada file inittab.
ž Salah satu item yang berada pada urutan awal yaitu perintah rc.local yang akan aktif sementara workstation berada pada tahap 'sysinit'.
ž Script rc.local kemudian akan membuat ramdisk sebesar 1 mb untuk menyimpan file-file yang akan dibuat atau diubah.
ž Ramdisk akan di-mount sebagai direktori /tmp. Semua file yang akan dituliskan sebenarnya akan diletakkan pada direktori /tmp, dan nantinya akan terdapat symbolic link yang mengacu pada file-file tersebut.
ž Filesystem /proc kemudian di-mount.
ž Jika workstation ditentukan untuk melakukan swap over NFS, maka direktori /var/opt/ltsp/ swapfile akan di-mount sebagai /tmp/swapfiles. Jika, belum tersedia swapfile untuk workstation tersebut, maka akan dibuat secara otomatis. Ukuran dari swapfile tersebut ditentukan pada file lts.conf .
ž Swapfile kemudian akan diaktifkan, dengan menggunakan perintah swapon.
ž Interface loopback akan dikonfigurasi. Interface tersebut nantinya akan menggunakan IP Address 127.0.0.1.
ž Jika Local apps diaktifkan, maka direktori /home akan di-mount, sehingga aplikasi tersebut dapat mngakses direktori home.
ž Beberapa direktori kemudian akan dibuat pada filesystem /tmp untuk menyimpan beberapa file sementara yang dibutuhkan sewaktu system berjalan. Direktori yang akan dibuat tersebut adalah sebagai berikut :
ž /tmp/compiled
ž /tmp/var
ž /tmp/var/run
ž /tmp/var/log
ž /tmp/var/lock
ž /tmp/var/lock/subsys
ž Proses selanjutnya adalah melakukan konfigurasi pada system X Windows. Pada file lts.conf, terdapat parameter yaitu XSERVER. Jika parameter tersebut tidak diketemukan, atau ditentukan menjadi "auto", maka akan dilakukan proses deteksi. Jika card yang digunakan adalah PCI, maka akan diambil PCI Vendor dan Device id, untuk kemudian dicari apakah terdapat pada file /etc/vidlist.
0 comments:
Posting Komentar