Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
• Introduction: | What this Pretest is all aobut | |
• Quick Start: | Try it out now | |
• VM Configuration: | Using PreTest images | |
• Usage: | Effective use of these VMs | |
• Build Recipes: | How each VM was built | |
• Downloads: | Available downloads of pre-built VMs | |
• Future Improvements: | The TODO List | |
• Concept Index: | The Index |
Next: Quick Start, Previous: Top, Up: Top [Contents][Index]
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: VM Configuration, Previous: Introduction, Up: Top [Contents][Index]
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: Usage, Previous: Quick Start, Up: Top [Contents][Index]
This version of pretest provides two types of pre-built virtual-macihne images:
Minimal configuration, after a clean install from a CD ISO image, using (mostly) default settings for the installation process.
Based on the ’clean-install’ images, with additional packages installed to
enable compilation of GNU software (or other autotool
-based pacakges).
• Clean-Install VMs: | Minimally configurated VMs | |
• Build-Ready VMs: | GNU-autotools configured VMs | |
• Security Considerations: | Security Considerations |
Next: Build-Ready VMs, Previous: VM Configuration, Up: VM Configuration [Contents][Index]
Pretest’s virtual machine in ’clean-install’ state are configured with the following items:
sudo
without a password (except MINIX)
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: Build Recipes, Previous: Clean-Install VMs, Up: VM Configuration [Contents][Index]
Pretest’s virtual machine in ’build-ready’ state are configured with the following items (in addition to all ’Clean-Install VMs’ settings):
gcc
or clang
)
make
, and optionally gmake
(if make
is not GNU make)
automake
, autoconf
, authoreconf
)
makeinfo
)
pkg-config
, gperf
, libtool
, help2man
git
, rync
, wget
, xz
GNU Hello
:
cd /tmp wget http://ftp.gnu.org/gnu/hello/hello-2.9.tar.gz tar xzf hello-2.9.tar.gz cd hello-2.9 ./configure && make && make check
GNU Coreutils
:
cd /tmp wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.23.tar.xz xzcat coreutils-8.23.tar.xz | tar -xf - cd coreutils-8.23 ./configure && make && make check
NOTE: On some OSes (e.g. MINIX, NetBSD6.1.4) compilation fails half-way through.
cd /tmp git clone git://git.sv.gnu.org/datamash cd datamash ./bootstrap && ./configure && make
NOTE: Building from git (using gnuli’s bootstrap) usually requires a recent version of autotools programs which are not always available.
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
Which will download the tarball (or clone the GIT repository), then run
bootstrap
(if needed), configure
, make
,
make check
.
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: Usage, Previous: Build-Ready VMs, Up: VM Configuration [Contents][Index]
The pre-built VM images are configured with very little security in mind.
sudo
commands without requiring a password.
These pre-built images must not be used for any production or public servers, or as a basis for such servers.
Next: Build Recipes, Previous: VM Configuration, Up: Top [Contents][Index]
• Simple KVM usage: | Using images directly with KVM | |
• Pretest-run script: | Using images with pretest-run.sh script | |
• Pretest-auto-build-check script: | Automating download/build/check procedure | |
• Pretest-guest-init script: | Boot-time automation | |
• Sending data from Guest to Host: | Using serial port to export data | |
• LibVirt usage: | Using images with libVirt | |
• VirtualBox usage: | Using images with VirtualBox | |
• Debian Compilers Pack Usage: | Testing multiple compilers |
Next: Pretest-run script, Previous: Usage, Up: Usage [Contents][Index]
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: Pretest-auto-build-check script, Previous: Simple KVM usage, Up: Usage [Contents][Index]
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:
Show help screen
Use N MBs of ram (default is 384MB)
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
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
).
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).
Mount FILE.ISO as an IDE CDROM drive. To be used with pretest-guest-init.
Use CURSES VGA text interface (QEMU’s -curses option).
Default is no VGA adapter, only serial consoele.
Use VGA Display mode (QEMU’s -vga cirrus).
Default is no VGA adapter, only serial consoele.
Fork QMEU process in the background (QEMU’s -daemonize).
Default is to stay in the foreground. Implies -P.
Write PID file (QEMU’s -pidfile).
The file will be named FILE.pid (based on input QCOW2 filename).
Next: Pretest-guest-init script, Previous: Pretest-run script, Up: Usage [Contents][Index]
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:
Show help screen
Add PARAM as a parameter to the configure
step.
Add PARAM as a parameter to the make
step.
Add NAME=VALUE
as an environment variable to all commands.
When cloning a git
repository, check out branch BRANCH instead
of the default master branch.
The script does the following:
gzip
,bzip2
,xz
are supported). Or,
./bootstrap
./configure
make
make check
Next: Sending data from Guest to Host, Previous: Pretest-auto-build-check script, Up: Usage [Contents][Index]
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:
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: LibVirt usage, Previous: Pretest-guest-init script, Up: Usage [Contents][Index]
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: VirtualBox usage, Previous: Pretest-run script, Up: Usage [Contents][Index]
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:
virt-install
that the
disk image is already installed.
virt-install
not to wait
for the VM to finish the initial setup - as PreTest images are pre-configured
and ready to use.
$ ls -l *.qcow2 total 1120592 -rw-rw-r-- 1 libvirt-qemu kvm 1199767552 Dec 6 17:40 freebsd101.build-ready.qcow2
man virt-install
for more options.
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: Debian Compilers Pack Usage, Previous: LibVirt usage, Up: Usage [Contents][Index]
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:
VBoxManage modifyvm MyVM1 --ioapic on
VBoxManage modifyvm MyVM1 --ioapic on --nictype1 82540EM
VBoxManage modifyvm MyVM1 \ --uart1 0x03f8 4 \ --uartmode1 server /tmp/myvm1.sock
Then, after starting the VM, connect to the serial console with:
socat unix:/tmp/myvm1.sock -
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: Build Recipes, Previous: VirtualBox usage, Up: Usage [Contents][Index]
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: Future Improvements, Previous: Usage, Up: Top [Contents][Index]
• Build Recipe Introduction: | Information relevant to all build recipes | |
• GNU Hurd: | Preparing GNU Hurd VM | |
• OpenBSD 5.5: | Installing OpenBSD 5.5 VM | |
• OpenBSD 5.6: | Installing OpenBSD 5.6 VM | |
• NetBSD 6.1.4: | Installing NetBSD 6.1.4 VM | |
• FreeBSD 10: | Installing FreeBSD 10 VM | |
• FreeBSD 9.3: | Installing FreeBSD 9.3 VM | |
• Minix R3.3.0: | Installing Minix R3.3.0 VM | |
• Debian 7.6: | Installing Debian 7.6 VM | |
• Debian Compilers Pack: | Installing many compilers (and cross-compilers) VM | |
• gNewSense 3.1: | Installing gNewSense 3.1 VM | |
• CentOS 7.0: | Installing CentOS 7.0 VM | |
• CentOS 6.5: | Installing CentOS 6.5 VM | |
• Fedora 20: | Installing Fedora 20 VM | |
• Ubuntu 14.04.1: | Installing Ubuntu 14.04.1 VM | |
• Trisquel 6.0.1: | Installing Trisquel 6.0.1 VM | |
• OpenSUSE 13.1: | Installing OpenSUSE 13.1 VM | |
• DilOS 1.3.7: | Installing DilOS 1.3.7 VM |
Next: GNU Hurd, Previous: Build Recipes, Up: Build Recipes [Contents][Index]
Build recipes follow a common structure:
General Information (such as Home page and Download page) for this operating system.
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.
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.
Notes regarding special setup/installation options required during the setup process. In the future, this step should be automated, see See Future Improvements.
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.
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.
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.
This section lists how the VM image files (the downloadable *.qcow2.xz files) were packaged.
Next: OpenBSD 5.5, Previous: Build Recipe Introduction, Up: Build Recipes [Contents][Index]
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.
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.
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
There are no installation instructions, the GNU Hurd/Debian image is already installed.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: OpenBSD 5.6, Previous: GNU Hurd, Up: Build Recipes [Contents][Index]
OpenBSD 5.5 Homepage: http://www.openbsd.org/55.html.
ISO : ftp://mirrors.nycbug.org/pub/OpenBSD/5.5/amd64/install55.iso
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.
During setup, select the following options:
NOTE: I chose ftp as installing packages from CD failed with ’dc_attach’ errors (and reboot). YMMV.
+bsd.mp
-game55.tgz
-xfont55.tgz
-xserv55.tgz
-xshare55.tgz
When installation is complete, type "Reboot", to reboot into the newly installed system (from disk).
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: NetBSD 6.1.4, Previous: OpenBSD 5.5, Up: Build Recipes [Contents][Index]
OpenBSD 5.6 Homepage: http://www.openbsd.org/56.html.
ISO : http://mirror.esc7.net/pub/OpenBSD/5.6/amd64/install56.iso
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.
During setup, select the following options:
OpenBSD area: 64-10474380; size: 5.0G; free: 0.0G # size offset fstype [fsize bsize cpg] a: 4.3G 64 4.2BSD 2048 16384 1 # / b: 0.7G 9000064 swap c: 5.0G 0 unused
See http://scie.nti.st/2013/3/4/how-to-resize-an-openbsd-root-partition/ for information about changing OpenBSD paritioning.
When installation is complete, type "Reboot", to reboot into the newly installed system (from disk).
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: FreeBSD 10, Previous: OpenBSD 5.6, Up: Build Recipes [Contents][Index]
NetBSD Homepage: http://www.netbsd.org.
NetBSD 6.1.4 Release Announcement: http://netbsd.org/releases/formal-6/NetBSD-6.1.4.html.
ISO: ftp://iso.netbsd.org/pub/NetBSD/iso/6.1.4/NetBSD-6.1.4-amd64.iso
Notes:
See the installation script (build_scripts/build_netbsd614.sh) for download and QMEU/KVM commands.
During setup, use the default option for most choices. Note the following:
gcc
in /usr/bin/gcc.
Installing GCC later proved to be challenging (fixes are welcomed).
When back in the shell, run reboot
.
After reboot, system will boot from installed disk.
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.
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-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
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: FreeBSD 9.3, Previous: NetBSD 6.1.4, Up: Build Recipes [Contents][Index]
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.
During setup, use the default option for most choices. Note the following:
Select reboot to reboot with the newly installed system.
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.
# cat /etc/fstab Device Mountpoint FStype Options Dump Pass /dev/vtbd0p2 / ufs rw 1 1 /dev/vtbd0p3 none swap sw 0 0 # mount /dev/vtbd0p2 on / (ufs, local, read-only) devfs on /dev (devfs, local, multilabel) # glabel status Name Status Components gptid/cc85fa99-437a-11e4-9d3e-59ab471cbeae N/A vtbd0p1 ufsid/542204ac6d0b964a N/A vtbd0p2 gptid/cc86ab53-437a-11e4-9d3e-59ab471cbeae N/A vtbd0p2 gptid/cc874cab-437a-11e4-9d3e-59ab471cbeae N/A vtbd0p3
glabel label ptswap /dev/vtbd0p3 glabel label ptroot /dev/vtbd0p2
mount -o rw / echo 'geom_label_load="YES"' >> /boot/loader.conf sed -i.bak -e 's;vtbd0p2;label/ptroot;' -e 's;vtbd0p3;label/ptswap;' /etc/fstab
reboot
to reboot - verify the reboot succeeded.
mount
to ensure the label are used. If the physical device name appears (e.g.
/dev/vtbd0p2 instead of /dev/label/ptroot), something went wrong.
# mount dev/label/ptroot on / (ufs, local, journaled soft-updates) devfs on /dev (devfs, local, multilabel)
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.
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-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
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: Minix R3.3.0, Previous: FreeBSD 10, Up: Build Recipes [Contents][Index]
Homepage: https://www.freebsd.org/
Version announcement: https://www.freebsd.org/releases/9.3R/announce.html
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.
During setup, use the default option for most choices. Note the following:
Select reboot to reboot with the newly installed system.
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.
# cat /etc/fstab Device Mountpoint FStype Options Dump Pass /dev/vtbd0p2 / ufs rw 1 1 /dev/vtbd0p3 none swap sw 0 0 # mount /dev/vtbd0p2 on / (ufs, local, read-only) devfs on /dev (devfs, local, multilabel) # glabel status Name Status Components gptid/cc85fa99-437a-11e4-9d3e-59ab471cbeae N/A vtbd0p1 ufsid/542204ac6d0b964a N/A vtbd0p2 gptid/cc86ab53-437a-11e4-9d3e-59ab471cbeae N/A vtbd0p2 gptid/cc874cab-437a-11e4-9d3e-59ab471cbeae N/A vtbd0p3
glabel label ptswap /dev/vtbd0p3 glabel label ptroot /dev/vtbd0p2
mount -o rw / echo 'geom_label_load="YES"' >> /boot/loader.conf sed -i.bak -e 's;vtbd0p2;label/ptroot;' -e 's;vtbd0p3;label/ptswap;' /etc/fstab
reboot
to reboot - verify the reboot succeeded.
mount
to ensure the label are used. If the physical device name appears (e.g.
/dev/vtbd0p2 instead of /dev/label/ptroot), something went wrong.
# mount dev/label/ptroot on / (ufs, local, journaled soft-updates) devfs on /dev (devfs, local, multilabel)
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.
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-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
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: Debian 7.6, Previous: FreeBSD 9.3, Up: Build Recipes [Contents][Index]
Home Page: http://www.minix3.org/
Downloaded from: http://www.minix3.org/download/
ISO http://download.minix3.org/iso/minix_R3.3.0-588a35b.iso.bz2
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.
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:
sed '/^ROOTMB=128/s/=128/=2048/' /bin/setup > /bin/mysetup chmod a+x /bin/mysetup
This will create a new setup script (/bin/mysetup) which defaults to a large (2GB) root partition.
/bin/mysetup
Once installation completes, run reboot
to reboot with the
newly installed system.
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /usr/local/etc/rc.
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: Debian Compilers Pack, Previous: Minix R3.3.0, Up: Build Recipes [Contents][Index]
Home Page: http://www.debian.org
Version Announcement: https://www.debian.org/News/2014/20140712
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
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.
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.
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: CentOS 7.0, Previous: Debian 7.6, Up: Build Recipes [Contents][Index]
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.
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: CentOS 7.0, Previous: Debian Compilers Pack, Up: Build Recipes [Contents][Index]
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
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.
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.
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: CentOS 6.5, Previous: gNewSense 3.1, Up: Build Recipes [Contents][Index]
Home Page: http://www.centos.org/
Version Announcement: http://lists.centos.org/pipermail/centos-announce/2014-July/020393.html
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
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.
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.
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.
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-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.
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: Ubuntu 14.04.1, Previous: CentOS 7.0, Up: Build Recipes [Contents][Index]
Home Page: http://www.centos.org
Version Announcement: http://lists.centos.org/pipermail/centos-announce/2013-December/020032.html
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
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.
During setup, use the default option for most choices. Note the following:
Once installation completes, run reboot
to reboot with the
newly installed system.
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: Ubuntu 14.04.1, Previous: CentOS 6.5, Up: Build Recipes [Contents][Index]
Home Page: http://fedoraproject.org/
Version Announcement: http://docs.fedoraproject.org/en-US/Fedora/20/html/Release_Notes/index.html
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
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.
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.
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.
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-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.
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: Trisquel 6.0.1, Previous: Fedora 20, Up: Build Recipes [Contents][Index]
Home Page: http://www.ubuntu.com/
Version Announcement: http://fridge.ubuntu.com/2014/07/25/ubuntu-14-04-1-lts-released/
Downloads: http://www.ubuntu.com/download/alternative-downloads
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.
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.
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: DilOS 1.3.7, Previous: Ubuntu 14.04.1, Up: Build Recipes [Contents][Index]
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
Downloads: http://trisquel.info/en/download
NetInstall ISO http://mirror.fsf.org/trisquel-images/trisquel-netinst_6.0.1_amd64.iso
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.
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.
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.
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-guest-init and pretest-auto-build-check are installed in /usr/local/bin.
pretest-guest-init is started from /etc/rc.local.
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: DilOS 1.3.7, Previous: Trisquel 6.0.1, Up: Build Recipes [Contents][Index]
Home Page: http://www.opensuse.org
Version Announcement: https://news.opensuse.org/2013/11/19/opensuse-13-1-ready-for-action/
ISO http://mirror.metrocast.net/opensuse/distribution/13.1/iso/openSUSE-13.1-NET-x86_64.iso
See the installation script (build_scripts/build_opensuse131.sh) for download and QMEU/KVM commands.
During setup, use the default option for most choices. Note the following:
Once installation completes, run reboot
to reboot with the
newly installed system.
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.
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-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.
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: Downloads, Previous: OpenSUSE 13.1, Up: Build Recipes [Contents][Index]
DilOS uses Illumos (formally OpenSolaris) kernel with Debian-based packaing system.
Home Page: http://www.dilos.org/
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
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.
During setup, use the default option for most choices.
vioif0
: yes
vioif0
: yes
vioif0
: no
Once installation completes, press OK to reboot with the newly installed system.
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.
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-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)
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: Future Improvements, Previous: Build Recipes, Up: Top [Contents][Index]
See the PreTest download webpage at http://pretest.nongnu.org/downloads for a list of available VM images.
Next: Concept Index, Previous: Downloads, Up: Top [Contents][Index]
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: Future Improvements, Up: Top [Contents][Index]
Jump to: | A B C D F G I L M N O P Q S T U V |
---|
Jump to: | A B C D F G I L M N O P Q S T U V |
---|