multisession live-DVD (and CD)
PAGE UPDATED: 29 March 2008
drive and 256M RAM required, no hard drive needed!
you run an Internet Cafe? Imagine never having to maintain the PCs,
ever again. Imagine cheap PCs without hard drive, no operating system.
Imagine no more viruses, no security problems at all ...am I dreaming?
Give each of your customers a Puppy live-DVD, they insert it at bootup, you have it preconfigured to connect to your DHCP server, and that's it. They can do whatever they want, everything is saved to their own personal DVD -- or shirt-pocket-size 2G mini-DVD.
you want to use the PC at work and not leave a trace? Bootup a
live-DVD, the hard drive will not be touched. Take all your personal
files between work and home. Keep a full private audit trail.
Okay, I can think of more reasons why the Puppy multisession
live-DVD is a good idea, but let's start this page by introducing the
This is a world-first (or rather, a "world-second", as the
guys from the Morphix project let me
know that they already had something similar developed! My
understanding though is that Puppy's multisession system is by far the
most sophisticated -- so, it is a world first for this level of sophistication and practical usefulness).
Live-CDs have become popular, but none save your personal data and settings back to the CD. Most of them can't anyway, as they are too big, at least for a CD. As Puppy is only about 50M - 70M, there is about 600M free space on the CD, so why not put it to use?
And then there is the DVD... over 4G storage on a single-layer DVD.
In fact, we have found DVD to be superior to CD in other ways: saved
sessions do not suffer the approximate 12M wasted space in each saved
CD session, and DVD incremental session burning is more refined
...meaning, it just works better.
So, the rest of this page will focus on the DVD, but you can still use a CD if you wish.
To get going with Puppy multi-session live-DVD is quite easy. There
nothing complicated to do to set it up, it just works. After you have
downloaded the live-DVD ISO file, the only slight difficulty is
that you need to use the right software to burn it to a DVD -- detailed install steps are given at the bottom of this
So, how does it work? What you have to do is boot the PC with the
multi-session DVD inserted in the DVD-burner drive -- thus, Puppy automatically
knows which drive is the DVD-burner, in case you have more than one CD/DVD
drive. Then you use Puppy in the normal way.
At first shutdown, you are offered the choice of saving the session
back to the DVD, and you just reply in the affirmative. All new and
changed files in your home directory are
then saved back to DVD. That's it. Next time you boot, all the personal
files are restored.
|Runs totally in
ramdisk, DVD drive freed for other uses
Simple, but there's more to it of course. Each session is saved as a
"track" (well, except for a DVD+/-RW in overwrite mode), and it is space-efficient as only changed files are saved each time.
At bootup, the tracks are read in reverse order, copying the latest version
of each file to the ramdisk. Yes, that's another thing -- Puppy still runs
totally in ramdisk, so after bootup you can remove the live-DVD and use the
drive for other purposes -- you will be asked to re-insert it at shutdown.
So, when you boot Puppy, if tracks are read in reverse order and the
latest version of each file copied to your home directory in the ramdisk,
what about deleted files? Say you delete a file during one session, that has
previously been saved to DVD at the last session, won't it come back again
next time you boot? No, Puppy has a mechanism that keeps track of deleted
files and this won't happen. However, that does raise an interesting point
... the deleted file is still on the DVD, meaning that every single file that
ever existed will be recorded on the DVD, meaning that you have a perfect
audit trail of past activity.
Of course, the DVD is going to fill up eventually, so what then? No
problem, at shutdown Puppy will automatically ask you to insert a new
blank DVD and will place a fully working bootable Puppy on it, create a
track, and off you go again.
Note that that "first data track" will have all the files from the last session saved in it, so your new DVD carries on with all your personal files from before.
The rest of this page is organised as a FAQ...
How do I upgrade to a later version of Puppy?
When you shutdown, you are asked to insert the DVD. The normal thing
would be to insert the multisession DVD that you are currently using.
However, if you have previously downloaded and burned the latest Puppy
onto a DVD-R, and you insert that at shutdown, Puppy will save to it
and you just use the new DVD from then on.
What about backup?
In fact, Puppy is even more clever. If you insert a new blank DVD at shutdown, Puppy will burn the complete Puppy system onto the DVD as well as the session -- real handy if the current DVD is getting a bit "iffy".
Puppy even has "rollback". At the initial boot menu you can type
"puppy pfix=n" where "n" is a number, to rollback "n" sessions. Those
sessions are permanently blacklisted. Real handy if the last session
stuffed things up and you need to recover. In fact, it is possible to
specify any session as blacklisted.
If everything runs in ramdisk, that's not much space!
That's right. I recommend a PC with at least 256M RAM. However, Puppy will
use a Linux swap partition if it exists on the hard drive, which will make
the effective size of the ramdisk approximately half-size-of-RAM +
size-of-swap-partition. For example, a PC with 128M of RAM and a 400M swap
partition would have an effective ramdisk size of about 60+400 = 460M.
If no swap partition, then a 128M PC is not adequate! For a PC with 256M RAM, no swap partition, the ramdisk is about 120M. About 70M of that is taken up by the Puppy files, mostly pup_xxx.fs, leaving only 50M free ...not much!!!
So, if the ramdisk gets full, what happens then?
At the end of each session, Puppy tries to archive files to the DVD,
that they won't be reloaded into the ramdisk next time you bootup.
Folder /archive/ is a special folder -- anything placed in this folder
gets saved to DVD
but not reloaded at next boot.
Another special directory is "tmp", in fact, any directory which has "tmp" as its first three letters, for example "tmp1" and "tmp-z". The contents of such directories is not saved to DVD at end of session.
Also, when Puppy is booting, he loads files into ramdisk, latest first, but if the ramdisk becomes nearly full, loading stops.
So, what you have in the ramdisk is a snapshot of latest files, not necessarily all the personal files. Obviously, this is potentially a compromise.
If many files are left behind on the DVD, how do I access them?
Deleted files, any files in /archive/, older files that would have
over-filled the ramdisk, these three categories of files are on the DVD but
not loaded into ramdisk.
However, they are still there, which is actually quite fascinating -- you could be using multi-session Puppy for years and have a collection of DVDs -- when you start a multi-session live-DVD you write the start-date on it, when it becomes full you write the close-date on it -- so you have this set of DVDs nicely organised by date. These DVDs are a complete audit path of all past activity, in fact each DVD is individually bootable -- so you can "go back in time" to an earlier configuration. Simply by booting an earlier DVD, you can access the files on that DVD.
Or, when a DVD becomes full, run it through Gwhere (or Gtkcat on puppies prior to v4.00), the CD/DVD cataloger program -- this is a great little program, and you can have a database of what is in all past DVDs.
I download huge music files. How do I avoid cluttering up the ramdisk?
Well, you could store them on a hard drive partition.
At shutdown, anything inside /archive/ folder will be saved
to DVD and won't come back. That is, won't be reloaded into the ramdisk, but it's easy enough to mount the DVD and access the
If you are like me, a habitual downloader, then just get into the habit of downloading to /archive/.
Another way to remove a large file is simply to delete it -- if it existed in
the previous session, then it will already be saved on DVD so it isn't
How do I create a Linux swap partition?
If you have ever installed a Linux distribution, chances are it created a
Otherwise, it is easy to create one in a Windows-only PC (but of course I take no liability if you modify the partitions on the hard drive and something goes wrong!)...
- Running Windows, run Scandisk, thorough test.
- Still in Windows, run disk defragmenter.
- Make sure that you shutdown properly from Windows, no abnormal reboots.
- Running Puppy,
choose "Control Panel -> GParted partition manager" -- this is a
simple GUI tool and it will even allow you to shrink a NTFS partition
to make room for a Linux swap partition.
Are there any bugs in multisession-Puppy?
One problem is the limitation in the size of the ramdisk. Obviously, if
older files are left behind on the DVD, not loaded into ramdisk, they are not
immediately available. Will this mess up any applications? This is something
that we have yet to determine. For a database management system that has
index files that list the files of the database, if older files "go missing",
it could stuff up the database management.
The multisession-CD will spit out error messages at bootup and
shutdown. The reason seems to be that the Linux ide-cdrom driver has a
problem reading from a multi-track CD. Despite the error messages, it
works. Note, I setup things so that these error messages do not display on the screen, so the user is unaware of them!
The multisession-DVD does not have these error messages.
The multisession-CD seems to be less reliable at saving sessions at
shutdown than the DVD. The cdrecord program is used for the CD, and the
growisofs program used for the DVD.
Can I boot both "normal" live-CD and multisession live-DVD on the same PC?
Yes. The multisession CD/DVD first looks at itself to see if there are any saved folders -- if yes, then it loads those. The normal live-CD will not have any saved folders, so will then look for the personal storage file "pup_save.2fs" on the hard drive, failing that any USB drives.
What type of CD or DVD media should I use?
If your PC does not have a DVD burner drive, only a CD burner drive then you will have to use a CD-R.
I do not recommend a CD-RW simply because it isn't necessary. A CD-R is "write-once", but in multisession mode, tracks can be written one after the other, up to 99 tracks or the CD-R becomes full.
I recently purchased a bulk pack of 100 CD-Rs for $22 Australian (about US$15), so they are pretty cheap.
Multisession-Puppy works better with a DVD-R, and if your PC does
not have a DVD-burner, consider buying one. I purchased a double-layer
DVD burner for A$60 (October 2005), and it was reported on
the Puppy Forum that they can be purchased in the USA for US$40.
I recently purchased a pack of 50 single-layer DVD-Rs for A$17.50.
I strongly recommend that you use a single-layer DVD-R. Do not use a
DVD+R, DVD-RW or DVD+RW, as each of these seems to have particular
problems. But then, if you find that a DVD+R works for you, fine.
Do not use a double-layer DVD-R either. A single-layer DVD-R can
store about 4.3G, but there is a software limitation that restricts the
last directory to 4G. So, a double-layer DVD will just be a waste.
A DVD+RW could be used, but there may be unresolved issues ...stay
tuned. But why? For experimenting with multisession-Puppy, yes, but
otherwise, use a DVD-R -- it costs you just 35 cents (25 cents in the
US) and will last for ages.
Can I access the live-DVD files from Windows?
Yes, no problem. The files are saved on the DVD as normal files, not
encrypted or compressed. If you run Windows
Explorer and look at the DVD, you will see folders, each named with a
date, for example "2005-03-06-17-45", which has the format
year-month-day-hour-minute. Each folder is one track on the DVD, but all you
see is folders. Same thing if you mount the DVD in Linux. Each folder has the
files that were backed up for that session. Deleted files are stored as a
link back to a previous folder where the file actually resides.
A report on the Forum is that Windows was only able to see the first
track of a DVD+RW, but was able to see all the tracks of a DVD-R.
UPDATE: I changed the shutdown script so that Joliet extensions are
turned off. This was due to unreliability that sometimes caused a
session not to save. The downside is that all directories and files in
the CD/DVD will appear to Windows in the old DOS 8.3 format -- that is
they will all be truncated. The full directory and filenames are still
there when running Linux however.
What if the power goes off while I'm working?
Yeah, that's a problem. The current session is running in ramdisk, so is
only saved back to DVD at end of a session, so a power loss means that you
lose your work. There are various ways to work around this. One is to save
files in a hard drive partition, or, configure an application like a
wordprocessor to save a backup copy in a hard drive, and mount the h.d.
partition everytime Puppy boots.
Another possibility is to save a session
without rebooting -- Puppy has a "Save" button on the desktop, and whenever you want, click it,
new and changed files are saved to DVD.
An interesting thought -- you could deliberately not save a session --
it is optional at shutdown. You might want to do this if you
had messed around on the Internet and not downloaded any files that you
to save. That would save some space on the DVD.
How can I customise a multisession live-DVD?
I mentioned at the top of this page that you could customise a
live-DVD to automatically connect with a DHCP server at bootup -- the
default live-DVD does not connect to a network, you have to run one of
the network Wizards. Anyway, yes, you can customise Puppy in any way
you want, and then create another ISO file. The easiest way to do this
is by using "Remaster Puppy live-CD", available in the "Setup" menu.
I'm interested, how do I get it?
Go to the Puppy download page, and
download the live-CD ISO file, which you will recognise as the filename
will have the format "puppy-x.xx-xxxxx.iso". Burn it to DVD, but be careful to use the right software.
Burn to DVD
If you already have a running Puppy, this is the easiest way to burn the ISO. Just choose from the menu:
"Start -> Multimedia -> Burniso2cd burn iso file to CD/DVD"
Burniso2cd doesn't need any instructions, it is so simple.
To burn to DVD, you will need a running Linux distribution, as you
absolutely must use the growisofs program to perform the burn. The
Burniso2cd program in Puppy uses growisofs, as do other CD/DVD burner programs used in Puppy (Pburn, Graveman and TkDVD). It is also important that
growisofs be used with the correct "commandline options", something
that Burniso2cd takes care of.
Anyway, getting to the point. Any Linux distro will have growisofs
installed, so the easiest method is to burn the ISO file direct from
# growisofs -speed=4 -Z /dev/hdc=puppy-x.xx-xxxxxxx.iso
where /dev/hdc is the device name of the DVD burner drive.
There may be Windows burner programs that will work, but I don't
know of any. In fact, I doubt that any of them will do it right.
Burn to CD
To burn the ISO file to CD is different! You need different burner software, and in this case there are Windows tools.
If you have a running Puppy, once again this is the easiest. Just run Burniso2cd.
For any other CD burner program, Windows or Linux, be careful that
"multisession" burn is chosen -- unfortunately, some Windows burner
programs do not have this option.
....well, if you only have such a crappy Windows burner program, just burn a normal non-multisession-Puppy and then you will have a normal Puppy live-CD -- run Puppy and then you will have access to Burniso2cd and many other lovely Linux burner programs.
For Windows users:
"GuestToo" a Puppy enthusiast and active contributor on the Forum and Wiki, has posted a HOWTO to burn a multi-session CD using Nero6. Note that it appears Nero version 5 is lacking the options for this. Here is GuestToo's HOWTO:
More ways to do it from a working Puppy:
Note that Gcombust is not built-in to the official live-CD, it
is a PET package. Gcombust is designed for burning to scsi-emulated
IDE CD drives, which Puppy no longer uses. Note, do not use Gcombust to burn DVDs. So, Gcombust is now
slightly awkward to use, but still popular, hence the procedure is
|Steps to install with Gcombust:
| Or, it can be done entirely from
(c) Copyright 2005,2006,2008 Barry Kauler http://www.puppylinux.com/
No part of this page is to be reproduced anywhere else. I have found that there is a problem where parts of my web pages are being inserted at other sites, then not updated, whereas I am updating my pages regularly. This is not a desirable situation, so please just link to my pages.