PANDUAN REMASTERING UBUNTU
OLEH RULLY SATRI YUDHA (
[email protected])
DAFTAR ISI
DAFTAR ISI............................................................................................................ii 1. TUJUAN REMASTERING.................................................................................1 2. KEBUTUHAN SISTEM:.....................................................................................1 3. PROSES...............................................................................................................1 4. EKSTRAK CD CONTENT.................................................................................2 5. MEMBUAT VIRTUAL IMAGE..........................................................................2 6. MENGEKSTRAK DESKTOP SISTEM..............................................................2 7. PERSIAPAN DAN CHROOT.............................................................................3 8. KOSTUMISASI...................................................................................................4 8.1. Apt-get..........................................................................................................4 8.2. Kostumisasi background..............................................................................4 8.3. Merubah nilai gconf (font, panel dll.)..........................................................4 8.4. Membuat beberapa perubahan gconf............................................................5 8.5. Merubah default bahasa pada gfxboot..........................................................5 8.6. Batasan kostumisasi......................................................................................6 9. KOSTUMISASI TINGKAT LANJUT.................................................................6 9.1. Live CD Kernel............................................................................................6 9.2. Boot init........................................................................................................6 9.3. Membuat Ulang initrd..................................................................................7 9.4. Lain-lain.......................................................................................................7 10. CLEANUP.........................................................................................................8 11. MENYATUKAN KE DALAM CD....................................................................9 11.1. Regenerate manifest...................................................................................9 11.2. Kompres filesystem....................................................................................9 11.3. Create Iso..................................................................................................10 12. TESTING CD...................................................................................................10
ii
13. BURNING IMAGE FILE KE CD...................................................................10 14. REFERENSI....................................................................................................10
iii
1. TUJUAN REMASTERING Tujuan kostumisasi Ubuntu Desktop (live) CD yang diharapkan adalah : 1. Membuat linux/Ubuntu distribusi anda sendiri; 2. Menunjukkan kelebihan aplikasi didalamnya; 3. Menghapus paket aplikasi; 4. Menambahkan paket aplikasi; 5. Update paket aplik asi; 6. Mengubah default sistem Desktop (theme, icons, desktop background, panels,halaman browser, dll).
2. KEBUTUHAN SISTEM: 1. Minimal 5-7 GB free space; 2. Minimal 512 MB RAM dan 1 GB swap (recommended); 3. Paket squashfs-tools; 4. Paket genisoimage, yang mendukung mkisofs; 5. Sebuah Ubuntu kernel dengan dukungan squashfs (Ubuntu 7.04 atau yang terbaru); 6. QEMU/KVM, VirtualBox atau VMware untuk testing (optional).
3. PROSES 1. Pertama, pastikan anda sudah meng-install tool yang dibutuhkan; $ sudo apt-get install squashfs-tools 2. contoh di sini menggunakan ubuntu-8.10-desktop-i386.iso 3. Move atau copy ke dalam sebuah direktori kosong; $ mkdir project $ mv ubuntu-8.10-desktop-i386.iso project/
1
$ cd project/ 4. Buat direktori "cdrom", "temp", dan "work ". $ mkdir cdrom temp work
4. EKSTRAK CD CONTENT 1. Mount file .iso ; $ sudo mount -o loop ubuntu-8.10-desktop-i386.iso temp 2. Ekstrak isi .iso ke dalam direktori "cdrom"; $ sudo rsync -av temp/ cdrom/ 3. ubah akses permission seluruh direktori; $ sudo chmod 777 -R cdrom/ 4. lakukan unmounting. $ sudo umount temp
5. MEMBUAT VIRTUAL IMAGE 1. melakukan disk dump, untuk membuat image; $ sudo dd if=/dev/zero of=livecdfs.ext2 bs=1M count=4000 2. Memformat image. $ sudo mke2fs livecdfs.ext2
6. MENGEKSTRAK DESKTOP SISTEM 1. Mount squashfs filesystem; $ mkdir squashfs $ sudo mount -t squashfs -o loop cdrom/casper/filesystem.squashfs temp/ 2. Mounting image virtual;
2
$ sudo mount -o loop livecdfs.ext2 work/ 3. Meng-copy isi dari direktori temp ke dalam direktori "work "; $ sudo cp -av temp/* work/ 4. Unmounting direktori "temp". $ sudo umount temp
7. PERSIAPAN DAN CHROOT 1. Jika anda membutuhkan koneksi jaringan dengan chroot; $ sudo cp /etc/resolv.conf work/etc/ 2. Tergantung pada konfigurasi, anda juga mungkin perlu untuk menyalin file hosts; $ sudo cp /etc/hosts work/etc/ $ sudo mount --bind /dev/ work/dev $ sudo mount -t proc -o bind /proc work/proc/ 3. Chroot kedalam direktori "work ; $ sudo chroot work 4. Jalankan dalam mode Chroot; # mount -t proc none /proc # mount -t sysfs none /sys (ini penting me-mounting direktori sistem host Anda - jika Anda kemudian memutuskan untuk menghapus mengedit / direktori, maka pastikan untuk unmount sebelum melakukan hal tersebut, jika Anda akan menjadi host sistem akan tidak berguna setidaknya untuk sementara sampai reboot) 5. Untuk menghindari masalah-masalah lokal, impor GPG key # export HOME=/root # export LC_ALL=C
3
8. KOSTUMISASI 8.1. Apt-get 1. Untuk melihat paket instalasi berdasarkan ukurannya; # dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less 2. Ketika anda ingin menghapus paket, ingatlah untuk selalu menggunakan opsi "purge"; # apt-get remove --purge nama-paket
8.2. Kostumisasi background Pada umumnya file background berada pada "/usr/share/backgrounds". Copy file gambar anda kedalamnya, pilih owner dan file access, dan edit file berikut : -
/usr/share/gnome-background-properties/ubuntu-wallpapers.xml
-
/usr/share/gconf/defaults/16_ubuntu-artwork
atau file yang lain didalam direktori yang sama. Dengan merubah string /usr/share /backgrounds/warty-final-ubuntu.png langsung kedalam file anda. Terkadang juga merubah atau menambahkan atribut kedalam file konfigurasi yang lain seperti : – "/var/lib/gconf/debian.defaults/%gconf-tree.xml – "/etc/gconf/gconf.xml.defaults /%gconf-tree.xml").
8.3. Merubah nilai gconf (font, panel dll.) Untuk membuat perubahan pada atribut gconf anda harus menambahkan nilai yang dapat anda tambahkan pada file "/etc/gconf/gconf.xml.defaults/%gconftree.xml". Tambahkan sebuah nilai dalam file tersebut akan merubah nilai default dari Gnome atau aplikasi yang lain, jadi anda dapat merubah font, background, themes, cursor, dll. Daripada anda merubah file dengan gedit atau text editor yang lain, anda dapat menggunakan gconftool-2, dibawah lingkungan chroot, jalankan baris perintah berikut : $ gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults 4
--type string --set Dimana string, key anda dan value anda harus diketik sesuai key dan value yang anda ingin rubah..
8.4. Membuat beberapa perubahan gconf Editing gconf dengan setting tiap value terpisah akan memakan banyak waktu. Ada cara yang lebih mudah : Buatlah sebuah user "test" dan sesuaikan pengaturan yang anda inginkan. Jalankan $ gconftool-2 --dump /the/settings/branch/you/need > your-new-settings.xml $ sudo chown root:root your-new-settings.xml $ sudo mv your-new-settings.xml work/your-new-settings.xml kemudian, di dalam chroot environment, jalankan perintah: $ gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --load your-new-set $ rm your-new-settings.xml Dengan cara ini Anda dapat mengimpor seluruh cabang /apps/panel - semua pengaturan untuk Gnome panels.
8.5. Merubah default bahasa pada gfxboot Customisasi ini harus dilakukan di luar chroot. $ sudo apt-get install dpkg-dev $ sudo apt-get source gfxboot-theme-ubuntu gfxboot $ cd gfxboot-theme-ubuntu*/ $ make DEFAULT_LANG=fi $ sudo cp -af boot/* ../cdrom/isolinux/ Ubah "fi" kedalam pilihan locale anda. Catatan bahwa ini tidak mengubah bahasa yang tersedia dalam menu F2. Untuk info lebih lanjut gfxboot tentang customisasi, lihat Ubuntu Customization Kit. Sebuah cara lain untuk mengubah standar bahasa gfxboot tanpa membuat ulang paket adalah membuat nama file 5
lang dalam direktori isolinux berisi nama lokal Anda.
8.6. Batasan kostumisasi Setelah customisasi pastikan bahwa tidak ada user dengan UID >= 1000. Dengan kata lain image anda tidak akan boot karena tiak ada initial. User tersedia (lihat /usr/lib/user-setup/functions.sh dan /usr/lib/user-setup/user-setup-apply). Ketika dalam lingkungan chroot: # grep '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:' /etc/passwd # grep '^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:' /etc/passwd Jika anda mendapatkan banyak UID >=1000, coba untuk merubah UID-nya : # usermod -u 500 $hit
9. KOSTUMISASI TINGKAT LANJUT 9.1. Live CD Kernel Jika anda ingin meng-customisasi proses boot, anda dapat merubah livecd kernel, dengan meng-copy vmlinuz dan initrd anda tempatkan di tempat salah satu direktori yang dapat anda cari di "cdrom/casper". $ sudo cp work/boot/vmlinuz-2.6.15-26-k7 cdrom/casper/vmlinuz $ sudo cp work/boot/initrd.img-2.6.15-26-k7 cdrom/casper/initrd.gz nb: dalam hal ini memakai kernel 2.6.15-26-k7. Kernel yang anda gunakan bisa saja berbeda dari kernel di atas.
9.2. Boot init Anda harus meng-edit file edit/usr/share/initramfs-tools/scripts/casper-bottom/* Sebagai contoh anda dapat merubah hostname atau livecd user. $ sudo nano edit/usr/share/initramfs-tools/scripts/casper 6
dan edit username atau hostname $ sudo nano edit/usr/share/initramfs-tools/scripts/casper-bottom/10adduser untuk mengedit livecd user password Catatan : untuk memperoleh password yang dienkripsi, Anda harus menggunakan program mk passwd yang dikirimkan dengan paket whois!
9.3. Membuat Ulang initrd Setelah anda sudah me-modifikasi kernel, init scripts atau menambahkan modul kernel, anda perlu membuat ulang file initrd.gz dan replace file initrd.gz yang berada dalam direktori casper. $ sudo chroot work/ # mkinitramfs -o initrd.gz 2.6.27-11-generic (gantikan versi kernel dengan satunya dimana CD akan boot - ini dapat ditemukan dalam "work /lib/modules") Keluar dari lingkungan chroot dan pindahkan file ini kedalam "cdrom/casper": # exit $ mv work/initrd.gz cdrom/casper/
9.4. Lain-lain 1. /etc/casper.conf mengedit username, user fullname, host, build system 2. /etc/bash.bashrc merubah wellcome message ke ID 3. /etc/issue dan issue.net dan motd.tail merubah pesan “Ubuntu 8.10 ...” saat masuk terminal 4. /etc/modules untuk meload modul kernel saat booting 5. /etc/skel 7
semua file/direktori di dalamnya akan dikopi ke homedir user 6. /etc/gnome/default.list untuk merubah file dengan ekstensi apa di buka aplikasi apa 7. /etc/xdg/user-dirs.defaults ganti untuk menentukan direktori apa saja yang dibuat di homedir 8. /etc/xdg/menus/*.menu untuk membuat pengaturan kategori menu sendiri 9. /usr/share/backgrounds/ wallpaper default 10. /usr/share/firefox/browserconfig.properties Merubah alamat default yg dibuka saat start, misalnya k e “file:///usr /example-content/readme.html” atau “http://ruleenux.com” 11. /usr/share/gconf/default/* dan schemes/* konfigurasi settingan desktop, menu, panel, dan lain-lain 12. /usr/share/ubuntu-artwork tampilan awal firefox browser offline 13. /usr/share/example-content direktori file-file example Ubuntu
10. CLEANUP Pastikan untuk menghapus setiap file temporary yang tidak lagi diperlukan, karena ruang CD terbatas. Sebuah contoh klasik download paket file, yang dapat dibersihkan dengan menggunakan : # apt-get clean atau hapus temporary file # rm -rf /tmp/* atau pengaturan nameserver # rm /etc/resolv.conf sekarang unmount special filesystems dan keluar dari chroot # umount /proc 8
# umount /sys # exit $ sudo umount work/dev
11. MENYATUKAN KE DALAM CD 11.1. Regenerate manifest $ chmod +w cdrom/casper/filesystem.manifest $ sudo chroot work dpkg-query -W --showformat='${Package} ${Version}\n' > cdrom/casper/filesystem.mani $ sudo cp cdrom/casper/filesystem.manifest cdrom/casper/filesystem.manifestdesktop $ sudo sed -i '/ubiquity/d' cdrom/casper/filesystem.manifest-desktop
11.2. Kompres filesystem $ sudo rm cdrom/casper/filesystem.squashfs $ sudo mksquashfs work cdrom/casper/filesystem.squashfs -nolzma Catatan : opsi -nolzma hanya tersedia mulai dari Ubuntu 8.04 Hardy Heron Atur sebuah nama image didalam direktori cdrom/README.disk defines $ sudo vim cdrom/README.diskdefines Hapus md5sum.txt yang lama dan kalkulasi menjadi md5sums yang terbaru $ sudo rm cdrom/md5sum.txt $ cd cdrom $ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt $ cd ..
9
11.3. Create Iso $ cd extract-cd $ sudo mkisofs -D -r -V "ubuntu-8.10-desktop-i386-custom" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-8.10-desk top-i386-custom.iso
12. TESTING CD Test menggunak an Qemu emulator $ qemu -cdrom ubuntu-8.10-desktop-i386-custom.iso -boot d -m 512 Anda juga dapat testing mengganakan Virtualbox.
13. BURNING IMAGE FILE KE CD $ cdrecord dev=/dev/cdrom ubuntu-8.10-desktop-i386-custom.iso
14. REFERENSI https://help.ubuntu.com/community/LiveCDCustomization http://linuxindo.web.id/2007/10/27/me-remaster-ubuntu-livecd/ http://ugos.ugm.ac.id/wiki
10