Differences between revisions 12 and 15 (spanning 3 versions)
Revision 12 as of 2010-07-05 22:33:25
Size: 2803
Editor: fruity
Comment:
Revision 15 as of 2010-07-09 14:24:29
Size: 3108
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
=== Requirements ===

{{{
apt-get install squashfs-tools
}}}

=== Description ===
Line 8: Line 16:
 * mount in a loop the iso;
 * copy the content of the image in a directory of choice except for the main squashfs filesystem (on ubuntu and debian named filesystem.squash, on dynebolic dyne.sys);
 * uncompress the squashfs into another directory of choice;
 * copy from the host system or edit manually /etc/resolv.conf to use working dns;
 * do a bind mount of dev,proc and sys into the uncompressed directory;
 

 * mount the ISO image in loop mode;
 * copy the content of the image in a directory, except for the main squashfs filesystem (on ubuntu and debian: filesystem.squash; on dynebolic: dyne.sys);
 * unsquash the squashfs image file into another directory;
 * Add resolv.conf and hosts in /etc by hand or copying from your system;
 * mount the dev,proc and sys filesystems into the uncompressed directory;
 * do some minor stuff for having the system ready for your tweaks.


=== HOWTO ===

{{{

sudo mount - o loop puredyne.iso /mnt

mkdir extract-cd

rsync --exclude=/live/filesystem.squashfs -a /mnt/ extract-cd

sudo unsquashfs /mnt/live/filesystem.squashfs
sudo mv squashfs-root edit
sudo cp /etc/resolv.conf edit/etc/

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

''
??? Is this repeated for error?
???sudo unsquashfs /mnt/live/filesystem.squashfs
???sudo mv squashfs-root edit
''

}}}
Line 23: Line 63:
Chroot:

{{{

sudo mount - o loop puredyne.iso /mnt
mkdir extract-cd
rsync --exclude=/live/filesystem.squashfs -a /mnt/ extract-cd
sudo mv squashfs-root edit
sudo cp /etc/resolv.conf edit/etc/

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
sudo unsquashfs /mnt/live/filesystem.squashfs
sudo mv squashfs-root edit

}}}

This is for some reasons connected with a couple of dbus bugs, so I'll go through it(as root):
You also need to do this as root (that's for some reasons connected with a couple of dbus bugs):
Line 53: Line 73:

That's all!

=== Suggestions ===
Line 91: Line 115:

=
=== Tasks ====
=== Tasks to do ===

Remaster your own live installer, live iso

works with ubuntu too... Ubuntu Live CD Customization


Requirements

apt-get install squashfs-tools

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:

  • mount the ISO image in loop mode;
  • copy the content of the image in a directory, except for the main squashfs filesystem (on ubuntu and debian: filesystem.squash; on dynebolic: dyne.sys);
  • unsquash the squashfs image file into another directory;
  • Add resolv.conf and hosts in /etc by hand or copying from your system;
  • mount the dev,proc and sys filesystems into the uncompressed directory;
  • do some minor stuff for having the system ready for your tweaks.

HOWTO

sudo mount - o loop puredyne.iso /mnt

mkdir extract-cd

rsync --exclude=/live/filesystem.squashfs -a /mnt/ extract-cd

sudo unsquashfs /mnt/live/filesystem.squashfs
sudo mv squashfs-root edit
sudo cp /etc/resolv.conf edit/etc/

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

''
??? Is this repeated for error?
???sudo unsquashfs /mnt/live/filesystem.squashfs
???sudo mv squashfs-root edit
''

Just to be sure not to have locales problems during installation of new packages 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):

dbus-uuidgen > /var/lib/dbus/machine-id

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

That's all!

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

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

  • Remove all useless documentation from /usr/share/doc
  • install all multilanguage documentation for programs and track they're directory if we can squash them or zip, inkscape,gimp,OOffice, some copies maybe from FOSS manuals?
  • remove unused themes
  • install some more open fonts
  • install some edubuntu software(find out which)
  • clean up desktop
  • boot and test the video software

fruity/debian-live/remastering (last edited 2010-07-16 21:43:41 by asbesto)