ISUbuntu

ISUbuntu is a live Ubuntu CD that’s nearly identical to Ubuntu.  The differences are miniscule, but important for our livecd environment. [Update from the future (2012): I’ve taken the image down since it’s large, but left the page up in case anyone wants to follow]

The usplash has an ISU logo

Firefox is automatically started.

Flash is installed

The Desktop has an added Firefox logo and evolution is taken off.  Also, lots of programs like bitorrent, etc are gone.  Oh, and there is no installer.

Bugs/ todo:

firefox seems to work for our kiosk screen’s resolution, but may not startup *nicely* at first in others.  I may fix this if there is any interest.

I don’t like how on the first screen there is an install option, but whatever. Maybe I’ll take it off if/when I remaster the image.

Fix the very first image- it’s kinda yellow due to the pallet from the previous image.

Process

This is my process getting a livecd for ISU.

To modify, you should be able to copy the livecd above and make small changes (like the homepage) and follow the applicable steps in the process below.  I highly recommend using a VM for testing such as Virtualbox. Also, you may only want to do a couple things at a time and test (that’s what I did) to avoid compounding errors.

create a usplash image. To do this the easy way I just did the following

$ apt-get source xubuntu-artwork-usplash

$ cd xubuntu-artwork-usplash

  • move your files over.  make sure 1. they are the same dimensions and 2. they are indexed.
  • in gimp you can do this with Image->Scale Image and Image->Mode->Indexed
  • also make sure you don’t have more than 256 colors

$ mv /path/to/yourfiles.png ./xubuntu.png

$ make

remember this file. we will use it later.
prepare the directories for the live cd

$ mkdir -p ./isonew ./isonew/squashfs ./isonew/cd ./isonew/cd

$ mount -o loop ./ubuntu-8.06.iso ./isomount

$ rsync –exclude=/casper/filesystem.squashfs -a ./isomount/ ./isonew/cd

$ modprobe squashfs

$ mount -t squashfs -o loop ./isomount/casper/filesystem.squashfs ./isonew/squashfs/

$ rsync -a ./isonew/squashfs/ ./isonew/custom

$ cp /etc/apt/sources.list ./isonew/custom/etc/

copy the new usplash to overwrite the other one

$ cp ../usplash-theme-xubuntu.so ./isonew/custom/

$ chroot ./isonew/custom/usr/lib/usplash/usplash-theme-ubuntu.so

$ export PS1=”(live) $PS1″

 

customize

$ apt-get update

$ apt-get dist-upgrade

be sure to remove ubiquity, the installer

$ apt-get remove –purge ubiquity

sort packages by size to help determine the ones to remove

$ dpkg-query –show –showformat=’${Package;-50}t${Installed-Size}n’ | sort -k 2 -n

$ apt-get remove –purge gimp ekiga evolution openoffice-draw

be sure to remove the old kernel if you upgraded – they are huge!  There may be more here

$ apt-get remove –purge linux-image-2.6.24-16-generic linux-headers-2.6.24-16-generic

install the flash plugin – note it’s not in default repositories

$apt-get install flashplugin-nonfree

start firefox at boot

modify the default.session file

$ vim /usr/share/gnome/default.session

4,RestartCommand=firefox –sm-client-id default4

$ cat /usr/share/gnome/default.session

[Default]

num_clients=5

0,id=default0

0,Priority=10

0,RestartCommand=gnome-wm –sm-client-id default0

1,id=default1

1,Priority=40

1,RestartCommand=gnome-panel –sm-client-id default1

2,id=default2

2,Priority=40

2,RestartCommand=nautilus –no-default-window –sm-client-id default2

3,id=default3

3,Priority=60

3,RestartCommand=gnome-cups-icon –sm-client-id default3

4,id=default4

4,Priority=80

modify firefox’s homepage to point to our main server. note that the theme needs to be modified too

$ rm /usr/bin/firefox

$ vim /usr/bin/firefox

$ cat /usr/bin/firefox

#!/bin/sh

/usr/bin/firefox-3.0 http://engr.isu.edu/cs

todo: add the user.js file to set their homepage

modify /etc/skel to include firefox

$ mkdir /etc/skel/Desktop

$ vim /etc/skel/Desktop/firefox.desktop

$ cat /etc/skel/Desktop/firefox.desktop

[Desktop Entry]

Version=1.0

Encoding=UTF-8

Name=Firefox Web Browser

Name[ca]=Navegador web Firefox

Name[cs]=Firefox Webový prohlížeč

Name[es]=Navegador web Firefox

Name[fa]=مرورگر اینترنتی Firefox

Name[fi]=Firefox-selain

Name[fr]=Navigateur Web Firefox

