Linux

Remastering

Ubuntu 7.04

In: Linux

1). System Requirements

    Pastikan di komputer Anda sudah terinstall squashfs-tools, mkisofs, apache2 dan space hardisk 3-5 GB

    2). Server repository Lokal

    Jika komputer Anda terkoneksi ke internet dan ingin menggunakan repository milik Ubuntu Anda dapat mengabaikan langkah ini.

    a. Pindahkan isi DVD repository yang terdiri dari 4 dvd ke hardisk. Disini saya memakai /media/sda1 sebagai tempat repository.

    – isi DVD ke-1 disimpan dalam direktori /media/sda1/repo1

    – isi DVD ke-1 disimpan dalam direktori /media/sda1/repo2

    – isi DVD ke-1 disimpan dalam direktori /media/sda1/repo3

    – isi DVD ke-1 disimpan dalam direktori /media/sda1/repo4

    b. Edit file /etc/apache2/sites-available/default sebagai berikut :

    NameVirtualHost *

    <VirtualHost *>

    ServerAdmin webmaster@localhost

    DocumentRoot /media/sda1/

    <Directory />

    Options FollowSymLinks

    AllowOverride None

    </Directory>

    <Directory /media/sda1/>

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny

    allow from all

    # This directive allows us to have apache2’s default start page

    # in /apache2-default/, but still have / go to the right place

    #RedirectMatch ^/$ /apache2-default/

    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    <Directory “/usr/lib/cgi-bin”>

    AllowOverride None

    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

    Order allow,deny

    Allow from all

    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,

    # alert, emerg.

    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    ServerSignature On

    Alias /doc/ “/usr/share/doc/”

    <Directory “/usr/share/doc/”>

    Options Indexes MultiViews FollowSymLinks

    AllowOverride None

    Order deny,allow

    Deny from all

    Allow from 127.0.0.0/255.0.0.0 ::1/128

    </Directory>

    </VirtualHost>

    c. Edit file /etc/apt/source.list sebagai berikut :

    deb http://irfan-desktop/repo1 feisty main restricted

    deb http://irfan-desktop/repo2 feisty universe

    deb http://irfan-desktop/repo3 feisty universe

    deb http://irfan-desktop/repo4 feisty universe multiverse

    d. Update apt-get :

    root@irfan-desktop:/home/irfan# apt-get update

    3). Extract isi CD danDesktop System

    root@irfan-desktop:/home/irfan#mount -o loop /media/sda6/from_slack/ubuntu7/ubuntu-7.04-desktop-i386.iso /mnt/ubuntu-mount/

    root@irfan-desktop:/home/irfan# mkdir /ubuntu-extract

    root@irfan-desktop:/home/irfan# rsync –exclude=/casper/filesystem.squashfs -a /mnt/ubuntu-mount/ /ubuntu-extract/

    root@irfan-desktop:/home/irfan# mount -t squashfs -o loop /mnt/ubuntu-mount/casper/filesystem.squashfs /mnt/squashfs/

    root@irfan-desktop:/home/irfan# cp -a /mnt/squashfs/* /ubuntu-edit/

    4). Masuk ke lingkunganchroot di /ubuntu-edit

    root@irfan-desktop:/home/irfan# mount -t proc none /ubuntu-edit/proc/

    root@irfan-desktop:/home/irfan# mount -t sysfs none /ubuntu-edit/sys/

    root@irfan-desktop:/home/irfan# chroot /ubuntu-edit/ /bin/bash/

    Setelah Anda menjalankan perintah di atas maka Anda sudah berada di lingkungan chroot.

    5). Seting repository milik chroot /ubuntu-edit agar dapat mengakses server repository lokal dengan mong-copy /etc/hosts dan /etc/apt/source.list ke lingkungan /ubuntu-edit

    root@irfan-desktop:/home/irfan# cp /etc/hosts /ubuntu-edit/etc/

    root@irfan-desktop:/home/irfan# cp /etc/apt/source.list /ubuntu-edit/etc/apt/

    Perintah di atas dijalankan diluar lingkungan chroot /ubuntu-edit menggunakan system host. Setelah Anda meng-copy file host dan source.list, silahkan update apt-get di lingkuna chroot /ubuntu-edit

    root@irfan-desktop:/home/irfan# apt-get update

    6). Hapus dan Tambah paket

    Setelah masuk ke chroot /ubuntu-edit Anda dapat menginstall dan menghapus paket. Berikut contohnya :

    root@irfan-desktop:/home/irfan#apt-get remove –purge ubuntu-docs //hapus paket

    root@irfan-desktop:/home/irfan#apt-get install eclipse //install paket

    7). Mengganti background

    File background terletak di /usr/share/backgrounds/ dan konfigurasinya terletak di /var/lib/gconf/debian.defaults/%gconf-tree.xml. Contoh berikut background diganti dengan wallpaper-forti.jpg :

    File debian.defaults/%gconf-tree.xml :

    <entry name=”picture_filename” mtime=”1185098259″ type=”string”>

    <stringvalue>/usr/share/backgrounds/wallpapper-forti.jpg</stringvalue>

    </entry>

    8). Membuat user dan password untuk live-cd

    Edit file casper yang berada di /ubuntu-edit/usr/share/initramfs-tools/scripts/casper untuk membuat user live-cd. Contoh edit file casper :

    mountpoint=/cdrom

    USERNAME=Forti

    USERFULLNAME=”Live session user”

    HOST=Forti-live

    BUILD_SYSTEM=Custom

    mkdir -p $mountpoint

    Edit file 10adduser yang beraada di /ubuntu-edit/usr/share/initramfs-tools/scripts/casper-bottom/10adduser untuk seting password user live-cd. Contoh edit file 10adduser, disini password saya kosongkan :

    # U6aMy0wojraho = password kosong

    chroot /root debconf-communicate -fnoninteractive casper > /dev/null <<EOF

    set passwd/root-password-crypted *

    set passwd/user-password-crypted U6aMy0wojraho

    set passwd/user-fullname $USERFULLNAME

    set passwd/username $USERNAME

    set passwd/user-uid 999

    EOF

    Pastikan bahwa tidak ada user dengan UID >= 1000

    root@irfan-desktop:/# grep ‘^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:’ /etc/passwd

    root@irfan-desktop:/# grep ‘^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:’ /etc/passwd

    Apbila ada user dengan UID >= 1000 maka ganti dengan usermod -u 500 $hit

    9). PEMBERSIHAN

    Bersihkan temporary file dan download file .

    root@irfan-desktop:/# apt-get clean

    root@irfan-desktop:/# rm -rf /tmp/*

    10). REBUILD INITRD

    Setelah melakukan modifikasi kernel, initscript dan kernel modul selanjutnya rebuild file initrd.gz dan memasukkannya ke direktory casper.

    a. Buat file initrd.gz

    root@irfan-desktop:/# mkinitramfs -o /initrd.gz 2.6.20-15-generic

    b. Pindahkan file initrd.gz ke /ubuntu-extract/casper/

    root@irfan-desktop:/home/irfan# mv /ubuntu-edit/initrd.gz /ubuntu-extract/casper/

    11). KELUAR CHROOT

    root@irfan-desktop:/# umount /proc/

    root@irfan-desktop:/# umount /sys/

    root@irfan-desktop:/# exit

    12). KONFIGURASI DAN PEMBUATAN FILE ISO CD

    a. Regenerate manifest

    root@irfan-desktop:/home/irfan# chmod +w /ubuntu-extract/casper/filesystem.manifest

    root@irfan-desktop:/home/irfan#chroot /ubuntu-edit/ dpkg-query -W –showformat=’${Package} ${Version}\n’ > /ubuntu-extract/casper/filesystem.manifest

    root@irfan-desktop:/home/irfan# cp /ubuntu-extract/casper/filesystem.manifest /ubuntu-extract/casper/filesystem.manifest-desktop

    root@irfan-desktop:/home/irfan# sed -ie ‘/ubiquity/d’ /ubuntu-extract/casper/filesystem.manifest-desktop

    b. Compress file system

    root@irfan-desktop:/home/irfan# mksquashfs /ubuntu-edit/ /ubuntu-extract/casper/filesystem.squashfs

    c. Hapus dan ganti file md5sum.txt

    root@irfan-desktop:/home/irfan# rm /ubuntu-extract/md5sum.txt

    root@irfan-desktop:/home/irfan# (cd /ubuntu-extract/ && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)

    d. Buat file iso Forti

    root@irfan-desktop:/home/irfan# cd /ubuntu-extract/

    root@irfan-desktop:/ubuntu-extract# mkisofs -r -V “$IMAGE_NAME” -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../Forti.iso .

    Jika Anda tidak ingin repot dengan cara di atas Anda dapat menggunakan tool remaster yaitu Reconstructor http://reconstructor.aperantis.com/ . Anda dapat menggunakan repository lokal melalui Reconstructor dengan cara meng-copy file /etc/hosts dan /etc/apt/source.list ke area kerja root milik Reconstructor

    One response to this post.

    1. good….good…..
      lumayan tambah ilmu…..
      he….he……

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s

    %d bloggers like this: