<!doctype linuxdoc system>
<article>
<title>Instalasi Linux Modules mini-HowTo
<author> rhw@bigfoot.com, Diterjemahkan oleh Jimmy Yusandra &lt;jimmy@padang.wasantara.net.id&gt;
<date> 26 November 1998

<toc>
<sect>Tujuan dari dokumen ini

<P>Pengalaman saya dengan linux dan modules dengan dokumen yang telah ada
gagal untuk menghasilkan penjelasan yang memuaskan seperti bagaimana cara 
agar berhasil men-set up linux dengan modules yang terkonfigurasi dan 
bekerja. Langkah-langkah yang dijelaskan di dokumen ini telah berhasil 
digunakan berkali-berkali, baik di system saya sendiri dan di internet 
untuk memberikan petunjuk kepada seseorang yang mencoba untuk memperoleh
beberapa kemudahan dalam pekerjaan yang membutuhkan driver yang hanya 
diberikan dalam bentuk module.
<P>System saya menggunakan Redhat 4.1, dan dengan set up seperti ini 
langkah-langkah ini dilakukan. Saya telah dengan sukses menginstallnya 
di system yang menjalankan berbagai distribusi slackware, dan di satu 
system yang menggunakan Debian, dan langkah-langkah penting untuk 
mengkonfigurasikan modules dalam tiga distribusi ini didokumentasikan 
disini.

<sect>PERINGATAN
<P>Saya, sebelumnya, telah menggunakan cara yang sama pada RedHat 4.2, 
tapi dengan hasil yang tidak konsisten pada system yang secara nyata identik.
saya BELUM mengetahui apa masalahnya, sehingga TIDAK menjamin dalam hal apapun 
cara ini akan bekerja atau tidak di system anda. 

<sect>Prasyarat
<p>
<itemize>
<item>sebelum langkah-langkah di dokumen ini dijalankan, Pembaca harus telah 
mempunyai instalasi linux yang bekerja dan bisa berada prompt Linux sebagai 
<tt>root</tt> karena sebagian besar langkah-langkah yang yang diberikan hanya 
bisa dijalankan oleh user tersebut.
<item>Kernel yang ada telah di-compile dengan baik untuk menggunakan 
modules ataupun tidak, dan bahkan dapat menampilkan pesan kesalahan selama 
proses boot-up sebagai hasil dari modules yang dikonfigurasi tidak tersedia 
pada saat itu, sehingga menyebabkan kondisi diatas ditemui. 
<item>source tree untuk kernel saat ini dianggap ditemukan di
<tt>/usr/src/linux</tt> dan itu juga dianggap direktori yang sedang aktif
pada dokumen ini sebagai awal dari setiap urutan perintah yang dinyatakan. 
</itemize>

<sect>Compiler Speed-up
<P>Jika mesin kamu mempunyai RAM 16 MB atau lebih, ada suatu cara untuk 
mempercepat proses yang bisa dilakukan, yang mengizinkan kernel untuk 
meng-compile dua atau lebih modules secara paralel. Ini akan meningkatkan 
load di mesin pada saat kernel sedang di re-compile, tapi akan memperpendek 
waktu yang digunakan untuk proses compile.

<P>Sebelum kamu bisa menggunakan metode ini, kamu perlu men check jumlah RAM 
dimesin, karena jika seandainya kamu mensetnya terlalu tinggi, proses compile 
akan menjadi lamban. Pengalaman telah memperlihatkan bahwa nilai maksimum 
tergantung pada jumlah RAM pada system mengacu kepada formula berikut, paling 
tidak untuk system dengan RAM hingga 32 Megabytes, Meskipun ini sedikit kuno 
untuk system dengan jumlah RAM yang lebih besar: 

<tt>N = [RAM dalam MB] / 8 + 1 </tt>

<P>Untuk mempermudah yang tidak suka matematika, nilai-nilai untuk jumlah 
RAM secara umum adalah sebagai berikut:
<verb>
   RAM       N 
   16 MB     3
   24 MB     4
   32 MB     5
   40 MB     6
   48 MB     7
   56 MB     8
   64 MB     9
   80 MB    11
   96 MB    13
  112 MB    15
  128 MB    17
</verb>

