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