Kamis, 26 Juni 2008

Remaster Ubuntu

Apa yang harus anda siapkan?
Siapkan bahan-bahan dan peralatan berikut ini:

  1. - CD/ISO Ubuntu rel 6.06 ke atas (LiveCD versi sebelumnya menggunakan cloops, diluar bahasan kali ini)

  2. Kernel dengan modul squashfs enabled (kernel bawaan Ubuntu 6.06 sudah memenuhi syarat ini. ya anda harus menginstall Ubuntu 6.06 dong ;-P)

  3. squashfs-tools ( anda harus menjalankan: sudo apt-get install squashfs-tools )

  4. koneksi internet/DVD Repo Ubuntu 6.06 - opsional (jika tidak ada, anda tidak bisa menambah
    aplikasi baru)

  5. bokong dan jemari yang kuat serta semangat menunggu yang tinggi


  6. kopi, teh, susu, rhytmbox with gita’s song



Jika semua bahan dan peralatan diatas sudah siap dan anda sudah duduk manis didepan monitor sambil membaca tutorial ini dijendela browser anda, mari kita buka gnome-terminal.
Untuk kemudahan, kita akan membuat tiga direktori:


~/cdrom tempat kita mengkopi isi cd livecd atau iso livecd
~/temp tempat kita me-mount file filesystem.squashfs (filesystem livecd)
~/work tempat kita bekerja sampai livecd kita siap di buat iso kembali


P.S : buat yang belum tahu, ~ artinya direktori /home/username_anda



