ISUbuntu
July 7, 2008 Leave a comment
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 .