Sebuah produk (termasuk perangkat lunak dan sistem operasi) bisa saja mengklaim telah dibuat berdasarkan / sesuai dengan kebutuhan pengguna akhir, tapi tetap saja, siapa sih,,,?? yang lebih mengetahui kebutuhan pengguna selain pengguna itu sendiri :p, free open source software (termasuk didalamnya distribusi GNU/Linux) hadir dengan konsep yang memberikan hak kepada pengguna untuk melakukan modifikasi dan penyesuaian perangkat lunak menjadi lebih baik dan mudah digunakan. Dengan berbekal kemauan dan membaca dokumentasi, seorang pengguna akhir dapat memenuhi keinginannya sendiri/kelompok dalam hal memiliki sebuah distribusi GNU/Linux yang sesuai dengan kebutuhannya tanpa harus tergantung 100% kepada pengembang utama distribusi GNU/Linux tersebut.
sebenarnya sich latar belakang saya menulis artikel ini dikarenakan turunan Ubuntu SuperOS yang biasa saya gunakan tidak mengeluarkan SuperOS versi terbaru, terakhir kali Super OS merilis versi 11.04 dan hingga saat ini belum juga merilis versi terbarunya (11.10), varian lain Ultimate Edition baru mengeluarkan versi 3.2 berdasarkan Ubuntu 11.10 pada bulan maret 2012, *lamaaaaa bgt (⌣́_⌣̀) karena saya gak suka digantung *gak sabaran jadilah saya memutuskan untuk ubuntu seri selanjutnya (12.04) akan menyesuaikan sendiri Ubuntu menjadi sesuai dengan kebutuhan kelompok/pribadi
tulisan ini sendiri merupakan terjemahan dan penyesuaian dari halaman
https://help.ubuntu.com/community/LiveCDCustomization
tulisan ini sendiri merupakan terjemahan dan penyesuaian dari halaman
https://help.ubuntu.com/community/LiveCDCustomization
Sebagai contoh, disini saya menggunakan image (.ISO) Live CD ubuntu 12.04 LTS ubuntu-12.04-desktop-i386.iso , untuk menjalankan proses ini, sebelumnnya pasang dulu perangkat lunak yang dibutuhkan pada sistem,
sudo apt-get install squashfs-tools genisoimage
Setelah selesai, ektrak isi dari image (.ISO) Live CD ubuntu dan salin kedalam direktori yang telah ditentukan,
sudo mount -o loop ubuntu-12.04-desktop-i386.iso /mnt
mkdir ~/cd-image/; rsync -av /mnt/ ~/cd-image/; sudo umount /mnt
Setelah proses penyalinan selesai, jangan lupa untuk mengumount image (.ISO), pindah kedirektori ~/cd-image/casper
cd ~/cd-image/casper
Ekstrak SquashFS filesystem (Ubuntu Live Filesystem) untuk mendapatan sari patinya,, eh maksudnya live filesystem yang akan dichroot,
sudo unsquashfs filesystem.squashfs
Sebagai hasil dari perintah diatas akan ada sebuah direktori bernama squashfs-root yang berisi filesystem LiveUbuntu, selanjutnya berkas filesystem.squashfs yang berukuran lumayan besar tersebut dapat dibuang,,
Agar dapat terhubung kejaringan salin berkas yang dibutuhkan untuk proses customise LiveCD
sudo rm filesystem.squashfs; sudo cp /etc/resolv.conf squashfs-root/etc/; sudo cp /etc/hosts squashfs-root/etc/
Mount filesystem yang dibutuhkan dan lakukan chroot pada squashfs-root untuk memulai customise,
sudo mount --bind /dev/ squashfs-root/dev; sudo chroot squashfs-root
Mulai dari sini selanjutnya proses dilakukan pada lingkungan chroot (squashfs-root)
mount -t proc none /proc; mount -t sysfs none /sys; mount -t devpts none /dev/pts
Untuk menghindari locale issues dan agar dapat mengimport GPG keys jalankan perintah berikut,
export HOME=/root; export LC_ALL=C
Lakukan juga hal tambahan berikut agar proses pemasangan aplikasi tambahan pada lingkungan chroot dapat berjalan dengan baik,
dbus-uuidgen > /var/lib/dbus/machine-id; dpkg-divert --local --rename --add /sbin/initctl; ln -s /bin/true /sbin/initctl
Setalah selesai semua langkah diatas, hal pertama yang harus dilakukan sebelum memasang perangkat lunak
tambahan adalah memperbarui daftar perangkat lunak, jika dibutuhkan
sebelumnya bisa merubah lokasi repositori ubuntu dahulu (/etc/apt/sources.list), selanjutnya untuk proses pemasangan/penambahan dan pengurangan aplikasi dapat menggunakan perintah apt-get, penggunaanya sama seperti ketika menggunakan sistem ubuntu normal,
sources.list yang saya gunakan
Memasang perangkat lunak tambahan,
sources.list yang saya gunakan
#Main Repository deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise main restricted deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise main restricted deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-updates main restricted deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-updates main restricted #Universe Repository deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise universe deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise universe deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-updates universe deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-updates universe ## Multiverse Repository deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise multiverse deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise multiverse deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-updates multiverse deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-backports main restricted universe multiverse deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-backports main restricted universe multiverse deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-security main restricted deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-security main restricted deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-security universe deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-security universe deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-security multiverse deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ precise-security multiverse ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu precise partner deb-src http://archive.canonical.com/ubuntu precise partner ## This software is not part of Ubuntu, but is offered by third-party ## developers who want to ship their latest software. deb http://extras.ubuntu.com/ubuntu precise main deb-src http://extras.ubuntu.com/ubuntu precise main
Memasang perangkat lunak tambahan,
apt-get update; apt-get install vlc wine ubuntu-restricted-extras audacious;
Untuk proses pemasangan perangkat lunak tambahan yang berasal dari sumber non-repositori ubuntu , ppa tambahan atau standalone installer, seperti Google Chrome, Handbrake dapat dilakukan dengan terlebih dahulu menyalin paket installer kedalam direktori chroot kemudian memasangnya menggunakan perintah dpkg atau yang sesuai,
Jika ingin memperbarui seluruh paket perangkat lunak yang ada pada LiveCD
apt-get update; apt-get dist-upgrade
Setelah semua proses pemasangan selesai, lanjutkan dengan menghapus berkas-berkas yang tidak dibutuhkan,
apt-get clean; apt-get autoremove; rm -rf /tmp/* ~/.bash_history; rm /etc/hosts; rm /etc/resolv.conf; rm /var/lib/dbus/machine-id; rm /sbin/initctl; dpkg-divert --rename --remove /sbin/initctl
Jika pada saat proses customise dilakukan pemasangan kernel baru, maka untuk menghemat ruang bebas pada sistem, kernel yang lebih tua sebaiknya dihapus. Gunakan perintah berikut untuk melihat kernel yang terpasang pada sistem,
dpkg-query -W --showformat='${Package}\n' | grep linux-image
dari hasil perintah diatas, tentukan kernel mana yang akan dihapus,
apt-get purge linux-image-3.2.0-20-generic-pae
Peringatan..!!!
Pastikan untuk tidak menghapus semua kernel yang terpasang pada lingkungan chroot, karena jika hal itu terjadi LiveCD yang dihasilkan tidak akan dapat diboot,
Jika tidak ada lagi urusan dengan chroot, segera angkat kaki dari lingkungan chroot sebelumnya umount dulu filesystem yang digunakan
umount -lf /proc ; umount -lf /sys; umount -lf /dev/pts; exit
sudo umount -lf ~/cd-image/casper/squashfs-root/dev
Penyesuaian/Modifikasi yang saya lakukan disini hanya menambah perangkat lunak tambahan, tanpa merubah artwork dan identitas dari ditribusi GNU/Linux ubuntu itu sendiri, untuk proses modifikasi yang lebih lanjut seperti merubah user name, password live user atau hal lainnya bisa merujuk pada dokumentasi asli dari tulisan ini,
Setelah semuanya selesai, hal selanjutnya yang dilakukan adalah mengemas kembali seluruh berkas menjadi image (.ISO), sebelumnya lakukan sedikit perubahan pada berkas yang dibutuhkan,
Masih didalam direktori ~/cd-image/casper/, buat daftar baru seluruh perangkat lunak yang terpasang pada LiveCD
chmod +w filesystem.manifest; sudo chroot squashfs-root dpkg-query -W --showformat='${Package} ${Version}\n' > filesystem.manifest
Kompres lingungan chroot menjadi filesystem.squashfs kembali menggunakan squashfs-tools
sudo mksquashfs squashfs-root filesystem.squashfs -b 1048576
Buat ulang berkas yang berisi ukuran dari lingkungan chroot
chmod +w filesystem.size; printf $(sudo du -sx --block-size=1 squashfs-root | cut -f1) > filesystem.size
Salin kernel dan initrd dari lingkungan chroot kedalam direktori ../casper , sebelumnya hapus terlebih dahulu berkas initrd.lz dan vmlinuz yang lama
sudo rm initrd.lz vmlinuz; sudo cp -vp /home/wagung/cd-image/casper/squashfs-root/boot/vmlinuz-3.2.0-22-generic-pae ./vmlinuz; sudo cp -vp /home/wagung/cd-image/casper/squashfs-root/boot/initrd.img-3.2.0-22-generic-pae ./initrd.lz
Sebelum mebuat image (iso) hapus terlebih dahulu lingkungan chroot, atau pindahkan dari direktori yang akan dibuat menjadi image (.iso)
sudo rm -rf squashfs-root
Setelah selesai pindah dari direktoi ../casper kedirektori atasnya ~/cd-image/ berikan nama baru pada image, edit berkas README.diskdefines . Hapus md5sum lama yang berisi nilai checksum md5 dari seluruh berkas yang terdapat pada LiveCD dan buat checksum baru
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
Setelah selesai, kemas seluruh berkas menjadi image (.ISO), masih didalam direktori ~/cd-image/ jalankan perintah berikut,
sudo mkisofs -D -r -V "Ubuntu_12.04_LTS" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-desktop-i386-custom.iso .
Ubuntu 12.04 Custom LiveCD berjalan di virtual mesin |
*gpl = gak pake lama ,,. cuy :p
Rujukan :
https://help.ubuntu.com/community/LiveCDCustomization
2 komentar:
Gan Kenapa ISO-nya nggakdi upload
Ini yang gw cari.. thanx gan,. ane coba dulu.. tapi mau coba langsung yang versi 12.10 quantal nich, :D
Post a Comment
Note: Only a member of this blog may post a comment.