Difference between revisions of "Livedvd-makingoff"
Line 36: | Line 36: | ||
<li>Create a file '''vnumllive/live/customize''' with the following content:</li> | <li>Create a file '''vnumllive/live/customize''' with the following content:</li> | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </pre> | ||
+ | |||
+ | <li>Give it execution permissions:</li> | ||
+ | |||
+ | chmod +x customize | ||
+ | |||
+ | <li>Create a file '''vnumllive/live/iso_description''' with the following content:</li> | ||
+ | |||
+ | VNUML Live DVD v2 | ||
+ | |||
+ | <li>Execute the following command:</li> | ||
+ | |||
+ | remaster-live-cd ubuntu-6.06.1-desktop-i386.iso live | ||
+ | |||
+ | <li>If everything goes well, the dvd iso file and its md5 are stored in /root/tmp/remaster-new-files. Just rename and copy them:</li> | ||
+ | |||
+ | 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 | ||
+ | |||
+ | |||
+ | </ol> | ||
+ | Note: Delete /root/tmp before generating the dvd in case of problems. | ||
+ | |||
+ | == customize script == | ||
<pre> | <pre> | ||
Line 42: | Line 72: | ||
# VARIABLES | # VARIABLES | ||
ROOTFS='root_fs_tutorial-0.4.1' | ROOTFS='root_fs_tutorial-0.4.1' | ||
− | KERNEL='linux-2.6. | + | KERNEL='linux-2.6.18.1-bb2-xt-1m' |
function prepare_install() | function prepare_install() | ||
Line 61: | Line 91: | ||
# update apt sources.list | # update apt sources.list | ||
− | echo "deb http://jungla.dit.upm.es/~vnuml/debian binary/" >> /etc/apt/sources. | + | echo "deb http://jungla.dit.upm.es/~vnuml/debian binary/" >> /etc/apt/sources.list |
− | list | + | echo "deb http://archive.ubuntu.com/ubuntu dapper universe" >> /etc/apt/sources.list |
− | echo "deb http://archive.ubuntu.com/ubuntu dapper universe" >> /etc/apt/sources. | + | echo "deb-src http://archive.ubuntu.com/ubuntu dapper universe" >> /etc/apt/sources.list |
− | list | ||
− | echo "deb-src http://archive.ubuntu.com/ubuntu dapper universe" >> /etc/apt/ | ||
− | |||
prepare_install | prepare_install | ||
Line 75: | Line 102: | ||
# Create user ubuntu | # Create user ubuntu | ||
− | /usr/sbin/useradd --home /home/ubuntu -m -g adm -G dialout,cdrom,floppy,audio, | + | /usr/sbin/useradd --home /home/ubuntu -m -g adm -G dialout,cdrom,floppy,audio,dip,video,plugdev,lpadmin,scanner,admin,ubuntu -p `perl -le "print crypt ('ubuntu','(A..z)[rand 25].(A..z)[rand ');"` -s /bin/bash ubuntu |
− | |||
− | ,'(A..z)[rand 25].(A..z)[rand ');"` -s /bin/bash ubuntu | ||
# Add privileges to admin group | # Add privileges to admin group | ||
Line 84: | Line 109: | ||
# Install vnuml | # Install vnuml | ||
− | install_packages vnuml | + | install_packages vnuml bridge-utils libpcap0.8 |
# Change VNUML timeout to 120 secs | # Change VNUML timeout to 120 secs | ||
cp /usr/bin/vnumlparser.pl /tmp | cp /usr/bin/vnumlparser.pl /tmp | ||
− | cat /tmp/vnumlparser.pl | sed -e 's/my $boot_timeout = 30;/my $boot_timeout = | + | cat /tmp/vnumlparser.pl | sed -e 's/my $boot_timeout = 30;/my $boot_timeout = 120;/' | sed -e 's/getpwnam("vnuml")/getpwnam("ubuntu")/' | sed -e '/Ferm/d' > /usr/bin/vnumlparser.pl |
− | |||
− | |||
rm -f /tmp/vnumlparser.pl | rm -f /tmp/vnumlparser.pl | ||
Line 96: | Line 119: | ||
cp /tmp/customize-dir/vnuml/$ROOTFS /usr/share/vnuml/filesystems | cp /tmp/customize-dir/vnuml/$ROOTFS /usr/share/vnuml/filesystems | ||
cp /tmp/customize-dir/vnuml/$KERNEL /usr/share/vnuml/kernels | cp /tmp/customize-dir/vnuml/$KERNEL /usr/share/vnuml/kernels | ||
− | ln -s /usr/share/vnuml/filesystems/$ROOTFS /usr/share/vnuml/filesystems/ | + | 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 | ln -s /usr/share/vnuml/kernels/$KERNEL /usr/share/vnuml/kernels/linux | ||
Line 115: | Line 137: | ||
# Copy firefox bookmarks file | # Copy firefox bookmarks file | ||
cp /tmp/customize-dir/vnuml/bookmarks.html /etc/firefox/profile | cp /tmp/customize-dir/vnuml/bookmarks.html /etc/firefox/profile | ||
− | + | ||
− | |||
− | |||
</pre> | </pre> | ||
− | < | + | == customize_iso script == |
+ | |||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | BUILD_DIR=`mktemp -d` | ||
− | + | function failure() | |
+ | { | ||
+ | echo "$@" | ||
+ | exit 1 | ||
+ | } | ||
− | |||
− | + | pushd "$BUILD_DIR" || failure "Cannot change directory to $BUILD_DIR, error=$?" | |
+ | apt-get source gfxboot-theme-ubuntu || failure "Failed to fetch gfxboot-theme-ubuntu source, check if you have deb-src line enabled for repository main in /etc/apt/sources.list, error=$?" | ||
− | + | cd gfxboot-theme-ubuntu*/ | |
− | + | make DEFAULT_LANG=en || failure "Failed to build gfxboot theme, error=$?" | |
− | + | cp -af boot/* "$ISO_REMASTER_DIR/isolinux/" || failure "Error while copying boot files ( " boot/* " ) to $ISO_REMASTER_DIR/isolinux/, error=$?" | |
− | + | popd | |
− | |||
+ | if [ "$BUILD_DIR" = "/" ] ; then | ||
+ | failure "Trying to remove root dir" | ||
+ | else | ||
+ | rm -rf "$BUILD_DIR" | ||
+ | fi | ||
+ | </pre> | ||
− | |||
− | |||
== References == | == References == |
Revision as of 00:27, 4 April 2007
VNUML Live DVD 2.0 making-off
VNUML Live DVD 2.0 was created using Ubuntu Customization Kit (UCK) v1.3, a tool that helps you customizing official Ubuntu Live CDs.
- Download UCK v1.3 from here and install it:
- Create a directory to hold all the vnumllive stuff and download Ubuntu 6.06 iso file:
- Create a directory named vnuml and copy the kernel and rootfilesystem:
- Copy also the directories with the examples and other information needed to be copied to the live dvd:
# ls vnuml 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:
- Give it execution permissions:
- Create a file vnumllive/live/iso_description with the following content:
- Execute the following command:
- If everything goes well, the dvd iso file and its md5 are stored in /root/tmp/remaster-new-files. Just rename and copy them:
dpkg -i uck_1.3_all.deb
mkdir vnumllive cd vnumllive wget ... ubuntu-6.06.1-desktop-i386.iso mkdir live cd live
mkdir vnuml cd vnuml wget ...root_fs_tutorial... wget ...linux-...
chmod +x customize
VNUML Live DVD v2
remaster-live-cd ubuntu-6.06.1-desktop-i386.iso live
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.
customize script
#!/bin/bash # VARIABLES ROOTFS='root_fs_tutorial-0.4.1' KERNEL='linux-2.6.18.1-bb2-xt-1m' 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 "$@" } # update apt sources.list 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/sources.list prepare_install # Create groups /usr/sbin/addgroup admin /usr/sbin/addgroup ubuntu # Create user ubuntu /usr/sbin/useradd --home /home/ubuntu -m -g adm -G dialout,cdrom,floppy,audio,dip,video,plugdev,lpadmin,scanner,admin,ubuntu -p `perl -le "print crypt ('ubuntu','(A..z)[rand 25].(A..z)[rand ');"` -s /bin/bash ubuntu # Add privileges to admin group echo "# Members of the admin group may gain root privileges" >> /etc/sudoers echo "%admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # Install vnuml install_packages vnuml bridge-utils libpcap0.8 # Change VNUML timeout to 120 secs cp /usr/bin/vnumlparser.pl /tmp cat /tmp/vnumlparser.pl | sed -e 's/my $boot_timeout = 30;/my $boot_timeout = 120;/' | sed -e 's/getpwnam("vnuml")/getpwnam("ubuntu")/' | sed -e '/Ferm/d' > /usr/bin/vnumlparser.pl rm -f /tmp/vnumlparser.pl # Copy root_fs and kernel 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 # Add vnuml-init script to startup cp /tmp/customize-dir/vnuml/init-vnuml /etc/init.d update-rc.d init-vnuml defaults 12 # 12 is to start it before gdm... # Copy aditional examples and docs cp -r /tmp/customize-dir/vnuml/examples/* /usr/share/vnuml/examples cp -r /tmp/customize-dir/vnuml/doc /usr/share/vnuml # Copy ssh_host_rsa_key.pub temporarily to /tmp file 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 # Copy firefox bookmarks file cp /tmp/customize-dir/vnuml/bookmarks.html /etc/firefox/profile
customize_iso script
#!/bin/bash BUILD_DIR=`mktemp -d` function failure() { echo "$@" exit 1 } pushd "$BUILD_DIR" || failure "Cannot change directory to $BUILD_DIR, error=$?" apt-get source gfxboot-theme-ubuntu || failure "Failed to fetch gfxboot-theme-ubuntu source, check if you have deb-src line enabled for repository main in /etc/apt/sources.list, error=$?" cd gfxboot-theme-ubuntu*/ make DEFAULT_LANG=en || failure "Failed to build gfxboot theme, error=$?" cp -af boot/* "$ISO_REMASTER_DIR/isolinux/" || failure "Error while copying boot files ( " boot/* " ) to $ISO_REMASTER_DIR/isolinux/, error=$?" popd if [ "$BUILD_DIR" = "/" ] ; then failure "Trying to remove root dir" else rm -rf "$BUILD_DIR" fi
References