ULFSVM - UmVirt Linux From Scratch virtual machines disk images and Live CD/DVD/USB disk images.

This images can be installed on real disks and be used as firmware.


Virtual machines disk images

A Linux From Scratch build from sources is too much expensive. It is requires:

To build Linux From Scratch from source code virtual machines (virtualization) can be used. This aproach is more simple and reliable than using a real harware.

To reduce costs we create VMs hard disk images backups and share it to public. If desired any user can make his own disk images with your own package set.

We use QEMU hypervisor (emulator) as back-end for virualization because QEMU is powerful open-source software.

QEMU use disk images in raw and qcow2 format as VMs hard disk images. It is possible to convert disk images from any one format to other with qemu-img programm.

Raw format

Raw format is format where all disk contents stored in file as is as bytes sequence.




qcow2 format is copy on write format. This format is allows to store snapshots and modifications separately. In opposition to raw format it reserve disk space only when write operation is porformed.



Live CD/DVD/USB disk images

Any UmVirt Linux From Scratch instance can be converted to Live CD/DVD/USB disk images via Linux Live Kit. This images allows to boot UmVirt Linux From Scratch without using HDD/SDD. Also this images can be used as Virtual machines disk images.

Key feature of live CD/DVD/USB disk images is read only root file system. Each time after boot user is get same system all modifications are lost. Additional local or remote devices can be used to store information.

Disk images storage

There are many disk images on each release:

Disk images build


Build scenario

  1. LFSAutoBuilder from ULFSBE used to produce lfs disk images for i686 and amd64 platforms.
  2. LFSCustomizer used to upgrade lfs disk images to initial ulfs disk images.
  3. LFSCustomizer used to build console disk images from initial ulfs disk images by installing additional packages.
  4. LFSCustomizer used to build x disk images from console ulfs disk images by installing additional packages.
  5. LFSCustomizer used to build lxde disk images from x ulfs disk images by installing additional packages.
  6. LFSCustomizer used to build mate disk images from lxde ulfs disk images on qemu64 platform. Mate disk image on i686 platform is installed manually

Initial configuration in LFSCustomizer is started by command:


Additional packages in LFSCustomizer are installed with commands:

LFSCustomizer tips

Runing disk images

  1. uncompress disk image using gunzip command
  2. attach disk image to virtual machine as IDE/SATA drive
  3. boot VM
  4. login as root without password
  5. edit .xinitrc if needed type:



  6. run


Creating snapshots

Quality Control

In ULFS no package installation verification implemented.

To check packages installation run command:

    wc -l /var/log/ulfs-packages/*/files.txt | grep " 0"

This comand will print all packages where no files installed.

You can inspect configure.log, build.log, install.log to get more info.

Reduce disk image size

Filling by zeroes

To reduce disk image you can fill unused space by zeroes using empty file. Such file can be created by command:

    dd if=/dev/zero of=zero.img bs=16384 && rm -v zero.img


    chimp zerofill

After compresson Raw disk will consume less disk space. QCOW is start consume more disk space because write operations is performed. To reduce QCOW disk image convert it by qemu-img command from qcow2 to qcow2.

    qemu-img convert -O qcow2 x.qcow2 new.qcow2

Installation logs removing

You can remove installation logs directories in /var/log:

Linux kernel sources removing

You can remove Linux kernel sources directory in /usr/src/linux.

Because Linux kernel is important operating system part which perform various critical operations like hardware interaction it removing make hardware support reconfiguration more difficult.

Be careful when removing Linux kernel sources from disk image.