<P>Ketika kamu telah memutuskan angka yang tepat, editlah file
<tt>/usr/src/linux/Makefile</tt> dan temukan baris yang tertulis:
<P><tt>   MAKE=make</tt>
<P>Ganti dengan: 
<P><tt>   MAKE=make -j <tt>N</tt> </tt>

Dimana <tt>N</tt> adalah angka yang telah ditentukan diatas.

<sect>Compile ulang kernel untuk modules
<P>Kernel bisa dikonfigurasi ulang untuk menggunakan semua modules lainnya 
yang di mount file system sebagai root (Pada sebagian besar kasus, ini adalah 
ext2 file system).
<P>
Namun, ada beberapa pilihan yang terlihat sulit untuk disetup dengan 
benar sebagai modules, sehingga saya akan merekomendasikan yang berikut ini 
untuk di-compile kedalam kernel: 
<itemize>
<item>Ethernet hardware drivers.
<item>SCSI CD-ROM drivers.
</itemize>
<P>Di sisi lain, ada kombinasi driver tertentu yang <tt>HANYA</tt> bekerja 
sebagai modules, terutama kombinasi dari dua atau lebih dari kelompok 
berikut:
 
<itemize>
<item>Parallel Printer,
<item>Parallel Port drive,
seperti <em>IOMEGA</> ZipDrive atau JazzDrive, 
atau CD-ROM drive <em>BackPack</>, dan
<item><tt>PLIP</tt> Daemon.
</itemize>
<P>

Kamu perlu memutuskan apa yang akan dicompile kedalam kernel, dan
apa yang sebagai modules, namun harus mempertimbangkan point point diatas. 
Pilihan yang sesungguhnya dibuat selama proses compile, kelanjutan 
dari urutan instruksi-instruksinya adalah sebagai berikut: 
<P>
<verb>
   cd /usr/src/linux
   make menuconfig
   make dep clean modules modules_install zImage
</verb>
<P>
Setelah melakukan hal itu, module dependencies perlu dipetakan (<em/mapped out/).
Ini dilakukan dengan perintah berikut: 
<P><tt>   depmod -a</tt>
<P>Kernel yang baru sekarang perlu di sisipkan ke boot chain. Saya 
mengasumsikan pembaca menggunakan LILO untuk tujuan ini, karena hanya ini 
loader satu-satunya yang saya pernah coba. 
<P>saya merekomendasikan agar TIDAK secara otomatis menyisipkan kernel 
yang baru saja di compile sebagai kernel default Linux karena akan gagal, 
Ini kemudian akan secara nyata sulit untuk mengembalikan setup Linux tanpa 
melakukan install ulang, yang tidak direkomendasikan. Untuk alasan ini 
saya mempunyai entry berikut didalam <tt>/etc/lilo.conf</tt> file:
<P><verb>
   image=/usr/src/linux/arch/i386/boot/zImage
      label=new
      alias=n
      read-only
      vga=ask
      optional
</verb>
<P>Entry tersebut menyatakan bahwa ada pilihan boot OPTIONAL ( yang akan 
diabaikan jika image yang diminta tidak ada ) yang mem boot file 
<tt>/boot/newlinux</tt> jika dipilih, dan mengizinkan sesorang untuk memilih
video mode yang akan di boot.
<P>Dengan mengasumsikan entry tersebut ada di <tt>/etc/lilo.conf</tt> maka 
kernel yang di perbaharui telah terletak dengan benar  di akhir proses compile 
, dan dapat di-install dengan menggunakan perintah berikut: 
<P><tt>   lilo</tt>
<P>Setelah melakukannya, pembaca perlu untuk mengikuti langkah selanjutnya 
sesuai dengan distribusi yang dipilihnya, sebagai berikut: 
<itemize>
<item>Mengkonfigurasi Modules Debian atau RedHat
<item>Mengkonfigurasi Modules Slackwarea
<item>Mengkonfigurasi Modules distribusi lainnya
</itemize>

<sect>Mengkonfigurasi Modules Debian atau RedHat
<P>Sebelum melakukan langkah-langkah yang ditulis disini, langkah-langkah 
Compile ulang kernel untuk modules dianggap telah 
dilakukan.
<P>Distribusi Debian and RedHat memiliki prosedur boot yang identik, sehingga 
memiliki prosedur yang identik pula untuk mengkonfigurasikan modules-nya.
<enum><item>Setelah log in sebagai root, gunakan text editor favorit kamu 
untuk membuat file baru yang bernama <tt>/etc/rc.d/init.d/modules.init</tt> 
dengan isi sebagai berikut: 
<P>
<verb>
   # Modules initialisation.
   #
   # Start up the module auto-loading daemon.
   /sbin/kerneld
   # Mount all currently unmounted auto-mounted partitions.
   /sbin/mount -a 