Mari kita mulai:



  1. Siapkan direktori-direktori di atas:
    mkdir cdrom temp work

  2. Mount cdrom atau iso file livecd
    sudo mount /dev/hdc /media/cdrom0
    atau file iso
    sudo mount -o loop -t iso9660 livecdfile.iso ./temp

  3. Copy semua isi cd/iso file

    cp -a /media/cdrom0/. ./cdromatau file iso


    cp -a /temp/. ./cdrom


    Jangan lupa, antara . dan . ada spasi ya. Lalu rubah mode/permission-nya


    chmod 777 -R cdrom
    Manfaatnya, anda tidak mengalami kesulitan saat mengedit isi cdrom. Anda bisa menghapus
    direktori program, bin, dan disctree serta file-file lain yg tidak anda perlukan.


  4. Jika sudah selesai, unmount cdrom/file iso anda
    sudo umount /media/cdrom0 atau sudo umount ./temp


  5. Sekarang kita akan membuat filesystem virtual dalam bentuk file. Jika anda telah
    menyiapkan partisi sendiri, anda harus mem-format-nya ke ext2 dan kapasitasnya tidak boleh
    kurang dari 2GB.
    sudo dd if=/dev/zero of=livecdfs.ext2 bs=1M count=2147
    Tunggu sebentar, filesystem dalam bentuk file sedang dibuat. Jika sudah jadi, mari kita
    format.
    sudo mke2fs livecdfs.ext2
    Jika mke2fs bertanya, jawab saja ya (y) lalu enter (tanya apa? praktek-in dong!)

  6. Jika sudah selesai memformat. Waktunya kita me-mount file filesystem.squashfs di temp/ dan

    livecdfs.ext2 ke work/ lalu meng-copy isi temp/ ke work/

    sudo mount -t squashfs -o loop ./cdrom/casper/filesystem.squashfs ./temp
    sudo mount -o loop livecdfs.ext2 ./work
    sudo cp -a ./temp ./work
    sudo umount ./temp

  7. Tahap ke-7 dan seterusnya adalah tahap yang paling penting. Mulai dari sini anda akan
    mulai memodif livecd anda. Sekedar gambaran, saya membuang aplikasi-aplikasi yang tidak
    pernah saya pakai dan menggantinya dengan xmms, mplayer, w32codecs, libdvdcss, nvu, bluefish, games, partimage, dll.Di tahap ini juga anda bisa memodif GNOME. Menggantinya dengan KDE atau XFCE atau Fluxbox.

    Baiklah kita mulai saja melakukan chroot.


    Jika anda akan menggunakan internet, copy file /etc/resolv.conf anda ke direktori work/etc
    sudo cp /etc/resolv.conf ./work/etc
    Lalu mount /proc anda ke /work/proc
    sudo mount -t proc -o bind /proc ./work/proc
    Jika sudah, anda siap melakukan chroot
    sudo chroot ./work/ /bin/bash
    Anda akan mendapatkan root prompt root@host#


    Lalu apa? ya itu tadi, modif!. Contohnya, saya membuang semua paket fonts etnis, dan

    daemon-daemon yang tidak diperlukan.
    apt-get remove --purge ttf-baekmuk at ekiga dan sebagainya


    Jangan lupa opsi –purge supaya livecd anda kelak benar-benar bersih.
    Kalau perlu hapus manual (bisa lewat nautilus sebagai root). Lalu saya menginstall
    aplikasi favorit saya:
    apt-get install mplayer nvu bluefish dan sebagainya
    Tips: Jika anda menggunakan DVD Repo, anda harus memodifikasi fstab target, dan menambahkan baris berikut (menggunakan editor favorit anda, misalnya nano):
    /dev/hdc /media iso9960 defaults 0 0

    Dan lakukan apt-cdrom untuk menambah repository DVD anda
    apt-cdrom -d /media add


    Jika DVD Repo dibuat iso seperti punya saya, saya me-mount-nya di direktori sementara yang
    saya buat di direktori /media target (lakukan dari luar/sebelum chroot):

    sudo mount -t iso9660 -o loop ~/repos/multiverse.iso ~/work/media/DVD1
    sudo mount -t iso9660 -o loop ~/repos/universe1.iso ~/work/media/DVD2
    sudo mount -t iso9660 -o loop ~/repos/universe2.iso ~/work/media/DVD3

    Dan menambahkan baris berikut di /etc/apt/sources.list target


    deb file:///media/DVD1 dists/main/binary-i386/
    deb file:///media/DVD1 dists/multiverse/binary-i386/
    deb file:///media/DVD1 dists/restricted/binary-i386/
    deb file:///media/DVD2 dapper universe
    deb file:///media/DVD3 dapper universe

    Barulah anda melakukan apt-get update dan bisa menginstall dengan lega.


  8. Mempersiapkan pemaketan kembali. Jangan lupa untuk melepas mount work/proc dan cd/repo
    anda dan menghapus atau mengembalikan kondisi file dan filesystem seperti semula.


    rm -R /media/*
    rm /etc/resolv.conf
    exit
    sudo umount ./work/proc
    sudo umount /work/media/DVD1 juga DVD2 dan DVD3

  9. Lalu kita meng-update daftar aplikasi yang baru

    sudo chroot ./work dpkg-query -W --showformat='${Package} $Version}n' >

    ./cdrom/casper/filesystem.manifest

    P.S: HARUS ditulis dalam satu baris!Kemudian kita membersihkan (lagi) semua space yang tidak terpakai. Kita akan menggunakan dd
    untuk mengkompress space kosong tadi ke sebuah file yang lantas kita hapus.

    sudo dd if=/dev/zero of=./work/filekosong
    sudo rm ./work/filekosong

  10. Selanjutnya, membuat file squashfs dari hasil remaster kita


    sudo rm ./cdrom/casper/filesystem.squashfs
    cd ./work
    sudo mksquashfs . ../cdrom/casper/filesystem.squashfs
    cd ..

    P.S: jangan lupa spasinya! Sambil menunggu, silahkan sesap kopi anda.

  11. Membuat file iso. Sebelumnya kita akan meng-generate md5sum yang baru.

    cd cdrom
    sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt

    cd ..

    Sekarang mari kita membuat file iso-nya

    sudo mkisofs -o customlivecd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat
    -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "Amrin's Custom LiveCD"
    -cache-inodes -J -l cdrom/

    PS: tulis dalam 1 baris!


Sampai disini selesai sudah proyek kita. File iso akan anda temukan di direktori ~ anda.

Silahkan dicoba dengan qemu atau diburn langsung ke CD jika qemu terasa lambat. jangan ragu
untuk membagikannya ke saudara atau teman.

2 komentar: