Wednesday, August 20, 2008

creating an flamerobin/firebird livecd with ubuntu hardy heron



I used this guide for starting point
https://help.ubuntu.com/community/LiveCDCustomization
Download xubuntu-8.04.1-desktop-i386.iso from http://www.xubuntu.org/get
in my case my nearest mirror
$wget http://cdimages.ubuntu.com/xubuntu/releases/hardy/release/xubuntu-8.04.1-desktop-i386.iso
$sudo apt-get install squashfs-tools genisoimage qemu kvm
$sudo modprobe squashfs
$mkdir ~/live/
$mv ~/xubuntu-8.04.1-desktop-i386.iso ~/live/
$cd ~/live
$mkdir mnt
$sudo mount -o loop xubuntu-8.04.1-desktop-i386.iso mnt
$mkdir extract-cd
$rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
$mkdir squashfs
$sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
$mkdir edit
$sudo cp -a squashfs/* edit/
$sudo cp /etc/resolv.conf edit/etc/
$sudo cp /etc/hosts edit/etc/
$sudo mount --bind /dev/ edit/dev
$sudo chroot edit
$mount -t proc none /proc
$mount -t sysfs none /sys
$export HOME=/root
$export LC_ALL=C

in the Customization part (after you do sudo chroot edit)
I decomented the two lines in /etc/apt/sources.list sudo vi /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu hardy universe
deb-src http://archive.ubuntu.com/ubuntu hardy universe
and added firebird repository
pico /etc/apt/sources.list.d/firebird.list

deb http://ppa.launchpad.net/mapopa/ubuntu hardy main
deb-src http://ppa.launchpad.net/mapopa/ubuntu hardy main

Follow this guide to install firebird
https://help.ubuntu.com/community/Firebird2.1

$apt-get update
$apt-get install flamerobin firebird2.1-super ibwebadmin

Please enter new password for SYSDBA user:masterkey
$apt-get clean
$rm -rf /tmp/*
$rm /etc/resolv.conf
$umount /proc
$umount /sys
$exit
$sudo umount edit/dev

Regenerate manifest

$chmod +w extract-cd/casper/filesystem.manifest
$sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest
$sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop
$sudo sed -ie '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop

Compress filesystem

$sudo rm extract-cd/casper/filesystem.squashfs
$sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -nolzma

Remove old md5sum.txt and calculate new md5 sums

$sudo -s
$rm extract-cd/md5sum.txt
$cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt
$exit

Create Iso

$cd extract-cd
$sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../xubuntu-8.04.1-desktop-i386-flamerobin.iso .

$qemu -cdrom xubuntu-8.04.1-desktop-i386-flamerobin.iso -boot d -m 512
or with kvm
$kvm -cdrom xubuntu-8.04.1-desktop-i386-flamerobin.iso -boot d -m 512

or write the iso xubuntu-8.04.1-desktop-i386-flamerobin.iso on the dvd with k3b or nautilus
after the system boots you can create an database with
the username:sysdba
password:masterkey
and the path
/tmp/flamrobin.fdb


I have tested it by using virtual manager similar to this guide
only that i used this iso xubuntu-8.04.1-desktop-i386-flamerobin.iso instead of jeos

I will upload the final live cd soon

..:: ::..:: ::..

4 comments :

heathbar5477 said...

I'm having issues with the line that creates the ISO. The output I am getting is:

I: -input-charset not specified, using utf-8 (detected in locale settings)
genisoimage: Missing pathspec.
Usage: genisoimage [options] -o file directory ...

Use genisoimage -help
to get a list of valid options.


The code I am running is:

sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-9.10-desktop-i386.iso


All the other instructions have been followed to a tee from the help.ubuntu site

José Jorge (Geo) said...

Those packages you added, are installed by default when using the Live CD? Or do I need to do "something" to have them installed?

mariuz said...

The firebird+flamerobin packages are installed already on the live cd

MishukC said...

The problem ("genisoimage: Missing pathspec") is due to not telling genisoimage where to create the iso.
In my case I used "." (without quotes), that is, the current directory. So, my complete command looked like:
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-9.10-desktop-i386.iso .