</verb>
<P><item>Setelah membuat file diatas, lakukan hal berikut ketika log in sebagai
 root:
<P>
<verb>
   cd /etc/rc.d
   chmod 755 init.d/*
   cd rc3.d
   ln -s ../init.d/modules.init 05modules.init
</verb>
</enum>
<P>System sekarang dapat di booting ulang, dan setelah melakukannya, akan 
terlihat bahwa modules telah benar-benar dijalankan.

<sect>Mengkonfigurasi Modules Slackware
<P>Sebelum melakukan langkah-langkah yang ditulis disini, langkah-langkah 
Compile ulang kernel untuk modules dianggap telah 
dilakukan.
<enum>
<item>File <tt>/etc/rc.d/rc.M</tt> perlu diedit sebagai berikut:
<enum>
<item>sekitar baris 18, ada bagian yang terbaca sebagai berikut:
<verb>
   # Screen blanks after 15 minutes idle time.
   /bin/setterm -blank 15
</verb>
tepat setelah ini, sisipkan paragraph berikut, dengan baris kosong
seperti biasa di kedua sisinya: 
<verb>
   # Load the kernel module auto-loader.
   /sbin/kerneld
</verb>
<P><item>sekitar 12 baris kebawah terdapat:
<P><verb>
   # if there is no /etc/HOSTNAME, fall back on this default:
</verb>
Tepat setelah ini,sisipkan paragraph berikut, sekali lagi dengan 
baris kosong seperti biasa di kedua sisinya: 
<P>
<verb>
   # Mount remaining unmounted auto-mount drives.
   /sbin/mount -a
</verb>
</enum>
<P>Ketika perubahan itu telah dilakukan, simpan file. 
</enum>
<P>Tidak ada modifikasi lebih lanjut dibutuhkan untuk Slackware.

<sect>Configurasi modules distribusi lainnya
<P>Sebelum melakukan langkah-langkah yang ditulis disini, langkah-langkah 
Compile ulang kernel untuk modules dianggap telah 
dilakukan.
<P>Dengan prosedur yang sama untuk distribusi lain belum dipastikan,
tapi kemungkinan satu dari yang diatas. untuk memutuskan yang mana, lihat 
directory dengan isi <tt>/etc/rc.d</tt> sebagai berikut:
<P>
<verb>
   cd /etc/rc.d
   ls -l *.d rc.*
</verb>
<P>Dari hasil yang ditampilkan, kamu bisa memilih satu dari tiga pilihan 
berikut: 
<enum>
<item>Jika didaftar tersebut terdapat subdirektori bernama <tt>init.d</tt> 
dan beberapa direktory dengan nama yang menyerupai <tt>rc?.d</tt> dimana tanda 
tanya digantikan dengan angka tunggal, dan <tt>TIDAK</tt> berisi file dengan 
nama <tt>rc.M</tt>, maka distribusi tersebut dapat dikonfigurasikan modules-nya 
prosedur yang dinyatakan sebelumnya untuk Distribusi Debian dan 
RedHat.
<item>Jika daftar tidak berisi directory bernama <tt>init.d</tt> tapi berisi 
file dengan nama <tt>rc.M</tt> maka kemudian distribusi tersebut dapat 
dikonfigurasikan modules-nya dengan prosedur diatas yang dinyatakan untuk 
Distribusi Slackware. 
<item>Jika daftar ini tidak termasuk dalam kriteria diatas maka distribusi 
menggunakan boot script yang tidak ada dalam howto ini. Dalam kasus ini, 
kamu bisa menghubungi penulis dokumen ini untuk memperoleh petunjuk. 

</enum>

<sect>Hak Cipta dan Legalitas Lainnya
<P>Dokumen ini dilindungi oleh <em>GNU General Public 
Licence (GPL)</em>, dan emcakup semua kondisi dan batasan yang ada didalamnya.
<P>Penulis bisa dihubungi dengan email di 
<url url="MailTo:rhw@bigfoot.com" name="rhw@bigfoot.com">.
</article>