Distro Linux sangat banyak. salah satu jenisnya adalah Slackware. Slackware merupakan salah satu distro tua. Tapi walaupun sudah tua, tutorial tentang modifikasi atau membuat distro linux dengan distro dasar Slackware sangat sedikit. Oleh sebab itu, saya, walau sebagai pemula dalam linux, ingin membantu para Linuxer yang ingin membuat distro sendiri. Sangat direkomendasikan setidaknya telah memiliki pengalaman atau telah terbiasa dengan Linux Slackware. Namun jika anda belum memiliki pengalaman sama sekali dengan slackware, saya sarankan untuk membaca e-book Slackware Essentials yg dapat anda download di sini.
Apa saja yang diperlukan?
1. Anda akan bekerja dengan setup milik Slackware. Meng-edit file-file konfigurasi akan lebih mudah jika anda telah menjalankan Slackware. Dan direkomendasikan membuat partisi baru untuk Slackware yang telah anda modifikasi.
2. Jika anda belum meng-install Slackware, anda dapat menggunakan software lain seperti Alcohol yang ada pada Windows untuk membuat ISO distro anda.
3. Disarankan Versi Slackware terbaru jika ada. Saya telah mencoba memakai Slackware 12, tetapi entah mengapa tidak dapat melakukan mount initrd. Jadi saya menggunakan Slackware 11.
Apa saja yang dilakukan untuk Remastering?
1. Copy seluruh isi Installer Slackware
2. Mount dan Modifikasi inird.img
3. Modifikasi setpkg
4. Modifikasi message.txt
5. Modifikasi tagfile
6. Tambahkan software
7. Buat ISO
1. Copy Seluruh isi Installer Slackware
Saya meng-copy seluruh isi CD installer Slackware, kecuali initrd.img dalam direktori isolinux, dengan tujuan untuk mempermudah saja. Saya meletakkan isi installer Slackware di direktori: slackware 11/. Isi dari CD installer tersebut adalah beberapa file dan 3 buah direktori, yaitu isolinux, kernels, dan slackware. Namun jika anda mengerti file-file apa saja yang digunakan oleh Slackware, sangat disarankan untuk menghapusnya. Saya menghapus file-file dirasa tidak penting untuk distro saya, salah satunya slackbook.
2. Mount dan Modifikasi initrd.img
Initrd.img dapat ditemukan di CD Slackware pada folder isolinux atau /slackware/isolinux jika anda memilih untuk men-download dari. Saya menggunakan CD installer Slackware karena saya memilikinya. Agar dapat dimodifikasi, initrd yang berada di cd Slackware di-copy ke harddisk saya, tetapi tambahkan "gz". Saya telah mencoba mount initrd tanpa diberi ekstensi "gz", tetapi tidak bisa.
kode:
cp initrd.img /root/makeDistro/initrd.img.gz
direktori makeDistro adalah tempat di mana saya menaruh initrd.img.gz
Kemudian gunzip file tersebut.
kode:
gunzip initrd.img.gz
Initrd.img telah kembali seperti semula. Untuk mengeditnya, kita harus mount dengan cara:
kode:
mount -o loop initrd.img /mnt/memory
/mnt/memory adalah direktori mount point yang saya gunakan.
Kita kemudian pindah ke direktori mount point.
kode:
cd /mnt/memory
Script-script yang akan anda edit menggunakan teks editor dapat ditemukan direktori /mnt/memory/usr/lib/setup. Anda tidak perlu meng-edit seluruh file yang ada. Bahkan tanpa menyentuh satu file pun, anda dapat melakukan remastering. Sebagian besar file-file yang ada saya edit dan translasi ke Bahasa Indonesia. Salah satu yang saya ubah adalah script "setup". Script setup berisi fungsi-fungsi untuk melakukan installasi Slackware. Di Dalamnya anda akan menemukan sesuatu seperti di bawah ini.
kode:
dialog --title "Slackware Linux Setup (version 11.0)" \
--menu \
"Welcome to Slackware Linux Setup.\n\
Select an option below using the UP/DOWN keys and SPACE or ENTER.\n\
Alternate keys may also be used: '+', '-', and TAB." 18 72 9 \
"HELP" "Read the Slackware Setup HELP file" \
"KEYMAP" "Remap your keyboard if you're not using a US one" \
"ADDSWAP" "Set up your swap partition(s)" \
"TARGET" "Set up your target partitions" \
"SOURCE" "Select source media" \
"SELECT" "Select categories of software to install" \
"INSTALL" "Install selected software" \
"CONFIGURE" "Reconfigure your Linux system" \
"EXIT" "Exit Slackware Linux Setup" 2> $TMP/hdset
Saya mengubah di bawah ini
kode:
dialog --title "Slackware Linux Setup (version 11.0)" \
dan
kode:
"Welcome to Slackware Linux Setup.\n\
Menjadi
kode:
dialog --title "Setup Linux kdutOS (version 1.0)" \
dan
kode:
"Selamat Datang di Setup Linux kdutOS.\n\
Sederhana bukan? Namun perlu hati-hati pada saat melakukan pengeditan. Perlu diperhatikan bahwa teks-teks yang anda edit tidak mempengaruhi sistem. Dengan kata lain, lebih baik edit bagian-bagian teks yang berupa ketengan-keterangan atau komentar-komentar. Setelah selesai edit script-script yang diinginkan, lakukan umount.
kode:
umount -d /mnt/memory
kemudian copy atau pindahkan initrd yang telah di-edit ke direktori slackware 11/isolinux/.
3. Modifikasi setpkg
Masuk ke direktori Slackware 11/. Script setpkg terdapat pada direktori isolinux. Script setpkg berguna untuk menambah atau mengurangi seri paket pada Slackware. Seri paket yang ingin ditambahkan, dapat dilakukan dengan mengedit file ini sehingga menu untuk paket yang baru dapat ditampilkan. Sebagian Isi dari setpkg adalah sebagai berikut.
"A" "Base Linux system" on "The A (base) series contains the kernel and main system utilities." \
"AP" "Various Applications that do not need X" on "The AP series is a collection of useful applications." \
"D" "Program Development (C, C++, Lisp, Perl, etc.)" on "The D series contains compilers, debuggers, and other programming tools." \
"E" "GNU Emacs" on "The E series contains the GNU Emacs advanced real-time display editor." \
Seri A, berisi paket-paket Base Linux System, dan seterusnya. Struktur dari setpkg sangat mudah untuk dimengerti bukan? Anda juga dapat menambahkan seri-seri paket yang baru dengan menambahkannya sendiri pada direktori slackware. Direktori slackware dapat anda temukan pada isi CD installer Slackware yang telah di-copy ke harddisk, yaitu di dalam direktori slackware 11/. Misal, anda ingin menambahkan direktori "EXT" yang berisi paket-paket extra dalam direktori slackware. Yang harus anda lakukan adalah membuat direktori "EXT" di dalam direktori slackware dan meng-copy scipt install.end, install-packages, maketag, dan maketag.ez pada seri yang telah ada ke dalam direktori "EXT". Lalu edit script setpkg agar dapat terdeteksi. Dengan menambahkan baris di bawah ini, akan membuat pemakai dapat melakukan select/deselect.
"EXT" "Paket-paket extra" on "Seri EXT berisi paket-paket extra untuk distro saya. " \
Jika anda tidak membutuhkan suatu seri paket, cukup hapus baris pada setpkg kemudian hapus direktorinya di dalam direktori slackware/.
4. Modifikasi message.txt
File message.txt menampilkan pesan awal saat pertama kali akan install. Anda dapat menambahkan nama distro anda seperti "PegeLinux 1.0".Dengan kata lain sebagai ucapan selamat datang. Ada baiknya anda translasikan ke Bahasa Indonesia.
5. Modifikasi tagfile
Apa itu tagfile? tagfile merupakan file yang membuat anda dapat menambahkan software-software yang kita inginkan ke dalam distro. Coba anda masuk ke direktori seri paket "A" di dalam direktori Slackware. saya mohon, please, harap baca tagfile-nya dari awal. Dengan begitu, Anda dapat mempelajari bagaimana mengkontrol software yang akan kita install apakah optional atau required atau yang lainnya. Setelah anda membacanya, sebagian isi dari tagfile adalah seperti di bawah ini.
kode:
aaa_base: ADD
aaa_elflibs: ADD
acpid: REC
apmd: REC
Anda pasti sudah tahu bahwa dua baris di atas merupakan paket-paket yang akan di-install pada saat proses instalasi. Dua berikutnya merupakan rekomendasi. Misal, anda ingin menambahkan mozillla firefox setelah mendapat versi terbaru dari LinuxPackages.net. Setelah anda memindahkan firefox ke direktori yang anda inginkan, misal /n, edit tagfile yang ada dalam direktori /n. Gunakan teks editor seperti vim, KWrite atau yang lainnya.
kode:
vim tagfile
masukkan baris seperti di bawah
kode:
mozillafirefox: REC
atau
kode:
mozillafirefox: ADD
atau
kode:
mozillafirefox: OPT
Gunakan bagian awal dari nama software. Luangkan waktu sedikit untuk tagfile, agar distro yang anda buat hanya berisi paket-paket yang dibutuhkan.
6. Tambahkan software/paket
Setelah mengetahui cara menambahkan software, saya akan jelaskan bagaimana mendapatkan slackpack. Slackpack adalah paket berekstensi tgz yang telah dibangun, seperti paket-paket RPM atau DEB yang menghilangkan neraka dependensi. Gunakan program "checkinstall" untuk membuat slackpack. Cara termudah mendapatkan software untuk distro anda adalah melalui situs LinuxPackages.net yang berisi kumpulan slackpack yang di-submit oleh beberapa anggota dari komunitas Slackware. Anda dapat menambahkan kalimat seperti "Paket-paket ekstra diambil dari www.LinuxPackages.net" pada message.txt.
Anda mungkin merasa lebih baik meng-compile paket-paket anda sendiri. Hal itu sangat mengkonsumsi waktu dibanding menambahkan paket-paket pre-built. Dan tentunya, Ada akan membutuhkan program checkinstall untuk slackpack buatan anda setelah melakukan compile software. Program checkinstall dapat anda download pada www.LinuxPackages.net. Pada akhirnya, penghargaan kepada empunya Slackware, Patrik J. Volkerding, patut diberikan karena adanya slackpack.
Ugh...tampaknya saya telah sedikit nyasar. Kembali ke permasalahan. Saat anda memindahkan atau meng-copy software ke direktori dimana software berada, jangan lupa tambahkan sebuah deskripsi di dalam file berekstensi txt. File txt tersebut harus bernama sama dengan paket yang akan dideskripsikan. misalkan, jika terdapat paket apache-1.3.37-i486-2.tgz maka untuk deskripsinya, harus ada file berekstensi txt bernama apache-1.3.37-i486-2.txt. Contoh isi dari file txt untuk mendeskripsi mozilla firefox seperti di bawah ini.
kode:
mozilla: mozilla (web browser open-source)
mozilla:
mozilla: Web browser Mozilla. Mozilla adalah saudara dari Netscape
mozilla: Communicator yang dikembangkan oleh komunitas Free Software
mozilla: dengan kerjasama dan dukungan dari Netscape. Mozilla menggunakan
mozilla: browser engine generasi berikutnya yang bernama Gecko.
mozilla:
mozilla:
mozilla:
mozilla:
mozilla:
Anda harus menggunakan format diatas ketika akan menambahkan software. Jadi setelah meng-edit tagfile, yang dilakukan adalah:
1. Tambahkan software ke subdirektori dari direktori slackware, misal slackware 11/slackware/n/.
2. Tambahkan sebuah file txt sebagai deskripsi software anda di dalam direktori yang sama dengan software berada.
Sederhana bukan?
7. Buat ISO
Setelah modifikasi script dan menambahkan software, saatnya untuk membuat ISO. Masuk ke command line. Kemudian masuk ke direktori slackware 11/ yang merupakan direktori yang isi dari CD slackware dan script-script yang telah dimodifikasi. Berikut ini adalah perintah yang digunakan. PegeLinux adalah nama distro saya.
kode:
mkisofs -o /tmp/kdutOS.iso -R -J -V "kdutOS Install" -hide-rr-moved -v -d -N -no-emul-boot -boot-load-size 32 -boot-info-table -sort isolinux/iso.sort -b isolinux/isolinux.bin -c isolinux/isolinux.boot -A "kdutOS CD" .
hasilnya terdapat pada direktori /tmp/. Setelah iso terbuat, burn ke CD melalui Windows atau melalui Linux.
Fiuhh...Selesai juga. Selamat mencoba! Good Luck! =)
sumber:
http://www.linuxquestions.org/linux/answers/Applications_GUI_Multimedia/Cooking_Up_Some_Slack_CUSS
update:
Untuk Slackware 12.0 keatas, penanganan initrd.img agak berbeda. Berikut ini adalah langkah2nya:
1. mkdir /mnt/cpio
2. cd /mnt/cpio
3. gzip -dc /direktori/initrd.img | cpio -i -d -H newc --no-absolute-filenames
4. silahkan list direktori /mnt/cpio dengan perintah ls
nb: filenya jangan lupa di-gunzip terlebih dahulu.
Tuesday, 30 November 2010
Remastering Linux Slackware
22:21
No comments
0 komentar:
Post a Comment