Remaster your own live installer, live iso

this came from Ubuntu Live CD Customization


Description

Fetch your favorite iso, in the following examples we will take puredyne-911-carrot_and_coriander iso to show that this procedures can apply to a lot of different isos/systems.

The basic procedure is simple:

Requirements

You need the squashfs-tools.

apt-get install squashfs-tools

HOWTO

# we choose pd/ as our working directory, so...

mkdir pd
cd pd

sudo mount puredyne.iso /mnt -o loop
mkdir extract-cd
rsync --exclude=/live/filesystem.squashfs -a /mnt/ extract-cd

sudo unsquashfs /mnt/live/filesystem.squashfs
sudo mv squashfs-root edit

# use resolv.conf and hosts from your system, or edit them by hand...
sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/

# if you are into your pd/ directory with the system extracted as above, 
# just cut'n paste from here to start working on the system.

sudo mount --bind /dev/ edit/dev
sudo chroot edit

mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts

# To avoid locale problems during installation of new packages, you need to export 2 system variables:

export HOME=/root
export LC_ALL=C

# You also need to do this as root (that's for some reasons connected with a couple of dbus bugs).
# If you are re-chrooting to a system you're working on, don't mind about warnings or errors.

dbus-uuidgen > /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

#done! 

That's all folks! ;)

Suggestions

When you want to remove packages remember to use purge I investigated a bit the matter, not enough to know whats going on but enough to know is a good practice.

Once in the chroot start poking:

# refresh your list
apt-get update

# some must have
apt-get install htop modconf

# some multimedia 
apt-get install cinelerra sox twolame mpeg2dec a52dec libsox-fmt-all a52dec darkice darksnow

rsync to carry the pack for working out of home

rsync --exclude=/edit/dev --exclude=/edit/proc --exclude=/edit/sys  -auvz /home/youruser/wherever/src/pd/ /media/usbdisk/pd/

In this way you rsync your pd/ working directory on a same pd/ dir on your usb key, so you can work everywhere on your eeepc. ;)

Closing

aptitude clean
rm -rf /tmp/* ~/.bash_history
rm /etc/resolv.conf
rm /var/lib/dbus/machine-id
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl
dpkg -l > packages.txt
umount /proc
umount /sys
umount /dev/pts

sudo umount edit/dev
sudo mv edit/packages.txt extract-cd/live/

Tasks to do

<fruity> "aggiungere voce in syslinux menu per modo persistente"
<fruity> basta aprire syslinux.cfg o isolinux.cfg
<fruity> fare copia incolla della voce che hanno li gia
<fruity> editare il titolo e metterci "Persisten mode"
<fruity> e addare persistent a APPEND
<fruity> sai dove metti le opzioni del kernel
<fruity> tipo root= splash quiet
<fruity> va alla fine di quelle robe li

Done

I'm actually removing those, except for the defaults.

The following NEW packages will be installed:
  openoffice.org-help-en-gb openoffice.org-help-en-us openoffice.org-help-fr openoffice.org-help-it openoffice.org-help-pt 
  openoffice.org-l10n-af openoffice.org-l10n-common{a} openoffice.org-l10n-en-gb openoffice.org-l10n-en-za openoffice.org-l10n-fr 
  openoffice.org-l10n-it openoffice.org-l10n-pt openoffice.org-l10n-sw 
0 packages upgraded, 13 newly installed, 0 to remove and 35 not upgraded.
Need to get 67.7MB/68.0MB of archives. After unpacking 234MB will be used.