Puredyne/How to broth

Five steps to produce your own customized Puredyne LiveCD:

Step 1: Required toolsEdit

If you're using a debian or ubuntu system, first make sure you have installed the development tools that will be used by broth:

sudo apt-get install live-build build-essential devscripts bzr

If you're running from puredyne then these are already installed.

Step 2: Get brothEdit

Get Broth from Launchpad via bazaar:

bzr branch lp:broth

This will download a folder called "broth" containing the latest version of the broth scripts and config files.

Step 3: Choose your flavouringEdit

3.1. Changing the list of packages to be installedEdit

In case you want to remove one of the main entries of the CUSTOM default recipe, edit the profile for the type of live media you are creating, in our case:

cat stock/chroot_local-packageslists/puredyne-CUSTOM

#include <audio>
#include <desktop>
#include <dev>
#include <firmware>
#include <hardware>
#include <medibuntu>
#include <net>
#include <system>
#include <wm>

Each of these "#include" statements includes a separate file, in which desired package names are listed.

Since we wanted all of the above, we contine to edit only one of the included entries:

cd stock/chroot_local-packageslists/ nano audio

We can delete any application name we don't want (or "comment it out" by adding the hash sign # in front). Is worth to say we not just removed but added software we needed after checking the repos for packages to include:

sudo aptitude search nmap

and then adding the exact package name in the <net> file:

nano stock/chroot_local-packageslists/net

3.2. Adding your own scripts/datafilesEdit

The path stock/chroot_local-includes/ contains files and folders that will be directly added to the disk image. So, if you wanted there to be a folder /etc/john in the finished product, with a couple of data files in, you would create the folder stock/chroot_local-includes/etc/john and put the data files into it.

Sometimes you want to add files not to a hard-coded path, but to the user's home folder. (For example this might be useful for changing a configuration file for the live user.) In many Linux distributions, this is done by adding files into /etc/skel, and they are then copied into the user's home folder when the user is created. So for example, if you wanted the user to have a file in their home folder called "orig.jpg", in broth you need to place it in stock/chroot_local-includes/etc/skel/orig.jpg.

Step 4: Let's cookEdit

More or less this was the drill, the when you are happy just run:

./broth.sh -o CUSTOM

and wait for a bit (aprox. 20-40min depending on you network connection to the repos). This phase takes a while, and outputs pages and pages of text info, because many packages are being installed to the live image.

(You'll normally be asked for your password at the start. That's OK.)

Step 5: ServeEdit

When the process finishes you'll see something like:

P: Begin unmounting filesystems...
soup is ready!

The image will be waiting for you in:

../puredyne-build-i386/binary.iso

Finally, burn your image to a CD or DVD and you are done! (You can use a program like k3b to burn .iso images)

Other customisationsEdit

  • Some cron jobs and scripts? Add to includes in:
    /stock/chroot_local-includes/etc/cron.d/

QuestionsEdit

  • when i ran broth for the first time, it took a good while to produce the image, such time lapse has not being significantly reduced after subsequent .iso builds, is there a way to make the process faster, like avoiding the download of packages that are already on the local?
    • You (or the local network admin) could set up a .deb cache server, but that's not particularly easy/quick to set up.
  • is there a way to modify the splash screen used by grub?
    • Yes. The easiest way is to replace stock/chroot_local-includes/usr/share/images/desktop-base/grubsplash-puredyne-logo-simple.png
Last modified on 26 July 2011, at 21:04