PreTest CookBook 0.1

Next: , Previous: , Up: (dir)   [Contents][Index]

Top

Table of Contents


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

The goal of pretest is to provide virtual-machine images of Free-Software POSIX-compliant operating systems, for portability testing of GNU software (or any other autotools-based software).

The virtual-machine images are pre-configured to have similar settings and similar tools installed.

This version of pretest provides images for quick and easy manual testing. Future versions will add automated testing facilities.

For latest up-to-date information, visit PreTest website at: http://www.nongnu.org/pretest/.

For suggetions, comments, questions, but reports and patches, send an email to pretest-users@nongnu.org


Next: , Previous: , Up: Top   [Contents][Index]

2 Quick Start

Download one of the images in the Downloads section, and decompress the image

wget http://files.housegordon.org/pretest/v0.1/debian76.build-ready.qcow2.xz
unxz debian76.build-ready.qcow2.xz

Run the image:

kvm -nographic -m 384 \
    -net user -net nic,model=virtio \
    -drive if=virtio,media=disk,index=0,file=debian76.build-ready.qcow2

User name is miles, password is 12345.

While the virtual machine is running, type CTRL-A, C to switch to QEMU Monitor mode (http://en.wikibooks.org/wiki/QEMU/Monitor). Type CTRL-A, c to return to the virtual machine’s console. For details about KVM parameters, see Simple KVM usage.

A helper script (pretest-run.sh) provides more KVM/QEMU options, see Pretest-run script.


Next: , Previous: , Up: Top   [Contents][Index]

3 VM Configuration

This version of pretest provides two types of pre-built virtual-macihne images:

Clean-Install

Minimal configuration, after a clean install from a CD ISO image, using (mostly) default settings for the installation process.

Build-Ready

Based on the ’clean-install’ images, with additional packages installed to enable compilation of GNU software (or other autotool-based pacakges).


Next: , Previous: , Up: VM Configuration   [Contents][Index]

3.1 Clean-Install VMs

Pretest’s virtual machine in ’clean-install’ state are configured with the following items:

The minimal kvm usage would be (replace XXXX.qcow2 with the download image file, after decompressing with with unxz):

kvm -nographic -m 384 \
    -drive if=virtio,media=disk,index=0,file=XXXX.qcow2

Or use the supplied pretest-run.sh for more options:

pretest-run.sh XXXX.qcow2

see Downloads for list of available VM images.


Next: , Previous: , Up: VM Configuration   [Contents][Index]

3.2 Build-Ready VMs

Pretest’s virtual machine in ’build-ready’ state are configured with the following items (in addition to all ’Clean-Install VMs’ settings):

The typical kvm usage would be (replace XXXX.qcow2 with the downloaded image file, after decompressing with with unxz):

kvm -nographic -m 384 \
    -drive if=virtio,media=disk,index=0,file=XXXX.qcow2

Or use the supplied pretest-run.sh for more options:

pretest-run.sh XXXX.qcow2

see Downloads for list of available VM images.


Next: , Previous: , Up: VM Configuration   [Contents][Index]

3.3 Security Considerations

The pre-built VM images are configured with very little security in mind.

These pre-built images must not be used for any production or public servers, or as a basis for such servers.


Next: , Previous: , Up: Top   [Contents][Index]

4 Usage


Next: , Previous: , Up: Usage   [Contents][Index]

4.1 Simple KVM Usage

All images are pre-configured to be used with QEMU/KVM with the default parameters and with virtio drivers (except GNU Hurd which requires IDE drivers).

A typical usage is:

kvm -nographic -m 384 \
    -net user -net nic,model=virtio \
    -drive if=virtio,media=disk,index=0,file=debian76.build-ready.qcow2

All pre-configured VMs support serial console (QEMU’s -serial mon:stdio).

All pre-configured VMs support graphic monitors (QEMU’s -vga cirrus or related option).

NOTE: Some VMs have special requirement, see each VM’s build instructions, or the pretest-run.sh script for OS-specific hacks.


Next: , Previous: , Up: Usage   [Contents][Index]

4.2 Pretest-run script

The included script (pretest-run.sh) provides a common, simple interface for starting all pre-built images with the most common settings.

A typical usage is:

# Download a pre-built image
wget http://files.housegordon.org/pretest/v0.1/debian76.build-ready.qcow2.xz
unxz debian76.build-ready.qcow2.xz

# Start it, with serial console
pretest-run.sh debian76.build-ready.qcow2

The pretest-run.sh script will use the appropriate KVM/QEMU parameters for each VM/OS type.

By default the pretest-run.sh uses serial console, no graphic card, user-mode networking with DHCP and virtio drivers, and forwards the guest VM’s port 22 to the host’s 2222 TCP port.

Additionally, the pretest-run.sh accepts the following options:

-h

Show help screen

-m N

Use N MBs of ram (default is 384MB)

-p N

Forward guest VM’s port 22 (SSH) to host port N (default 2222).

To connect to the guest, use the following on the host:

ssh -p $ssh_port miles@localhost
-S

Disable QEMU’s -snapshot mode, write changes to QCOW2 image file. (default: use -snapshot)

NOTE: Even with -snapshot mode on, changes can be written to the VM disk image using the QEMU Monitor (press CTRL-A,c, thent type commit all).

-r

Connect the guest VM’s 2nd serial port to a file on the host.

To send data from guest VM to host, run (inside the guest VM):

echo hello > /dev/ttyS1 (on GNU/Linux)
echo hello > /dev/com1  (on Hurd)
echo hello > /dev/ttyu1 (on FreeBSD)
echo hello > /dev/tty01 (on Dilos, MINIX, OpenBSD, NetBSD)

The file will be named FILE.serial (based on input QCOW2 filename).

-i FILE.ISO

Mount FILE.ISO as an IDE CDROM drive. To be used with pretest-guest-init.

-C

Use CURSES VGA text interface (QEMU’s -curses option).

Default is no VGA adapter, only serial consoele.

-D

Use VGA Display mode (QEMU’s -vga cirrus).

Default is no VGA adapter, only serial consoele.

-z

Fork QMEU process in the background (QEMU’s -daemonize).

Default is to stay in the foreground. Implies -P.

-P

Write PID file (QEMU’s -pidfile).

The file will be named FILE.pid (based on input QCOW2 filename).


Next: , Previous: , Up: Usage   [Contents][Index]

4.3 Pretest-auto-build-check

All Build-Ready VMs contain the pretest-auto-build-check script. This script can be used to simplify the download/build/check procedure when testing a new pre-release tarball.

Typical Usage:

pretest-auto-build-check SOURCE

Where SOURCE is a URL of a tarball, or a URL of a git repository.

Examples:

pretest-auto-build-check http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz
pretest-auto-build-check git://git.savannah.gnu.org/hello.git

Additionally, the pretest-auto-build-check.sh accepts the following options:

-h

Show help screen

-c PARAM

Add PARAM as a parameter to the configure step.

-m PARAM

Add PARAM as a parameter to the make step.

-e NAME=VALUE

Add NAME=VALUE as an environment variable to all commands.

-b BRANCH

When cloning a git repository, check out branch BRANCH instead of the default master branch.

The script does the following:

  1. Creates a temporary directory under /tmp
  2. Downloads the tarball, decompress it (gzip,bzip2,xz are supported). Or,
  3. Clones the GIT repository, checking out branch master (or another branch, with -b).
  4. If checking out a GIT repository, runs ./bootstrap
  5. runs ./configure
  6. runs make
  7. runs make check

Next: , Previous: , Up: Usage   [Contents][Index]

4.4 Pretest-guest-init script - Portable boot-time automation

All Build-Ready VMs contain the pretest-guest-init script, pre-configured to run the script on start-up (as late as possible in the boot sequence, just before enabling login).

The pretest-guest-init script is a feature-limited, portable initialization script, conceptually similar to CloudInit (https://launchpad.net/cloud-init).

When each VM boots, the pretest-guest-init script does the following:

  1. Check for an available CDROM device (e.g. /dev/cdrom on linux).
  2. If a CDROM image is connected to the VM, mounts it.
  3. Verifies the CDROM image contains /pretest/ directory (otherwise- aborts).
  4. Copies SSH public-keys from /pretest/keys directory to the authorized_keys file of user miles - this enables password-less login once the VM boots.
  5. Executes shell script from /pretest/rscripts/ directory as user root.
  6. Executes shell scripts from /pretest/scripts/ directory as user miles.
  7. For few specific VMs (Hurd, MINIX) where CDROM mounting requires special commands, additional code ensures the files from the CDROM are available as if they were mounted ’normally’.

To connect a CDROM manually, run:

kvm -nographic -m 384 \
    -net user -net nic,model=virtio \
    -drive if=virtio,media=disk,index=0,file=debian76.build-ready.qcow2 \
    -cdrom FILE.ISO

A simpler method is to use the -i option of pretest-run script:

pretest-run.sh -i FILE.ISO debian76.build-ready.qcow2

TODO: Explain how to create a compatible ISO image with genisoimage.


Next: , Previous: , Up: Usage   [Contents][Index]

4.5 Sending data from Guest to Host

Using a serial file, exporting data from the guest VMs to the host is easy.

Start a guest VM with the -r option of pretest-run.sh, like so:

pretest-run.sh -r minixR330.qcow2

The guest VM’s 2nd serial port will be connected to a file named minixR330.serial on the host (the first serial port is connected to the console by default).

Inside the guest VM, use uuencode (or base64, or other similar commands) to convert a binary file to text, then send it to the serial port:

# On GNU/Linux VMs:
uuencode -m /path/to/file REMOTENAME > /dev/ttyS1

# On MINIX, NetBSD, OpenBSD, etc VMs:
cat FILE | uuencode -m /path/to/file REMOTENAME > /dev/tty01

It is also recommended to use a checksum program (e.g. sum) to verify the integrity of a binary file after the transfer.

On the host, decode the file like so:

cat minixR330.serial | tr -d '\r' | uudecode

and a new file REMOTENAME will be created on the host. Compare the sum of the generated file to the guest’s sum to verify integrity.

NOTE: The FILE.serial is truncated every invocation of the pretest-run.sh script.


Next: , Previous: , Up: Usage   [Contents][Index]

4.6 LibVirt usage

LibVirt (http://libvirt.org/) is a virtualization framework. PreTest virtual-machine images can be easily imported into LibVirt.

Download and uncompress the image:

wget http://files.housegordon.org/pretest/v0.1/freebsd101.build-ready.qcow2.xz
xz -d freebsd101.build-ready.qcow2.xz

Define a new Guest VM using virt-install:

virt-install \
    --name freebsd101 \
    --disk path=freebsd101.build-ready.qcow2,device=disk,format=qcow2,bus=virtio,perms=rw \
    --connect qemu:///system \
    --virt-type kvm \
    --wait=0 \
    --ram 384 \
    --vcpus=1 \
    --import \
    --boot hd\
    --graphics none \
    --network=network=default,model=virtio

Note the following items:

To start the Guest VM:

$ virsh start freebsd101
Domain freebsd101 started

To connect to the Guest VM’s serial console (if the guest VM’s displays nothing on the screen, press a key to wake it up - this will show the login prompt):

$ virsh console freebsd101
Connected to domain freebsd101
Escape character is ^]


FreeBSD/amd64 (freebsd101) (ttyu0)

login:

To disconnect from the guest VM’s console (but keep the VM running), press CTRL-].

To stop the VM:

$ virsh destroy freebsd101
Domain freebsd101 destroyed

To undefine the VM (that is - remove it from libvirt):

$ virsh undefine freebsd101

SSH Access, when using libvirt’s default networking option:

##
## Find the MAC address of the active VM:
##
$ virsh domiflist freebsd101
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      network    default    virtio      52:54:00:f4:b0:08

##
## Locate its assigned IP
##
$ cat /var/lib/libvirt/dnsmasq/default.leases
1417908075 52:54:00:f4:b0:08 192.168.122.111 freebsd101 01:52:54:00:f4:b0:08

##
## Connect with user 'miles' and password '12345':
##
$ ssh miles@192.168.122.111
Password for miles@freebsd101:
Last login: Sat Dec  6 17:23:20 2014
FreeBSD 10.1-RELEASE (GENERIC) #0 r274401: Tue Nov 11 21:02:49 UTC 2014
[...]

Next: , Previous: , Up: Usage   [Contents][Index]

4.7 VirtualBox usage

VirtualBox (http://www.virtualbox.org/) is a virtualization product from Sun (now Oracle). Most PreTest virtual-machine images can be easily imported into VirtualBox.

Download and uncompress the image:

wget http://files.housegordon.org/pretest/v0.1/freebsd101.build-ready.qcow2.xz
xz -d freebsd101.build-ready.qcow2.xz

Convert to VDI format:

qemu-img convert -O vdi freebsd101.build-ready.qcow2 freebsd101.vdi

Create a new VirtualBox machine using the command line tool VBoxManage (alternatively, the same can be performed using the VirtualBox GUI application):

# Create + Register new VM
VBoxManage createvm --name MyVM1 --register

# Setup VM with reasonable options
VBoxManage modifyvm MyVM1 \
    --cpus 1 \
    --graphicscontroller vboxvga \
    --memory 384 \
    --nic1 nat \
    --nictype1 virtio \
    --mouse ps2 \
    --keyboard ps2 \
    --natpf1 'guestssh,tcp,,2222,,22' \
    --usb off

# Create IDE Controller
VBoxManage storagectl MyVM1\
   --name "IDE Controller" \
   --add ide \
   --bootable on

# Attach the converted disk image to the controller
# (NOTE: the './' is required)
VBoxManage storageattach MyVM1 \
   --storagectl "IDE Controller" \
   --port 0 --device 0 --type hdd \
   --medium ./freebsd101.vdi

OS-Sepcific Settings:

To start the VM:

VBoxManage startvm MyVM1

To connect using SSH:

ssh -p 2222 miles@localhost

To gracefully shutdown the VM:

VBoxManage controlvm MyVM1 acpipowerbutton

Next: , Previous: , Up: Usage   [Contents][Index]

4.8 Debian Compilers Pack Usage

The Debian Compilers Pack virtual machine image is pre-configured with multile compilers and cross compilers:

Additionally, the virtual machine is configured with binfmt and QEMU’s static emulation to run cross-compiled binaries.

See Downloads for download instructions, and Debian Compilers Pack for details about how this virtual machine was installed.

When using this virtual machine, an autotools-based project can be compiled like so:

wget http://ftp.gnu.org/gnu/hello/hello-2.9.tar.gz
tar -xf hello-2.9.tar.gz
cd hello-2.9

# Cross-Compile for ARM
./configure --host=arm-linux-gnueabi

# Cross-Compile for PowerPC
./configure --host=powerpc-linux-gnu

# Cross-Compile for MIPS
./configure --host=mips-linux-gnu

# Cross-Compile for Windows 32Bit
./configure --host=i686-w64-mingw32

# Cross-Compile for Windows 64-bit
./configure --host=x86_64-w64-mingw32

# Native Compile using CLANG (instead of the default GCC)
./configure CC=clang

# Native compile using TCC (TCC is C99-compliant compiler)
./configure CC=tcc

# The continue to build the project
make

When compiling for ARM/PowerPC/MIPS, the resulting non-native binary can be executed on the host using QEMU+binfmt:

$ ./configure --host=arm-linux-gnueabi
<...>
$ make
<...>
$ file ./src/hello
./src/hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=0xcdb472c330662c870db31789e13de057f22c4f52, not stripped

# The ARM binary can be executed:
$ ./src/hello
Hello, world!

# And autotools tests can be used:
$ make check
<...>

Next: , Previous: , Up: Top   [Contents][Index]

5 Build Recipes


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.1 Build Recipe Introduction

Build recipes follow a common structure:

Information

General Information (such as Home page and Download page) for this operating system.

Download

Where to find the CD ISO image file used for this VM installation.

Scripts to download the ISO and run QEMU/KVM for the initial installation are provided in the build_scripts directory.

QMEU/KVM Notes (’build_scripts’)

Some OSes need special QEMU/KVM flags for initial installation. This section will list any critical issues.

Scripts to download the ISO and run QEMU/KVM for the initial installation are provided in the build_scripts directory.

Installation from CD/ISO

Notes regarding special setup/installation options required during the setup process. In the future, this step should be automated, see See Future Improvements.

First boot (’clean-install’)

After the installation from the ISO file is complete, the system should be rebooted (still running under the same QEMU/KVM process). The build scripts are configured to boot from the installed drive. This section lists commands to be run at this stage, to prepare the image to be run with the pretest-run.sh scripts with similar settings (e.g. same password for user root and non-root user miles, sudo without password for user miles, boot using serial console, etc.).

When this step is complete, QEMU/KVM should be stopped, and the QCOW2 file are tagged as ’clean-install’. Such pre-built images are available for download, see See Downloads.

Setup build tools (’build-ready’)

This section lists commands required to install build tools (e.g. autoconf, git, make, etc.). The VMs are started using pretest-run.sh, and after installation is complete, the QCOW2 files are tagged as ’build-ready’. Such pre-build images are available for download, see See Downloads.

Pretest-Scripts

This section lists where the two pretest scripts (pretest-guest-init and pretest-auto-build-check) are installed, and how the pretest-guest-init script is configured to run at boot time.

Pretest Image Preparation

This section lists how the VM image files (the downloadable *.qcow2.xz files) were packaged.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.2 GNU Hurd

GNU Hurd home page: http://www.gnu.org/software/hurd/

GNU Hurd is the OS kernel, and several different user-space OSes are availble. The instructions below use GNU Hurd/Debian, see http://www.debian.org/ports/hurd/hurd-install.

Download

The VM setup for GNU Hurd starts with a pre-build Hurd/Debian system (not a CDROM ISO image file). The pre-build image was prepared by Debian User ~sthibault, see https://people.debian.org/~sthibault/hurd-i386/README.

The raw disk image used was https://people.debian.org/~sthibault/hurd-i386/debian-hurd-20140529.img.gz

After download and uncompressing the image, qemu-img was used to convert the image from RAW format to QCOW2 format.

Download and initial QEMU invocation commands are available in the build_scripts/build_hurd-20140529.sh file, see See Downloads.

QEMU/KVM notes

GNU Hurd can not use virtio drivers for disk or networking. The installation script (build_scripts/build_hurd-20140529.sh) and the run script (pretest-run.sh) use IDE for disk emulation, and RTL8139 for network emulation.

See http://www.gnu.org/software/hurd/hurd/running/qemu.html

CD Installation/Setup

There are no installation instructions, the GNU Hurd/Debian image is already installed.

First Boot (’clean-install’)

Login with root (no password).

Add user miles:

adduser miles
passwd miles      # enter '12345' for the password

Add user miles to sudo group:

adduser miles sudo

Enable sudo without password for sudo group members:

sed -i -e '/^%sudo/s/ALL$/NOPASSWD: ALL/' /etc/sudoers

Configure booting using serial console (see https://www.gnu.org/software/hurd/faq/serial_console.html):

echo 'GRUB_CMDLINE_GNUMACH="console=com0"' >> /etc/default/grub
update-grub

Install additional software:

apt-get install help2man libtool

Enable password-less SSH login:

sed -i '/^#AuthorizedKeysFile/s/^#//' /etc/ssh/sshd_config

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Stop GNU-Hurd VM with shutdown -H -h now.

Note: since the downloaded image is already installed, there is no ‘clean-install‘ version of of GNU Hurd VM.

Tag the hurd.qcow2 as ‘build-ready‘. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.3 OpenBSD 5.5

OpenBSD 5.5 Homepage: http://www.openbsd.org/55.html.

Download

ISO : ftp://mirrors.nycbug.org/pub/OpenBSD/5.5/amd64/install55.iso

QEMU/KVM notes

OpenBSD 5.5 installation works well with default QEMU/KVM settings and virtio drivers. See the installation script (build_scripts/build_openbsd55.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, select the following options:

When installation is complete, type "Reboot", to reboot into the newly installed system (from disk).

First Boot (’clean-install’)

Login with root (password: 12345).

Enable Serial Console for amd64/i386 targets (see http://www.openbsd.org/faq/faq7.html#SerCon):

echo "set tty com0" >> /etc/boot.conf

NOTE: Using com0 will prevent QEMU’s -curses from showing console log on the screen (though login will still be possible).

Enable Login on Serial Console:

sed '/^console/s/off secure/on secure/' /etc/ttys > /tmp/t \
    && mv /tmp/t /etc/ttys

Shorten boot-loader timeout:

echo "set timeout 1" >> /etc/boot.conf

Enable Sudo without password for ’wheel’ members

sed '/^# %wheel.*NOPASSWD:/s/^# //' /etc/sudoers > /tmp/s \
    && mv /tmp/s /etc/sudoers && chmod 0440 /etc/sudoers

Stop the VM with /sbin/halt, tag the QCOW2 file openbsd55.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start openbsd55.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

echo 'PKG_PATH="ftp://mirrors.nycbug.org/pub/OpenBSD/5.5/packages/$(machine -a)/"' >> .profile
echo 'export PKG_PATH' >> .profile

echo autoconf-2.69p1 automake-1.14.1 gperf wget nano help2man libtool \
     xz rsync-3.1.0 git bison | xargs -n1 pkg_add -v

Setup autotools for user miles:

echo AUTOMAKE_VERSION=1.14 >> ~miles/.profile
echo AUTOCONF_VERSION=2.69 >> ~miles/.profile
echo export AUTOMAKE_VERSION AUTOCONF_VERSION >> ~miles/.profile

Without these settings, running autoconf will terminate with an error message complaining about having to select a specific version.

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Stop the VM with /sbin/halt, Enter QEMU’s monitor mode (type CTRL-A, c), Run commit all to save changes to openbsd55.qcow2, Then quit to terminate QEMU.

Tag the openbsd55.qcow2 as ‘build-ready‘. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.4 OpenBSD 5.6

OpenBSD 5.6 Homepage: http://www.openbsd.org/56.html.

Download

ISO : http://mirror.esc7.net/pub/OpenBSD/5.6/amd64/install56.iso

QEMU/KVM notes

OpenBSD 5.6 installation works well with default QEMU/KVM settings and virtio drivers. See the installation script (build_scripts/build_openbsd56.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, select the following options:

When installation is complete, type "Reboot", to reboot into the newly installed system (from disk).

First Boot (’clean-install’)

Login with root (password: 12345).

Enable Serial Console for amd64/i386 targets (see http://www.openbsd.org/faq/faq7.html#SerCon):

echo "set tty com0" >> /etc/boot.conf

NOTE: Using com0 will prevent QEMU’s -curses from showing console log on the screen (though login will still be possible).

Enable Login on Serial Console:

sed '/^console/s/off secure/on secure/' /etc/ttys > /tmp/t \
    && mv /tmp/t /etc/ttys

Shorten boot-loader timeout:

echo "set timeout 1" >> /etc/boot.conf

Enable Sudo without password for ’wheel’ members

sed '/^# %wheel.*NOPASSWD:/s/^# //' /etc/sudoers > /tmp/s \
    && mv /tmp/s /etc/sudoers && chmod 0440 /etc/sudoers

Stop the VM with /sbin/shutdown -h -p now, tag the QCOW2 file openbsd56.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start openbsd56.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

echo 'PKG_PATH="http://mirror.esc7.net/pub/OpenBSD/5.6/packages/$(machine -a)/"' >> .profile
echo 'export PKG_PATH' >> .profile

echo autoconf-2.69p1 automake-1.14.1 gperf wget nano help2man libtool \
     xz rsync-3.1.0 git bison gmake | xargs -n1 pkg_add -v

Setup autotools for user miles:

echo AUTOMAKE_VERSION=1.14 >> ~miles/.profile
echo AUTOCONF_VERSION=2.69 >> ~miles/.profile
echo export AUTOMAKE_VERSION AUTOCONF_VERSION >> ~miles/.profile

Without these settings, running autoconf will terminate with an error message complaining about having to select a specific version.

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Stop the VM with /sbin/halt, Enter QEMU’s monitor mode (type CTRL-A, c), Run commit all to save changes to openbsd56.qcow2, Then quit to terminate QEMU.

Tag the openbsd56.qcow2 as ‘build-ready‘. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.5 NetBSD 6.1.4

NetBSD Homepage: http://www.netbsd.org.

NetBSD 6.1.4 Release Announcement: http://netbsd.org/releases/formal-6/NetBSD-6.1.4.html.

Download

ISO: ftp://iso.netbsd.org/pub/NetBSD/iso/6.1.4/NetBSD-6.1.4-amd64.iso

QEMU/KVM notes

Notes:

See the installation script (build_scripts/build_netbsd614.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

When back in the shell, run reboot. After reboot, system will boot from installed disk.

First Boot (’clean-install’)

Login with root (password: 12345).

Enable DHCP:

echo "dhclient=YES" >> /etc/rc.conf

And immediately reboot (run reboot) to verify DHCP settings work. Alternatively, run /sbin/dhclient viof0 to force dhclient update.

Add "pkgin" system (see http://www.unixmen.com/howto-install-pkgin-on-netbsd-6/):

echo 'export "PKG_PATH=http://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -m)/6.1.4/All;${PKG_PATH}"' >> ~/.profile
. ~/.profile
pkg_add -v pkgin
pkgin -y update

Install sudo, enable ’wheel’ group members to sudo without password:

pkgin -y install sudo
sed '/^# %wheel.*NOPASSWD:/s/^# //' /usr/pkg/etc/sudoers > /tmp/s \
  && mv /tmp/s /usr/pkg/etc/sudoers

Add user miles:

useradd -G wheel -m miles
passwd miles # user password '12345', type it 4 times because it's weak

Enable console on serial port:

echo "consdev=auto" >> /boot.cfg

NOTE 1: allows login with QEMU’s -curses but not kernel/console/log messages.

NOTE 2: no need to update /etc/ttys - "console" is on by default.

Shorten boot delay:

sed '/^timeout=/s/=.*/=1/' /boot.cfg > /tmp/b \
    && mv /tmp/b /boot.cfg

Stop the VM with /sbin/halt, tag the QCOW2 file netbsd614.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start netbsd614.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

echo git-base binutils bison perl autoconf \
     automake wget rsync pkg-config bash gperf \
     gettext gmake bmake gtexinfo help2man nano libtool \
     | xargs -n1 pkgin -y install

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/bin.

A start-up init script /etc/rc.d/pretest-guest-init is added, with:

#!/bin/sh
#
# PreTest startup script
# http://www.nongnu.org/pretest/
#

# PROVIDE: guestinit
# REQUIRE: LOGIN

. /etc/rc.subr

name="guestinit"
start_cmd="pretest_guest_init_start"
stop_cmd="pretest_guest_init_stop"

pretest_guest_init_start()
{
        /usr/bin/pretest-guest-init
}

pretest_guest_init_stop()
{
}

load_rc_config $name
run_rc_command "$1"

And is made executable:

chmod a+x /etc/rc.d/pretest-guest-init

PreTest Image Preparation

Stop the VM with /sbin/halt, Enter QEMU’s monitor mode (type CTRL-A, c), Run commit all to save changes to netbsd614.qcow2, Then quit to terminate QEMU.

Tag the netbsd614.qcow2 as ‘build-ready‘. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.6 FreeBSD 10

Download

ISO ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.0/FreeBSD-10.0-RELEASE-amd64-disc1.iso

QEMU/KVM notes

FreeBSD 10 works well with the default QEMU/KVM settings.

See the installation script (build_scripts/build_freebsd10.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

Select reboot to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Install sudo and setup ’wheel’ group to sudo without password:

env ASSUME_ALWAYS_YES=YES pkg update
env ASSUME_ALWAYS_YES=YES pkg install sudo
sed -i.bak '/^# %wheel.*NOPASSWD:/s/^# //' /usr/local/etc/sudoers

Enable Console Login on serial port (see https://www.freebsd.org/doc/handbook/serialconsole-setup.html):

echo 'console="comconsole,vidconsole"' >> /boot/loader.conf
sed -i.bak -e '/^ttyu0/s/off/on/' -e '/^ttyu0/s/dialup/vt100/' /etc/ttys

Reduce bootloader wait time:

echo 'autoboot_delay="1"' >> /boot/loader.conf

Switch to disk-labels instead of disk-devices: The default installation will use device names in /etc/fstab (e.g. /dev/vtbd0p2). Switching to disk-labels will enable changing the block device configuration (e.g. SATA/IDE/Virtio) without booting problems. For more information see https://www.freebsd.org/doc/handbook/geom-glabel.html.

Stop the VM with /sbin/halt, tag the QCOW2 file freebsd10.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start freebsd10.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

echo pkgconf gperf autoconf automake git bison wget rsync \
     help2man nano libtool \
     | xargs -n1 env ASSUME_ALWAYS_YES=YES pkg install

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

A start-up init script /etc/rc.d/pretest-guest-init is added, with:

#!/bin/sh
#
# PreTest startup script
# http://www.nongnu.org/pretest/
#

# PROVIDE: guestinit
# REQUIRE: LOGIN

. /etc/rc.subr

name="guestinit"
start_cmd="pretest_guest_init_start"
stop_cmd="pretest_guest_init_stop"

pretest_guest_init_start()
{
        /usr/local/bin/pretest-guest-init
}

pretest_guest_init_stop()
{
}

load_rc_config $name
run_rc_command "$1"

And is made executable:

chmod a+x /etc/rc.d/pretest-guest-init

PreTest Image Preparation

Run /sbin/halt to stop the machine, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.7 FreeBSD 9.3

Homepage: https://www.freebsd.org/

Version announcement: https://www.freebsd.org/releases/9.3R/announce.html

Download

ISO ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/9.3/FreeBSD-9.3-RELEASE-amd64-bootonly.iso

QEMU/KVM notes

FreeBSD 9.3 works well with the default QEMU/KVM settings.

See the installation script (build_scripts/build_freebsd93.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

Select reboot to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Install sudo and setup ’wheel’ group to sudo without password:

pkg_add -r sudo
sed -i.bak '/^# %wheel.*NOPASSWD:/s/^# //' /usr/local/etc/sudoers

Enable Console Login on serial port (see https://www.freebsd.org/doc/handbook/serialconsole-setup.html):

echo 'console="comconsole,vidconsole"' >> /boot/loader.conf

(NOTE: No need to modify /etc/ttys - ttyu0 will be atuomatically on if console is serial.)

Reduce bootloader wait time:

echo 'autoboot_delay="1"' >> /boot/loader.conf

Switch to disk-labels instead of disk-devices: The default installation will use device names in /etc/fstab (e.g. /dev/vtbd0p2). Switching to disk-labels will enable changing the block device configuration (e.g. SATA/IDE/Virtio) without booting problems. For more information see https://www.freebsd.org/doc/handbook/geom-glabel.html.

Stop the VM with /sbin/halt, tag the QCOW2 file freebsd93.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start freebsd93.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

echo autoconf automake git wget rsync nano help2man libtool \
     | xargs -n1  pkg_add -r

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

A start-up init script /etc/rc.d/pretest-guest-init is added, with:

#!/bin/sh
#
# PreTest startup script
# http://www.nongnu.org/pretest/
#

# PROVIDE: guestinit
# REQUIRE: LOGIN

. /etc/rc.subr

name="guestinit"
start_cmd="pretest_guest_init_start"
stop_cmd="pretest_guest_init_stop"

pretest_guest_init_start()
{
        /usr/local/bin/pretest-guest-init
}

pretest_guest_init_stop()
{
}

load_rc_config $name
run_rc_command "$1"

And is made executable:

chmod a+x /etc/rc.d/pretest-guest-init

PreTest Image Preparation

Run /sbin/halt to stop the machine, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.8 Minix R3.3.0

Home Page: http://www.minix3.org/

Download

Downloaded from: http://www.minix3.org/download/

ISO http://download.minix3.org/iso/minix_R3.3.0-588a35b.iso.bz2

QEMU/KVM notes

First boot must use "-hda" and "-cdrom", can’t use "virtio" during installation. After installation, re-configure as virto, see http://wiki.minix3.org/UsersGuide/RunningOnQemu

MINIX seems to require a VGA adapter (using -nographic -nodefaults prevents successful booting).

See the installation script (build_scripts/build_minixR330.sh) for download and QMEU/KVM commands.

CD Installation/Setup

Hack note: The default MINIX3 setup allocates 128MB for the root partition, with the rest of the space for /usr and /home. For pretest, we prefer a large /tmp directory, and so we modify the setup script to allocate larger root partition.

Setup steps:

Once installation completes, run reboot to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (no password).

Setup serial console (see https://groups.google.com/forum/#!topic/Minix3/cyY9NX6SLeo):

sed '/rootdevname=c0d0p0s0 $/s/$/console=tty00 /' /boot.cfg > /tmp/a \
    && mv /tmp/a /boot.cfg

NOTE 1: allows login with "-curses" but not kernel/console/log messages

NOTE 2: no need to update /etc/ttys - "console"is "on" by default

Shorten boot delay:

sed '/^timeout=/s/=.*/=1/' /boot.cfg > /tmp/b \
    && mv /tmp/b /boot.cfg

Setup non-root user miles:

useradd -m miles
passwd miles     # use 12345, type it 3 times

Stop the VM with halt, tag the QCOW2 file minixR330.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start minixR330.qcow2 with the pretest-run.sh script.

Once booted, login with root (no password).

Install development-related packages (see http://wiki.minix3.org/en/UsersGuide/InstallingBinaryPackages):

pkgin -y update
echo vim openssh git-base binutils clang bison perl \
     autoconf automake wget rsync pkg-config bash \
     gperf gettext gmake bmake help2man nano libtool-info libtoo-base \
     | xargs -n1 pkgin -y install

Minix uses clang but does not have cc by default, add a soft link (for easier ./configure usage):

ln -s $(which clang) /usr/bin/cc
ln -s $(which clang++) /usr/bin/cxx

Replace defective wget with a working older version:

The default wget on MINIX3 exhibits two problems: http://www.perzl.org/aix/index.php?n=FAQs.FAQs#wget-warning-msg and https://groups.google.com/d/msg/minix3/t1G13l4WJcQ/-Y6WfFAXCYkJ.

A temporary work-around is to install an old wget which doesn’t use MSG_PEEK in recv(2).

cd /tmp/
curl -o wget-1.9.tar.gz http://ftp.gnu.org/gnu/wget/wget-1.9.tar.gz
tar -xzf wget-1.9.tar.gz
cd wget-1.9
./configure CC=clang --without-ssl --disable-threads
make
make install
cd ..
rm -r ./wget-1.9*

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /usr/local/etc/rc.

PreTest Image Preparation

Run /sbin/halt to stop the machine, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.9 Debian 7.6

Home Page: http://www.debian.org

Version Announcement: https://www.debian.org/News/2014/20140712

Download

Net-Install ISOs: https://www.debian.org/CD/netinst/

ISO: http://cdimage.debian.org/debian-cd/7.6.0/amd64/iso-cd/debian-7.6.0-amd64-netinst.iso

QEMU/KVM notes

Debian 7.6 installer requires a graphical monitor (doesn’t work with QEMU’s -curses).

See the installation script (build_scripts/build_debian76.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

When installation is complete: choose continue to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Install sudo and setup ’sudo’ group to sudo without password:

apt-get -y install sudo
adduser miles sudo
sed -i -e '/^%sudo/s/ALL$/NOPASSWD: ALL/' /etc/sudoers

Enable Console Login on serial port:

sed -i -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ modprobe.blacklist=cirrus"/' \
       -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ text console=tty0 console=ttyS0,9600n8"/' \
       -e '/GRUB_TERMINAL=/s/=.*/=console/' \
       /etc/default/grub

Reduce bootloader wait time:

sed -i -e '/^GRUB_TIMEOUT=/s/=.*/=1/' /etc/default/grub

Update GRUB boot-loader:

update-grub

Enable serial console login/getty:

sed -i -e '/^#T0/s/^#//' /etc/inittab

NOTE: default Debian installation already contains a commented-out setting, just need to uncomment it.

Stop the VM with shutdown -h now, tag the QCOW2 file debian76.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start debian76.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

apt-get -y update && apt-get -y upgrade
apt-get install -y build-essential ca-certificates \
    autopoint automake autoconf gettext \
    git gawk vim wget rsync gperf pkg-config help2man \
    libtool libncurses-dev

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Run shutdown -H now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.10 Debian Compilers Pack

The Debian Compilers Pack is a virtual machine image pre-configured with multiple compilers and cross-compilers.

Home Page: http://www.emdebian.org/

See Debian Compilers Pack Usage for usage examples.

Setup build tools

Start with the Debian 7.6 ’build-ready’ image (debian76.qcow2) and use the pretest-run.sh script.

Once booted, login with root (password: 12345).

Add emdebian sources:

echo "deb http://ftp.us.debian.org/debian/ squeeze main
deb http://www.emdebian.org/debian/ squeeze main" \
   > /etc/apt/sources.list.d/emdebian.list

Install Emdebian’s keyring and update packages

sudo apt-get install emdebian-archive-keyring
sudo apt-get update

Install Armel GCC cross-compiler

apt-get -y install gcc-4.3-arm-linux-gnueabi \
     libc6-armel-cross \
     libc6-dev-armel-cross \
     libc-dev-bin-armel-cross \
     linux-libc-dev-armel-cross

Install PowerPC GCC cross-compiler

apt-get -y install gcc-4.3-powerpc-linux-gnu g++-4.3-powerpc-linux-gnu \
      libc-bin-powerpc-cross \
      libc-dev-powerpc-cross \
      libc-dev-bin-powerpc-cross \
      linux-libc-dev-powerpc-cross

Install MIPS GCC cross-compiler

apt-get -y install  g++-4.3-mips-linux-gnu gcc-4.3-mips-linux-gnu \
       libc-bin-mips-cross \
       libc-dev-mips-cross \
       libc-dev-bin-mips-cross \
       linux-libc-dev-mips-cross

Install MinGW 32/64 bit cross-compilers

apt-get -y install binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 \
       gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 \
       g++-mingw-w64-i686 g++-mingw-w64-x86-64 \
       mingw-w64-i686-dev mingw-w64-x86-64-dev \
       mingw-w64-tools

Install additional native compilers: clang and tcc (Tiny C Compiler):

apt-get -y install tcc clang

Setup binfmt with QEMU’s static emulation (This will allow running cross-compiled binaries on the host system):

apt-get -y install qemu binfmt-support qemu-user-static
ln -s /usr/arm-linux-gnueabi /etc/qemu-binfmt/arm
ln -s /usr/mips-linux-gnu /etc/qemu-binfmt/mips
ln -s /usr/powerpc-linux-gnu /etc/qemu-binfmt/ppc

Run shutdown -H -h now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’compilers-pack’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.11 gNewSense 3.1

gNewSense is a Free/Libre Operating System, based on GNU/Linux Debian.

gNewSense 3.1 is based on Debian GNU/Linux 6.

Home Page: http://www.gnewsense.org/

Version Announcement: https://savannah.nongnu.org/forum/forum.php?forum_id=7880

Download

ISO http://archive.gnewsense.org/gnewsense-three/gnewsense/dists/parkes/main/installer-amd64/current/images/netboot/mini.iso

QEMU/KVM notes

gNewSense 3.1 installer requires a graphical monitor (doesn’t work with QEMU’s -curses).

See the installation script (build_scripts/build_gnewsense31.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

When installation is complete: choose reboot to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Install sudo and setup ’sudo’ group to sudo without password:

apt-get -y install sudo
adduser miles sudo
sed -i -e '/^%sudo/s/ALL$/NOPASSWD: ALL/' /etc/sudoers

Enable Console Login on serial port:

sed -i -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ modprobe.blacklist=cirrus"/' \
       -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ text console=tty0 console=ttyS0,9600n8"/' \
       -e '/GRUB_TERMINAL=/s/=.*/=console/' \
       /etc/default/grub

Reduce bootloader wait time:

sed -i -e '/^GRUB_TIMEOUT=/s/=.*/=1/' /etc/default/grub

Update GRUB boot-loader:

update-grub

Enable serial console login/getty:

sed -i -e '/^#T0/s/^#//' /etc/inittab

NOTE: default gNewSense installation already contains a commented-out setting, just need to uncomment it.

Stop the VM with shutdown -h now, tag the QCOW2 file gnewsense31.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start gnewsense31.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

apt-get -y update && apt-get -y upgrade
apt-get install -y build-essential ca-certificates \
    autopoint automake autoconf gettext \
    git gawk vim wget rsync gperf pkg-config help2man \
    libtool libncurses-dev

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Run shutdown -H now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.12 CentOS 7.0

Home Page: http://www.centos.org/

Version Announcement: http://lists.centos.org/pipermail/centos-announce/2014-July/020393.html

Download

Downloads: http://www.centos.org/download/

ISO http://mirror.us.leaseweb.net/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-NetInstall.iso

QEMU/KVM notes

CentOS 7 installation requires a graphic monitor, QEMU’s -curses can not be used. Installation also requires a high-resolution monitor (QEMU’s -vga cirrus is sufficient, but -vga std is not).

CentOS 7 installation requires 512 MB of RAM.

See the installation script (build_scripts/build_centos7.sh) for download and QMEU/KVM commands.

CD Installation/Setup

CentOS 7 Installer is graphical. Configure the VM by selecting the options in the following order:

Once installation completes, click the reboot button (bottom-right corner) to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Install sudo and setup ’wheel’ group to sudo without password:

Enable Console on serial port:

sed -i -e '/GRUB_CMDLINE_LINUX=/s/"$/ modprobe.blacklist=cirrus"/' \
       -e '/GRUB_CMDLINE_LINUX=/s/"$/ text console=tty0 console=ttyS0,9600n8"/' \
       /etc/default/grub

Reduce bootloader wait time:

sed -i -e '/^GRUB_TIMEOUT=/s/=.*/=1/' /etc/default/grub

Update GRUB bootloader configuration:

grub2-mkconfig -o /boot/grub2/grub.cfg

Enable sudo without password for ’wheel’ group members:

sed -i '/^# %wheel.*NOPASSWD:/s/^# //' /etc/sudoers

Stop the VM with /sbin/halt, tag the QCOW2 file centos7.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start centos7.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

yum -y update
yum groupinstall -y "Development Tools"
yum -y install wget gperf texinfo nano help2man ncurses-devel

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from Systemd configuration file /usr/lib/systemd/system/pretest-guest-init.service:

# PreTest Guest Init Script
# See http://www.nongnu.org/pretest/
[Unit]
Description=Pretest Guest Init
After=rc-local.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/pretest-guest-init
ExecStop=

[Install]
WantedBy=multi-user.target

Then running systemctl enable pretest-guest-init.service to enable this service at boot time.

PreTest Image Preparation

Run shutdown -H now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.13 CentOS 6.5

Home Page: http://www.centos.org

Version Announcement: http://lists.centos.org/pipermail/centos-announce/2013-December/020032.html

Download

Downloads for 6.5: http://isoredirect.centos.org/centos/6/isos/x86_64/

ISO http://centos.escapemg.com/6.5/isos/x86_64/CentOS-6.5-x86_64-netinstall.iso

QEMU/KVM notes

CentOS 6.5 installation requires a graphic monitor, QEMU’s -curses can not be used.

CentOS 6.5 installation requires 512 MB of RAM (installer will still complain about not enough memory for graphical installer, and switch to textual installer).

See the installation script (build_scripts/build_centos65.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

Once installation completes, run reboot to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 123456).

Change root password to 12345:

printf "12345\n12345\n" | passwd root

Create user ’miles’, add to ’wheel’ group, set password to 12345:

useradd -m -G wheel miles
printf "12345\n12345\n" | passwd miles

Enable %wheel group to sudo without password

sed -i '/^# %wheel.*NOPASSWD:/s/^# //' /etc/sudoers

Enable Console Login on serial port (see http://www.cyberciti.biz/faq/centos-rhel-6-install-serial-console/):

sed -i -e '/hiddenmenu/aterminal serial console' \
       -e '/hiddenmenu/aserial --unit=1 --speed=9600' \
       -e '/splashimage/s/^/# /' \
       -e '/kernel \//s/quiet//' \
       -e '/kernel \//s/$/ console=tty0 console=ttyS0,9600n8/' \
       /boot/grub/grub.conf

Enable root login on serial port

echo "ttyS0" >>  /etc/securetty

NOTE: there’s already /etc/init/serial.conf which auto-starts getty on serial IF it’s the kernel’s console.

Stop the VM with /sbin/halt, tag the QCOW2 file centos65.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start centos65.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

yum -y update
yum groupinstall -y "Development Tools"
yum -y install wget gperf texinfo nano help2man ncurses-devel

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Run halt to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.14 Fedora 20

Home Page: http://fedoraproject.org/

Version Announcement: http://docs.fedoraproject.org/en-US/Fedora/20/html/Release_Notes/index.html

Download

NOTE: for the creation of the Fedora VM, the DVD image was used (not the ’net-install’). With the ’net-install’ version I was not able to complete the installation under QEMU (network issues?).

Downloads: http://fedoraproject.org/en/get-fedora-all

ISO http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/iso/Fedora-20-x86_64-DVD.iso

QEMU/KVM notes

Fedora 20 installation requires a graphic monitor, QEMU’s -curses can not be used. Installation also requires a high-resolution monitor (QEMU’s -vga cirrus is sufficient, but -vga std is not).

Fedora 20 installation requires 512 MB of RAM.

See the installation script (build_scripts/build_fedora20.sh) for download and QMEU/KVM commands.

CD Installation/Setup

Fedora 20 Installer is graphical. Configure the VM by selecting the options in the following order:

Once installation completes, click the reboot button (bottom-right corner) to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Enable Console on serial port:

sed -i -e '/GRUB_CMDLINE_LINUX=/s/"$/ modprobe.blacklist=cirrus"/' \
       -e '/GRUB_CMDLINE_LINUX=/s/"$/ text console=tty0 console=ttyS0,9600n8"/' \
       /etc/default/grub

Reduce bootloader wait time:

sed -i -e '/^GRUB_TIMEOUT=/s/=.*/=1/' /etc/default/grub

Update GRUB bootloader configuration:

grub2-mkconfig -o /boot/grub2/grub.cfg

Enable sudo without password for ’wheel’ group members:

sed -i '/^# %wheel.*NOPASSWD:/s/^# //' /etc/sudoers

Stop the VM with /sbin/halt, tag the QCOW2 file fedora20.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start fedora20.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

yum -y update
yum groupinstall -y "Development Tools"
yum -y install wget gperf gettext-devel texinfo automake autoconf \
               nano help2man ncurses-devel libtool

Use disk-based /tmp (instead of memory-based tmpfs) - For build-automation we use VMs with very little memory. (see http://fedoraproject.org/wiki/Features/tmp-on-tmpfs.)

systemctl mask tmp.mount

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from Systemd configuration file /usr/lib/systemd/system/pretest-guest-init.service:

# PreTest Guest Init Script
# See http://www.nongnu.org/pretest/
[Unit]
Description=Pretest Guest Init
After=rc-local.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/pretest-guest-init
ExecStop=

[Install]
WantedBy=multi-user.target

Then running systemctl enable pretest-guest-init.service to enable this service at boot time.

PreTest Image Preparation

Run shutdown -H now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.15 Ubuntu 14.04.1

Home Page: http://www.ubuntu.com/

Version Announcement: http://fridge.ubuntu.com/2014/07/25/ubuntu-14-04-1-lts-released/

Download

Downloads: http://www.ubuntu.com/download/alternative-downloads

ISO http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/mini.iso

QEMU/KVM notes

Ubuntu 14.04.1 installer requires a graphical monitor (doesn’t work with QEMU’s -curses).

See the installation script (build_scripts/build_ubuntu14.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

When installation is complete: choose continue to reboot with the newly installed system.

First Boot (’clean-install’)

NOTE: logging in with root is disabled; must login with use miles and password 12345 (login with root is enabled below):

Enable sudo without a password:

sudo sed -i -e '/^%sudo/s/ALL$/NOPASSWD: ALL/' /etc/sudoers

NOTE: Initially, this command is executed as user miles, and so requires sudo and will ask for a password.

Enable login as root with password 12345 (see http://askubuntu.com/questions/44418/how-to-enable-root-login):

printf "12345\n12345\n" | sudo passwd root
sudo passwd -u root

Use only Free repositories (main and universe), without non-free repositories (restricted and multiverse):

echo "deb http://us.archive.ubuntu.com/ubuntu/ trusty main
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main
deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-backports main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-backports main universe
deb http://security.ubuntu.com/ubuntu trusty-security main
deb-src http://security.ubuntu.com/ubuntu trusty-security main
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe" \
  | sudo tee /etc/apt/sources.list

Enable booting with serial console:

sudo sed -i -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ modprobe.blacklist=cirrus"/' \
         -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ text console=tty0 console=ttyS0,9600n8"/' \
         -e '/GRUB_TERMINAL=/s/=.*/=console/' \
         /etc/default/grub

Reduce bootloader wait time:

sudo sed -i -e '/^GRUB_TIMEOUT=/s/=.*/=1/' \
         -e '/^#GRUB_HIDDEN_TIMEOUT/s/^#//' \
         -e '/GRUB_HIDDEN_TIMEOUT=/s/=.*/=1/' \
         /etc/default/grub

Update GRUB boot-loader configuration:

sudo update-grub

Create systemd configuration file for login/getty on serial console (see https://help.ubuntu.com/community/SerialConsoleHowto):

echo 'start on stopped rc or RUNLEVEL=[12345]
stop on runlevel [!12345]
respawn
exec /sbin/getty -L 9600 ttyS0 vt102' \
  | sudo tee /etc/init/ttyS0.conf

Stop the VM with /sbin/halt, tag the QCOW2 file ubuntu14.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start ubuntu14.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

apt-get install -y build-essential ca-certificates \
    autopoint automake autoconf gettext \
    git gawk vim wget rsync gperf texinfo pkg-config help2man \
    libtool libncurses-dev nano

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Run shutdown -H now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.16 Trisquel 6.0.1

Trisquel is a Free/Libre Operating System, based on Ubuntu GNU/Linux.

Trisquel 6.0.1 is based on Ubuntu 12.04 LTS.

Home Page: http://trisquel.info/

Version Announcement: http://trisquel.info/en/trisquel-gnulinux-601-lts-upgrade-release

Download

Downloads: http://trisquel.info/en/download

NetInstall ISO http://mirror.fsf.org/trisquel-images/trisquel-netinst_6.0.1_amd64.iso

QEMU/KVM notes

Trisquel 6.0.1 installer requires a graphical monitor (doesn’t work with QEMU’s -curses).

See the installation script (build_scripts/build_trisquel601.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

When installation is complete: choose reboot to reboot with the newly installed system.

First Boot (’clean-install’)

NOTE: logging in with root is disabled; must login with use miles and password 12345 (login with root is enabled below):

Enable sudo without a password:

sudo sed -i -e '/^%sudo/s/ALL$/NOPASSWD: ALL/' /etc/sudoers

NOTE: Initially, this command is executed as user miles, and so requires sudo and will ask for a password.

Enable login as root with password 12345:

printf "12345\n12345\n" | sudo passwd root
sudo passwd -u root

Enable booting with serial console:

sudo sed -i -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ modprobe.blacklist=cirrus"/' \
         -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"$/ text console=tty0 console=ttyS0,9600n8"/' \
         -e '/GRUB_TERMINAL=/s/=.*/=console/' \
         /etc/default/grub

Reduce bootloader wait time:

sudo sed -i -e '/^GRUB_TIMEOUT=/s/=.*/=1/' \
         -e '/^#GRUB_HIDDEN_TIMEOUT/s/^#//' \
         -e '/GRUB_HIDDEN_TIMEOUT=/s/=.*/=1/' \
         /etc/default/grub

Update GRUB boot-loader configuration:

sudo update-grub

Create systemd configuration file for login/getty on serial console (see https://help.ubuntu.com/community/SerialConsoleHowto):

echo 'start on stopped rc or RUNLEVEL=[12345]
stop on runlevel [!12345]
respawn
exec /sbin/getty -L 9600 ttyS0 vt102' \
  | sudo tee /etc/init/ttyS0.conf

Stop the VM with /sbin/halt, tag the QCOW2 file trisquel601.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start trisquel601.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

apt-get install -y build-essential ca-certificates \
    autopoint automake autoconf gettext \
    git gawk vim wget rsync gperf texinfo pkg-config \
    help2man libtool libncurses-dev nano

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from /etc/rc.local.

PreTest Image Preparation

Run shutdown -H now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.17 OpenSUSE 13.1

Home Page: http://www.opensuse.org

Version Announcement: https://news.opensuse.org/2013/11/19/opensuse-13-1-ready-for-action/

Download

ISO http://mirror.metrocast.net/opensuse/distribution/13.1/iso/openSUSE-13.1-NET-x86_64.iso

QEMU/KVM notes

See the installation script (build_scripts/build_opensuse131.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices. Note the following:

Once installation completes, run reboot to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Add user miles to the ’sudo’ group, enable sudo without password:

usermod -g wheel miles
sed -i '/^# %wheel.*NOPASSWD:/s/^# //' /etc/sudoers

Open Port 22 (SSH) in the firewall (see https://en.opensuse.org/SuSEfirewall2), and enable SSH server on start-up:

sed -i '/^FW_SERVICES_EXT_TCP=/s/""/"ssh"/'  /etc/sysconfig/SuSEfirewall2
systemctl enable sshd.service

Enable Console on serial port, reduce boot-loader timeout to 1 second:

sed -i -e '/^GRUB_CMDLINE_LINUX_DEFAULT=/ { s/splash=silent/splash=0/ ; s/quiet// ; s/"$/ text nomodeset console=tty0 console=ttyS0,9600n8"/ }' \
         -e '/^GRUB_TIMEOUT=/s/=.*/=1/' \
         -e '/GRUB_BACKGROUND=/s/^/#/' \
         -e '/GRUB_THEME=/s/^/#/' \
         -e '/GRUB_TERMINAL=/s/=.*/=console/' \
         /etc/default/grub

Update GRUB boot-loader configuration:

grub2-mkconfig -o /boot/grub2/grub.cfg

Stop the VM with /sbin/halt, tag the QCOW2 file opensuse131.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start opensuse131.qcow2 with the pretest_run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

zypper update
zypper install -y gcc gcc-c++
zypper install -y -y git automake autoconf bison xz rsync
zypper install -y makeinfo texinfo gperf make nano help2man \
                  libtool ncurses-devel gettext-tools gettext-runtime

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/local/bin.

pretest-guest-init is started from Systemd configuration file /usr/lib/systemd/system/pretest-guest-init.service:

# PreTest Guest Init Script
# See http://www.nongnu.org/pretest/
[Unit]
Description=Pretest Guest Init
After=rc-local.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/pretest-guest-init
ExecStop=

[Install]
WantedBy=multi-user.target

Then running systemctl enable pretest-guest-init.service to enable this service at boot time.

PreTest Image Preparation

Run shutdown -H now to stop the virtual machine without terminating QMEU, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Build Recipes   [Contents][Index]

5.18 DilOS 1.3.7

DilOS uses Illumos (formally OpenSolaris) kernel with Debian-based packaing system.

Home Page: http://www.dilos.org/

Download

NOTE: This version of pretest DilOS virtual machine is based on a pre-release version 1.3.7.18.

Official Downloads: http://www.dilos.org/download.

Pre-release downloads: http://apt2.dilos.org/dilos/isos/

ISO http://apt2.dilos.org/dilos/isos/dilos-core_install-14-09-19_17-23-1.3.7.18.iso

QEMU/KVM notes

DilOS installer requires 1024MB of RAM.

DilOS requires using QEMU’s -machine pc-1.1 (without it, booting hangs forever).

DilOS seems to require a VGA adapter (using -nographic -nodefaults prevents successful booting).

See the installation script (build_scripts/build_dilso137.sh) for download and QMEU/KVM commands.

CD Installation/Setup

During setup, use the default option for most choices.

Once installation completes, press OK to reboot with the newly installed system.

First Boot (’clean-install’)

Login with root (password: 12345).

Enable serial port console (see http://wiki.openindiana.org/oi/4.6+Remote+Console):

# comment "background", uncomment "terminal"+"serial"
# add ",console=ttya" to "kernel$" line
gsed -i -e '/^background /s/^/# /' \
    -e '/^# *serial /s/^# *//' \
    -e '/^# *terminal /s/^# *//' \
    -e '/kernel\$ /s/$/,console=ttya/' \
   /rpool/boot/grub/menu.lst

Reduce GRUB timeout:

gsed -i -e '/^timeout [0-9]*$/s/ [0-9]*$/ 1/' /rpool/boot/grub/menu.lst

Ugly Hack: Disable ’sun-color’ terminal on the default profile

gsed -i 's/TERM=sun.*$/TERM=xterm/' /etc/profile

User miles is explicitly listed in the sudoers file, add NOPASSWD::

sed -i -e '/^miles/s/ALL$/NOPASSWD: ALL/' /etc/sudoers

Use only Free repositories:

echo "deb http://apt.dilos.org/dilos dilos-unstable main
deb http://apt.dilos.org/dilos dilos-testing main" > /etc/apt/sources.list

Stop the VM with /sbin/halt, tag the QCOW2 file dilos137.qcow2 as ’clean-install’. A pre-build image is available for download, see See Downloads.

Setup build tools (’build-ready’)

Start dilos137.qcow2 with the pretest-run.sh script.

Once booted, login with root (password: 12345).

Install development packages:

apt-get -y update
apt-get -y upgrade
apt-get -y install developer-build-gnu-make developer-versioning-mercurial \
                   git gcc-48 text-gnu-grep developer-gnu-binutils \
                   developer-build-autoconf developer-build-automake \
                   developer-build-pkg-config rsync libncurses-dev \
                   system-library-math-dev system-library-platform-dev \
                   developer-gperf nano help2man libtool libiconv-dev
# Special handling for gnu-gettext: if the first installation fails,
# Fix it with '-f'
apt-get -y install text-gnu-gettext
apt-get -f install

PreTest Scripts

pretest-guest-init and pretest-auto-build-check are installed in /usr/bin.

A start-up init script /etc/init.d/rc.local is added, with:

#!/sbin/sh
# /etc/init.d/rc.local - to be linked into /etc/rc3.d as
# S99rc.local -- a place to hang local startup stuff.
# started after everything else when going multi-user.

case "$1" in
'start')
	    echo "Starting local services...\c"

	    if [ -f /usr/bin/pretest-guest-init ]; then
		    /usr/bin/pretest-guest-init
	    fi
	    echo ""
	    ;;
'stop')
	    echo "$0: Not stopping any services."
	    ;;
*)
	    echo "Usage: $0 { start | stop }"
	    ;;
esac

And is made to run at start-up, with:

chmod a+x /etc/init.d/rc.local
cd /etc/rc3.d/
ln -s ../init.d/rc.local S99rc.local

(See http://www.science.uva.nl/pub/solaris/solaris2/Q3.22.html)

PreTest Image Preparation

Run halt to stop the machine, press CTRL-A,c to switch to QEMU’s monitor, run commit all to save changes, then quit to terminate QEMU.

Save the disk image as ’build-ready’. A pre-build image is available for download, see See Downloads.


Next: , Previous: , Up: Top   [Contents][Index]

6 Downloads

See the PreTest download webpage at http://pretest.nongnu.org/downloads for a list of available VM images.


Next: , Previous: , Up: Top   [Contents][Index]

7 Future Improvements

The current PreTest version is suitable for manual testing. I hope one day to use it as a basis of automated pre-release testing system.

For specific items, see TODO.md file in the project’s repository.


Previous: , Up: Top   [Contents][Index]

Concept Index

Jump to:   A   B   C   D   F   G   I   L   M   N   O   P   Q   S   T   U   V  
Index Entry  Section

A
automating download/build/check procedure: Pretest-auto-build-check script

B
build recipe, CentOS 6.5: CentOS 6.5
build recipe, CentOS 7.0: CentOS 7.0
build recipe, Debian 7.6: Debian 7.6
build recipe, Debian Compilers Pack: Debian Compilers Pack
build recipe, DilOS 1.3.7: DilOS 1.3.7
build recipe, Fedora 20: Fedora 20
build recipe, FreeBSD 10: FreeBSD 10
build recipe, FreeBSD 9.3: FreeBSD 9.3
build recipe, gNewSense 3.1: gNewSense 3.1
build recipe, GNU Hurd: GNU Hurd
build recipe, introduction: Build Recipe Introduction
build recipe, Minix R3.3.0: Minix R3.3.0
build recipe, NetBSD 6.1.4: NetBSD 6.1.4
build recipe, OpenBSD 5.5: OpenBSD 5.5
build recipe, OpenBSD 5.6: OpenBSD 5.6
build recipe, OpenSUSE 13.1: OpenSUSE 13.1
build recipe, Trisquel 6.0.1: Trisquel 6.0.1
build recipe, Ubuntu 14.04.1: Ubuntu 14.04.1
Build Recipes: Build Recipes
Build-Ready VMs: Build-Ready VMs

C
CentOS 6.5, build recipe: CentOS 6.5
CentOS 6.5, CD Installation: CentOS 6.5
CentOS 6.5, download: CentOS 6.5
CentOS 6.5, First Boot: CentOS 6.5
CentOS 6.5, QEMU/KVM notes: CentOS 6.5
CentOS 6.5, Setup build tools: CentOS 6.5
CentOS 7.0, build recipe: CentOS 7.0
CentOS 7.0, CD Installation: CentOS 7.0
CentOS 7.0, download: CentOS 7.0
CentOS 7.0, First Boot: CentOS 7.0
CentOS 7.0, QEMU/KVM notes: CentOS 7.0
CentOS 7.0, Setup build tools: CentOS 7.0
Clean-Install VMs: Clean-Install VMs
Compilers Pack: Debian Compilers Pack Usage
Cross Compilers, usage: Debian Compilers Pack Usage

D
Debian 7.6, build recipe: Debian 7.6
Debian 7.6, CD Installation: Debian 7.6
Debian 7.6, download: Debian 7.6
Debian 7.6, First Boot: Debian 7.6
Debian 7.6, QEMU/KVM notes: Debian 7.6
Debian 7.6, Setup build tools: Debian 7.6
Debian Compilers Pack, build recipe: Debian Compilers Pack
Debian Compilers Pack, Setup build tools: Debian Compilers Pack
DilOS 1.3.7, build recipe: DilOS 1.3.7
DilOS 1.3.7, CD Installation: DilOS 1.3.7
DilOS 1.3.7, download: DilOS 1.3.7
DilOS 1.3.7, First Boot: DilOS 1.3.7
DilOS 1.3.7, QEMU/KVM notes: DilOS 1.3.7
DilOS 1.3.7, Setup build tools: DilOS 1.3.7
Downloads: Downloads

F
Fedora 20, build recipe: Fedora 20
Fedora 20, CD Installation: Fedora 20
Fedora 20, download: Fedora 20
Fedora 20, First Boot: Fedora 20
Fedora 20, QEMU/KVM notes: Fedora 20
Fedora 20, Setup build tools: Fedora 20
FreeBSD 10, build recipe: FreeBSD 10
FreeBSD 10, CD Installation: FreeBSD 10
FreeBSD 10, download: FreeBSD 10
FreeBSD 10, First Boot: FreeBSD 10
FreeBSD 10, QEMU/KVM notes: FreeBSD 10
FreeBSD 10, Setup build tools: FreeBSD 10
FreeBSD 9.3, build recipe: FreeBSD 9.3
FreeBSD 9.3, CD Installation: FreeBSD 9.3
FreeBSD 9.3, download: FreeBSD 9.3
FreeBSD 9.3, First Boot: FreeBSD 9.3
FreeBSD 9.3, QEMU/KVM notes: FreeBSD 9.3
FreeBSD 9.3, Setup build tools: FreeBSD 9.3
Future Improvements: Future Improvements

G
gNewSense 3.1, build recipe: gNewSense 3.1
gNewSense 3.1, CD Installation: gNewSense 3.1
gNewSense 3.1, download: gNewSense 3.1
gNewSense 3.1, First Boot: gNewSense 3.1
gNewSense 3.1, QEMU/KVM notes: gNewSense 3.1
gNewSense 3.1, Setup build tools: gNewSense 3.1
GNU Hurd, build recipe: GNU Hurd
GNU Hurd, CD Installation: GNU Hurd
GNU Hurd, download: GNU Hurd
GNU Hurd, First Boot: GNU Hurd
GNU Hurd, QEMU/KVM notes: GNU Hurd

I
Introduction: Introduction
Introduction, build recipe: Build Recipe Introduction

L
libvirt: LibVirt usage

M
Minix R3.3.0, build recipe: Minix R3.3.0
MINIX R3.3.0, CD Installation: Minix R3.3.0
MINIX R3.3.0, download: Minix R3.3.0
MINIX R3.3.0, First Boot: Minix R3.3.0
MINIX R3.3.0, QEMU/KVM notes: Minix R3.3.0
MINIX R3.3.0, Setup build tools: Minix R3.3.0

N
NetBSD 6.1.4, build recipe: NetBSD 6.1.4
NetBSD 6.1.4, CD Installation: NetBSD 6.1.4
NetBSD 6.1.4, download: NetBSD 6.1.4
NetBSD 6.1.4, First Boot: NetBSD 6.1.4
NetBSD 6.1.4, QEMU/KVM notes: NetBSD 6.1.4
NetBSD 6.1.4, Setup build tools: NetBSD 6.1.4

O
OpenBSD 5.5, build recipe: OpenBSD 5.5
OpenBSD 5.5, CD Installation: OpenBSD 5.5
OpenBSD 5.5, download: OpenBSD 5.5
OpenBSD 5.5, First Boot: OpenBSD 5.5
OpenBSD 5.5, QEMU/KVM notes: OpenBSD 5.5
OpenBSD 5.5, Setup build tools: OpenBSD 5.5
OpenBSD 5.6, build recipe: OpenBSD 5.6
OpenBSD 5.6, CD Installation: OpenBSD 5.6
OpenBSD 5.6, download: OpenBSD 5.6
OpenBSD 5.6, First Boot: OpenBSD 5.6
OpenBSD 5.6, QEMU/KVM notes: OpenBSD 5.6
OpenBSD 5.6, Setup build tools: OpenBSD 5.6
OpenSUSE 13.1, build recipe: OpenSUSE 13.1
OpenSUSE 13.1, CD Installation: OpenSUSE 13.1
OpenSUSE 13.1, download: OpenSUSE 13.1
OpenSUSE 13.1, First Boot: OpenSUSE 13.1
OpenSUSE 13.1, QEMU/KVM notes: OpenSUSE 13.1
OpenSUSE 13.1, Setup build tools: OpenSUSE 13.1

P
Portable Boot-time automation: Pretest-guest-init script
Pre-build VMs: Downloads
Pretest-auto-build-check: Pretest-auto-build-check script
Pretest-guest-init script: Pretest-guest-init script
pretest-run script: Pretest-run script
pretest-run.sh: Pretest-run script

Q
Quick Start: Quick Start

S
Security Considerations: Security Considerations
Sending data from Guest to Host: Sending data from Guest to Host
Serial file: Sending data from Guest to Host
Simple KVM Usage: Simple KVM usage

T
Trisquel 6.0.1, build recipe: Trisquel 6.0.1
Trisquel 6.0.1, CD Installation: Trisquel 6.0.1
Trisquel 6.0.1, download: Trisquel 6.0.1
Trisquel 6.0.1, First Boot: Trisquel 6.0.1
Trisquel 6.0.1, QEMU/KVM notes: Trisquel 6.0.1
Trisquel 6.0.1, Setup build tools: Trisquel 6.0.1

U
Ubuntu 14.04.1, build recipe: Ubuntu 14.04.1
Ubuntu 14.04.1, CD Installation: Ubuntu 14.04.1
Ubuntu 14.04.1, download: Ubuntu 14.04.1
Ubuntu 14.04.1, First Boot: Ubuntu 14.04.1
Ubuntu 14.04.1, QEMU/KVM notes: Ubuntu 14.04.1
Ubuntu 14.04.1, Setup build tools: Ubuntu 14.04.1
Usage: Usage

V
VirtualBox: VirtualBox usage
VM Configuration: VM Configuration

Jump to:   A   B   C   D   F   G   I   L   M   N   O   P   Q   S   T   U   V