This tutorial will show you how to customize and remaster your ubuntu 9.04 jaunty using a jaunty iso file.
1. Create a work directory
# mkdir jaunty
2. Create the following directoires
# mkdir jaunty/cdrom
# mkdir jaunty/tmp
# mkdir jaunty/root
3. Mount the jaunty iso image on jaunty/cdrom directory
# mount -o loop jaunty.iso jaunty/cdrom
4. Copy everything from the cdrom to jaunty/image directory
# cp -r jaunty/cdrom jaunty/image
5. Now the image directory has the content of your cdrom
We are going to rebuild filesystem.squashfs under jaunty/image/casper
Move the filesystem.squashfs image to jaunty/tmp directory
# mv jaunty/image/casper/filesystem.squashfs jaunty/tmp
6. Mount the filesystem.squashfs under jaunty/root direct
# mount -o loop jaunty/tmp/filesystem.squashfs jaunty/root
7. Copy the contents of fileystem.squashfs to jaunty/remaster
# cp -r jaunty/root jaunty/remaster
8. Copy resolv.conf and sources.list from the host system
# cp /etc/resolv.conf jaunty/remaster/etc/
9. Preserve original sources.list.
# cp jaunty/remaster/etc/apt/soures.list jaunty/remaster/etc/apt/soures.list.backup
# cp /etc/apt/sources.list /jaunty/remaster/etc/apt/
Make sure that sources.list points to jaunty archive
10. Now you can chroot to jaunty/remaster
# chroot jaunty/remaster
11. Now run the following ( You are inside chroot )
# mount /proc
# mount /sys
# mount -t devpts none /dev/pts
The above commands mount the respective directories inside chroot.
12. Now you can install/remove necessary packages using apt.
eg:
# apt-get install vlc
# apt-get remove gimp
13. Cleanup the unwanted files.
# apt-get clean
# rm -rf /tmp/*
# rm /etc/resolv.conf
# umount -l -f /proc
# umount -l -f /sys
#umount /dev/pts
14. Now replace the sources.list with the original sources.list
# cp jaunty/remaster/etc/apt/sources.list.backup jaunty/remaster/etc/apt/sources.list
15. Repack squashfs:
# mksquashfs remaster image/casper/filesystem.squashfs -e remaster/boot
16. Recreate filesystem.manifest& filesystem.manifest.desktop:
Run the following commands.
# chroot remaster dpkg-query -W –showformat=’${Package} ${Version}\n’ | tee image/casper/filesystem.manifest
# cp -v image/casper/filesystem.manifest{,-desktop}
# REMOVE=’ubiquity casper live-initramfs user-setup discover xresprobe os-prober libdebian-installer4′
# for i in $REMOVE
do
sed -i “/${i}/d” image/casper/filesystem.manifest-desktop
done
17. Recreate md5sum
# cd image && find . -type f -print0 | xargs -0 md5sum > md5sum.txt
18. Copy filesytem.squashfs manifest to imag dirtorey
Recreate the iso image:
# 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 ../ubuntu-jaunty-remix.iso .
# cd ..
Now your remastered ubuntu 9.04 jaunty is achived.
Now install the image on to a hard disk.