VirOS::Docs::Tutorial

The following list of tutorials, followed in order, illustrate precisely what VirOS can enable you to do, and just how easy it is to use. So far I have performed a reasonable QA on parts #1, #2, and #8, on a fresh f8 system installed from the official f8-i686-livecd.

Tutorial #1: Installing the VirOS toolsuite

There are two primary ways you can install VirOS. Method A is simplest, as if you choose method B, you will need to look at the build/viros.spec files to check the standard fedora BuildRequires and Requires that VirOS depends on and make sure that they are installed first. However, method B does highlight the fact that VirOS really, truly, does not require root privileges in any way shape or form.

Method A - Install VirOS from the DMC yum software repository

From the command line, type the following

# unfortunately this tutorial has stagnated for some time.  See Method B, though much
# more here is also probably out of date.  But 2009_12_21 does work on f11, at least for me.
      


Method B - Install VirOS from the development source code

From the command line, type the following
urlgrabber \
    http://filteredperception.org/downloads/viros/viros-0.6.2009_12_21.tar.bz2 
# extract viros 
tar xvf viros-0.6.2009_12_21.tar.bz2 
cd viros-0.6.2009_12_21
# build/compile viros
make
# run viros for the first time
./viros generate --help
      

Tutorial #2: Generating your first "Hello World" LiveCD image

To create your first "Hello World" project, all you need to do is type

viros generate \
    --verbose --debug \
    --strain=minimal \
    --addtrait=ZyX.brand::distroname=myfork
      

Replacing 'myfork' with your first name, or the name of your project. Then look for the output as a 300MB or so viros.iso image file in the current directory. On my core duo laptop with 1G of ram, this takes about two hours, and probably requires the better part of 5G of free space in /tmp. It is important that you give the above command line a shot before doing anything else, as this will test that this ALPHA software at least minimally does what it's supposed to. You can then test your new livecd iso image with the following command:

qemu -net none -m 256 \
    -boot d -cdrom ./vsys.iso
      

Tutorial #3: Generating a full blown forked LiveOS distro


viros generate \
    --tmpdir=${HOME}/.viros \
    --output=./myfork.iso \
    --addtrait=ZyX.brand::distroname=myfork
      

Note, that this utilizes the implied default strain, i.e. this is the same as if you had also added '--strain=F-ZyX' to the command line. Note also the use of --tmpdir to specify a temporary directory to use for the rather hefty temporary storage requirements of a viros build. Finally, note the usage of --output to specify the filename for the resulting iso image

Tutorial #4: Using VirOS in livecd-creator compatability mode

Note: this compatability wrapper does not actually work/exist yet, but...

viros vnlc \
    --config=/usr/share/livecd-tools/livecd-fedora-8-desktop.ks

will eventually be equivalent to the existing command-
viros generate \
    --vsysgen_distro_config=/usr/share/livecd-tools/livecd-fedora-8-desktop.ks

Tutorial #5: Adding software (traits) to (the DNA of) your project

Tutorial #6: Adding arbitrary media and/or files to your project

Tutorial #7: Trimming the fat / Making it fit on a 700MB CD-ROM

Tutorial #8: Using lixmog to add features and files to an existing LiveCD image

For the timebeing, the lixmog tool is primarily useful to add my LiveUSB persistence trait to either the Fedora-8-i686 LiveCD, or a similar one generated with livecd-creator. In the future however, lixmog will become a much more flexible tool for slicing and dicing existing LiveCD iso images, both from livecd-tools and VirOS itself. Note, that all images generated by VirOS already support the persistence/overlay feature out of the box.

viros lixmog \
    --addtrait=ZyX.overlay.f8 \
    --output=mynewlive.iso
    mylive.iso