Livedvd-makingoff

Creation using Ubuntu Customization Kit (UCK)
[UCK] is a tool that helps you customizing official Ubuntu Live CDs.

Download (http://sourceforge.net/project/showfiles.php?group_id=169959) and install UCK from debian package:

dpkg -i uck_1.3_all.deb

Create a directory to hold all the vnumllive stuff:

mkdir vnumllive cd vnumllive wget ... ubuntu-6.06.1-desktop-i386.iso mkdir live cd live

Create a directory named vnuml and copy the kernel and rootfilesystem: mkdir vnuml cd vnuml wget ...root_fs_tutorial... wget ...linux-...

Copy also the directories with the examples and other information needed to be copied to the live dvd:

bookmarks.html            known_hosts doc/                      linux-2.6.16.27-bs2-xt-1m examples/                 root_fs_tutorial-0.4.1 examples2/                ssh_host_rsa_key.pub init-vnuml                usr-share-doc-vnuml/ Create a file vnumllive/live/customize with the following content:
 * 1) ls vnuml


 * 1) !/bin/bash

ROOTFS='root_fs_tutorial-0.4.1' KERNEL='linux-2.6.16.27-bs2-xt-1m'
 * 1) VARIABLES

function prepare_install {       apt-get update apt-get -y upgrade }

function install_packages {       apt-get install --assume-yes --force-yes "$@" }

function remove_packages {       apt-get --purge remove --assume-yes --force-yes "$@" }

echo "deb http://jungla.dit.upm.es/~vnuml/debian binary/"  >> /etc/apt/sources. list echo "deb http://archive.ubuntu.com/ubuntu dapper universe" >> /etc/apt/sources. list echo "deb-src http://archive.ubuntu.com/ubuntu dapper universe" >> /etc/apt/sour ces.list
 * 1) update apt sources.list

prepare_install

/usr/sbin/addgroup admin /usr/sbin/addgroup ubuntu
 * 1) Create groups

/usr/sbin/useradd --home /home/ubuntu -m -g adm -G dialout,cdrom,floppy,audio,di p,video,plugdev,lpadmin,scanner,admin,ubuntu -p `perl -le "print crypt ('ubuntu' ,'(A..z)[rand 25].(A..z)[rand ');"` -s /bin/bash ubuntu
 * 1) Create user ubuntu

echo "# Members of the admin group may gain root privileges" >> /etc/sudoers echo "%admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
 * 1) Add privileges to admin group

install_packages vnuml
 * 1) Install vnuml

cp /usr/bin/vnumlparser.pl /tmp cat /tmp/vnumlparser.pl | sed -e 's/my $boot_timeout = 30;/my $boot_timeout = 12 0;/' | sed -e 's/getpwnam("vnuml")/getpwnam("ubuntu")/' | sed -e '/Ferm/d' > /u sr/bin/vnumlparser.pl rm -f /tmp/vnumlparser.pl
 * 1) Change VNUML timeout to 120 secs

cp /tmp/customize-dir/vnuml/$ROOTFS /usr/share/vnuml/filesystems cp /tmp/customize-dir/vnuml/$KERNEL /usr/share/vnuml/kernels ln -s /usr/share/vnuml/filesystems/$ROOTFS /usr/share/vnuml/filesystems/root_fs_ tutorial ln -s /usr/share/vnuml/kernels/$KERNEL /usr/share/vnuml/kernels/linux
 * 1) Copy root_fs and kernel

cp /tmp/customize-dir/vnuml/init-vnuml /etc/init.d update-rc.d init-vnuml defaults 12   # 12 is to start it before gdm...
 * 1) Add vnuml-init script to startup

cp -r /tmp/customize-dir/vnuml/examples/* /usr/share/vnuml/examples cp -r /tmp/customize-dir/vnuml/doc /usr/share/vnuml
 * 1) Copy aditional examples and docs

mkdir -p /usr/share/vnuml/aux cp /tmp/customize-dir/vnuml/ssh_host_rsa_key.pub /usr/share/vnuml/aux cp /tmp/customize-dir/vnuml/known_hosts /usr/share/vnuml/aux
 * 1) Copy ssh_host_rsa_key.pub temporarily to /tmp file

cp /tmp/customize-dir/vnuml/bookmarks.html /etc/firefox/profile cp -rf /tmp/customize-dir/vnuml/usr-share-doc-vnuml/* /usr/share/doc/vnuml
 * 1) Copy firefox bookmarks file
 * 1) Copy documentation withouth author's names

Give it execution permissions:

chmod +x customize

Create a file vnumllive/live/iso_description with the following content:

VNUML Live DVD v2

Execute the following command:

remaster-live-cd ubuntu-6.06.1-desktop-i386.iso live

If everything goes well, the dvd iso file and its md5 are stored in /root/tmp/remaster-new-files. Just rename and copy them:

mv /root/tmp/remaster-new-files/livecd.iso vnuml-live-2.0.iso mv /root/tmp/remaster-new-files/livecd.iso.md5 vnuml-live-2.0.iso.md5

Note: Delete /root/tmp before generating the dvd in case of problems.

OLD
Based on [LiveCDCustomization/6.06]

sudo su apt-get install squashfs-tools mkisofs qemu modprobe squashfs

mkdir live mv ubuntu-6.06.1-desktop-i386.iso live cd live

mkdir mnt mount -o loop ubuntu-6.06.1-desktop-i386.iso mnt

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

mkdir squashfs mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs

mkdir edit cp -a squashfs/* edit/

cp /etc/resolv.conf edit/etc/ cp /etc/hosts edit/etc/

chroot edit mount -t proc none /proc mount -t sysfs none /sys

export HOME=/root export LC_ALL=C

.....

Add VNUML package source:

> vi /etc/apt/sources.list

# Uncomment this lines deb http://archive.ubuntu.com/ubuntu dapper universe deb-src http://archive.ubuntu.com/ubuntu dapper universe # Add this new line deb http://jungla.dit.upm.es/~vnuml/debian binary/

Update and upgrade:

> apt-get update > apt-get upgrade

Install VNUML:

> apt-get install vnuml

Copy VNUML kernel and rootfilesystem and create soft links:

> cd /usr/share/vnuml/filesystems > wget ......./root_fs_tutorial-XXXX > ln -s root_fs_tutorial-XXXX root_fs_tutorial > cd ../kernels > wget ......./linux-XXXX > ln -s linux-XXXX linux

Adduser:

> adduser --system ubuntu > passwd ubuntu    # set it to "ubuntu"

retocar a mano /etc/passwd para cambiar el /bin/false a /bin/bash del usuario ubuntu

Notes on ubuntu live CD:


 * Has autologin activated to user ubuntu (configured in /etc/gdm.conf; entries "AutomaticLogin" and "TimedLogin*)
 * ubuntu user
 * has no password configured
 * /etc/passwd entry = ubuntu:x:999:999:Ubuntu Live CD user,,,:/home/ubuntu:/bin/bash