Name[hu]=Firefox webböngészÅ‘

Name[it]=Firefox Browser Web

Name[ja]=Firefox ウェブ・ブラウザ

Name[ko]=Firefox 웹 ë¸Œë¼ìš°ì €

Name[nb]=Firefox Nettleser

Name[nl]=Firefox webbrowser

Name[nn]=Firefox Nettlesar

Name[no]=Firefox Nettleser

Name[pl]=PrzeglÄ…darka WWW Firefox

Name[pt]=Firefox Navegador Web

Name[pt_BR]=Navegador Web Firefox

Name[sk]=Internetový prehliadač Firefox

Name[sv]=Webbläsaren Firefox

Comment=Browse the World Wide Web

Comment[ca]=Navegueu per el web

Comment[cs]=Prohlížení stránek World Wide Webu

Comment[de]=Im Internet surfen

Comment[es]=Navegue por la web

Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید

Comment[fi]=Selaa Internetin WWW-sivuja

Comment[fr]=Navigue sur Internet

Comment[hu]=A világháló böngészése

Comment[it]=Esplora il web

Comment[ja]=ウェブを閲覧します

Comment[ko]=웹을 돌아 다닙니다

Comment[nb]=Surf på nettet

Comment[nl]=Verken het internet

Comment[nn]=Surf på nettet

Comment[no]=Surf på nettet

Comment[pl]=PrzeglÄ…danie stron WWW

Comment[pt]=Navegue na Internet

Comment[pt_BR]=Navegue na Internet

Comment[sk]=Prehliadanie internetu

Comment[sv]=Surfa på webben

GenericName=Web Browser

GenericName[ca]=Navegador web

GenericName[cs]=Webový prohlížeč

GenericName[es]=Navegador web

GenericName[fa]=مرورگر اینترنتی

GenericName[fi]=WWW-selain

GenericName[fr]=Navigateur Web

GenericName[hu]=WebböngészÅ‘

GenericName[it]=Browser Web

GenericName[ja]=ウェブ・ブラウザ

GenericName[ko]=웹 ë¸Œë¼ìš°ì €

GenericName[nb]=Nettleser

GenericName[nl]=Webbrowser

GenericName[nn]=Nettlesar

GenericName[no]=Nettleser

GenericName[pl]=PrzeglÄ…darka WWW

GenericName[pt]=Navegador Web

GenericName[pt_BR]=Navegador Web

GenericName[sk]=Internetový prehliadač

GenericName[sv]=Webbläsare

Exec=firefox %u

Terminal=false

X-MultipleArgs=false

Type=Application

Icon=firefox-3.0

Categories=GTK;Network;

MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;

StartupWMClass=Firefox

Name[en_US]=Firefox Web Browser

Comment[en_US]=Browse the World Wide Web

Icon[en_US]=firefox-3.0

GenericName[en_US]=Web Browser

updating the initramfs is important, since we changed the kernel and usplash

$ update-initramfs -u

$ apt-get clean

$ rm -rf /tmp/*

$ rm  /root/bash_history

$ exit

out of the chrooted environment now

I had to copy gconf from a working formation so the panels would be correct.  It’s too complex for me, though I did try to edit /etc/gconf/schemas/panel-default-setup.entries – but didn’t seem to have any effect.

$ cp -a /home/defaultgooduser/.gconf ./isonew/custom/etc/skel

copy the new initramfs to the appropriate place this is very important

$ cp ./isonew/custom/boot/initrd.img-2.6.24-19-generic ./isonew/cd/casper/initrd.gz

$ cp ./isonew/custom/boot/vmlinuz-2.6.24-19-generic ./isonew/cd/casper/vmlinuz

prepare and make the image

$ chroot ./isonew/custom/ dpkg-query -W –showformat=’${Package} ${Version}n’ > ./isonew/cd/casper/filesystem.manifest

$ cp ./isonew/cd/casper/filesystem.manifest ./isonew/cd/casper/filesystem.manifest-desktop

$ mksquashfs ./isonew/custom ./isonew/cd/casper/filesystem.squashfs

$ rm ./isonew/cd/casper/filesystem.squashfs

$ mksquashfs ./isonew/custom ./isonew/cd/casper/filesystem.squashfs

$ rm ./isonew/cd/md5sum.txt

$ cd isonew/cd/

$ find . -type f -print0 | xargs -0 md5sum > md5sum.txt

edit the very first splash using gimp

this is the one on the very first screen

$gimp ./isonew/cd/isolinux/splash.pcx

$ cd isonew/cd/

$ mkisofs -r -V “engrlivecd” -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o /home/lundeen2/cslive7000.iso .

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: