Archive for August, 2007

Remaster Ubuntu 7.04

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

Comments (17)