The toy, the toys specialized for frr and for BIRD, the bundle, the sources with the store they compile
from, and four directories of guest images to put in
/var/lib/cloonix/bulk.
cloonix-toy.tar.gz |
cloonix inside its own container. No root, nothing installed: extract,
./setup.sh nemo, ./nemocmd start. The images
go in /var/lib/cloonix/bulk before ./setup.sh:
a bulk made after it is not seen by the toy.
Get started uses this one. |
cloonix-frr-toy.tar.gz |
the toy specialized for frr: the same toy with the
frr_trixie image already in its own bulk, and only frr demos,
the three of routing/ (frrspider, frrspider_bgp, frrmix) and,
in frr_demo/, 21 examples of the FRR User Guide played on
containers. One download, no image to fetch: extract,
./setup.sh nemo, ./nemocmd start, then the
Demo button of the canvas. Any other image goes in
/var/lib/cloonix/bulk before ./setup.sh: a bulk
made after it is not seen by the toy. |
cloonix-bird-toy.tar.gz |
the toy specialized for BIRD: the same toy with the
bird_trixie image already in its own bulk, and only BIRD
demos, the one of routing/ (bird) and, in
bird_demo/, 13 examples of the BIRD User's Guide played on
containers. One download, no image to fetch: extract,
./setup.sh nemo, ./nemocmd start, then the
Demo button of the canvas. Any other image goes in
/var/lib/cloonix/bulk before ./setup.sh: a bulk
made after it is not seen by the toy. |
cloonix-bundle.tar.gz |
the compiled run-time for a machine several people share. Installed once
as root by sudo ./install_cloonfs, under
/usr/libexec/cloonix. |
cloonix-source-100.tar.gz |
the source tree: cloonix, the demos, the image builders of
vm_create, the tests, the two books. The same tree as
github.com/clownix/cloonix;
./doitall at its root builds the bundle,
toy_targz/create_toy_targz.sh the toy. |
cloonix-targz_store-100.tar.gz |
goes with the sources, and is needed before anything compiles: the
open sources cloonix rebuilds, qemu, open vswitch, crun, passt and
patchelf, each at the commit this version was made with, and the base
root file-system. Extracted at the root of the source tree it is the
targz_store directory, which ./doitall reads
instead of the internet. |
To compile, the two together:
wget https://clownix.net/downloads/cloonix-source-100.tar.gz
wget https://clownix.net/downloads/cloonix-targz_store-100.tar.gz
tar xf cloonix-source-100.tar.gz
cd cloonix-source-100
tar xf ../cloonix-targz_store-100.tar.gz
./doitall
The build runs inside a debian trixie machine made by
build_tools/vmbuild/doitall.sh; the chapter on building of the
documentation has the steps. To run cloonix and not
compile it, the toy alone:
wget https://clownix.net/downloads/cloonix-toy.tar.gz
tar xf cloonix-toy.tar.gz
A guest needs an image in /var/lib/cloonix/bulk, the same
directory for the bundle and for the toy. The four directories below hold what
vm_create/allbulk.sh of the source tree builds, from a local mirror
of each distribution, without root.
.tar.gzCopied into bulk as it is. The first add cnt on it extracts
it once, into <image>_targz, for every network and every
user of the machine.
cd /var/lib/cloonix/bulk
wget https://clownix.net/downloads/cnt_bulk/trixie.tar.gz
cloonix cli nemo add cnt c1 eth=1 trixie
The extracted tree is never modified and takes no
--persistent. For an image to change, extract it under another
name: mkdir mytrixie && tar xpf trixie.tar.gz -C mytrixie.
.qcow2.gzGunzipped into bulk. A machine started on it writes to a disk of its own derived from the image, which stays as downloaded.
cd /var/lib/cloonix/bulk
wget https://clownix.net/downloads/kvm_bulk/trixie.qcow2.gz
gunzip trixie.qcow2.gz
cloonix cli nemo add kvm k1 ram=1000 cpu=2 eth=1 trixie.qcow2
The account needs /dev/kvm,
/dev/vhost-net and /dev/net/tun:
step 1.
alpine.tar.gz | alpine linux |
trixie.tar.gz | debian 13; the image of the first demos, cloonix/cnt.py, and of the switching demos |
resolute.tar.gz | ubuntu 26.04 |
rocky.tar.gz | rocky linux |
fedora44.tar.gz | fedora 44 |
arch.tar.gz | arch linux |
tumbleweed.tar.gz | opensuse tumbleweed |
trixie_systemd.tar.gz | debian 13 started with systemd as its init |
Seven base machines with a serial console, then the desktops, each built from the base of its distribution and shown by the canvas in a noVNC panel.
alpine.qcow2.gz | alpine linux |
trixie.qcow2.gz | debian 13; cloonix/kvm.py, and the machine the bundle is built in |
resolute.qcow2.gz | ubuntu 26.04 |
rocky.qcow2.gz | rocky linux |
fedora44.qcow2.gz | fedora 44 |
arch.qcow2.gz | arch linux |
tumbleweed.qcow2.gz | opensuse tumbleweed |
alpine_xfce.qcow2.gz | alpine with the xfce desktop |
trixie_lxde.qcow2.gz | debian 13 with the lxde desktop |
trixie_gnome.qcow2.gz | debian 13 with the gnome desktop |
resolute_gnome.qcow2.gz | ubuntu 26.04 with the gnome desktop |
rocky_gnome.qcow2.gz | rocky with the gnome desktop |
fedora44_gnome.qcow2.gz | fedora 44 with the gnome desktop |
arch_plasma.qcow2.gz | arch with the plasma desktop |
tumbleweed_plasma.qcow2.gz | tumbleweed with the plasma desktop |
Each is the trixie container plus the packages of one subject, and
nothing else. The third column names the demos of demos/ that ask
for it.
| image | trixie plus | demos |
|---|---|---|
frr_trixie.tar.gz | frr | routing/frrspider.py frrspider_bgp.py frrmix.py isis.py address/ipv6.py switching/vxlan.py |
bird_trixie.tar.gz | bird | routing/bird.py |
babel_trixie.tar.gz | babeld | routing/babel.py |
batman_trixie.tar.gz | batctl | routing/batman.py |
ovn_trixie.tar.gz | open vswitch and ovn | switching/ovn.py |
arp_trixie.tar.gz | dsniff (arpspoof) and arping | security/arp.py |
dns_trixie.tar.gz | bind9, frr, the dns query tools | address/dns.py |
unbound_trixie.tar.gz | unbound, the dnssec tools | address/unbound.py |
knot_trixie.tar.gz | knot dns | address/knot.py |
dhcp_trixie.tar.gz | a dhcp server, a relay, two clients | address/dhcp.py wifi/cntkvm_home.py |
ntp_trixie.tar.gz | chrony | address/ntp.py |
wg_trixie.tar.gz | wireguard | security/wg.py cloonix/a2b.py cloonix/snf.py |
strongswan_trixie.tar.gz | strongswan | security/ipsec.py |
libreswan_trixie.tar.gz | libreswan | security/ipsec.py |
openvpn_trixie.tar.gz | openvpn | security/openvpn.py security/tls.py |
tinc_trixie.tar.gz | tinc | security/tinc.py |
proxy_trixie.tar.gz | haproxy, nginx, curl | services/proxy.py cloonix/nginx.py |
squid_trixie.tar.gz | squid | services/squid.py |
smtp_trixie.tar.gz | postfix, a name server, the mail tools | services/smtp.py |
mqtt_trixie.tar.gz | mosquitto and its clients | services/mqtt.py |
asterisk_alpine.tar.gz | alpine with asterisk and a SIP toolbox | services/asterisk.py |
nft_trixie.tar.gz | nftables, the conntrack tools | security/nftables.py cloonix/nat.py |
suricata_trixie.tar.gz | suricata | security/suricata.py |
ebpf_trixie.tar.gz | the bpf toolchain | security/ebpf.py |
radius_trixie.tar.gz | freeradius and a supplicant | security/radius.py wifi/cntkvm_enterprise.py |
vrrp_trixie.tar.gz | keepalived | availability/vrrp.py |
cluster_trixie.tar.gz | corosync and pacemaker | availability/cluster.py |
perf_trixie.tar.gz | the measurement tools | watching/perf.py |
flow_trixie.tar.gz | iperf3, trafgen | the flow tests of debug/ |
python_trixie.qcow2.gz |
the trixie machine plus python3, for a guest that runs
the cloonix client itself | cloonix/realnet.py cloonix/phy.py |
win.qcow2 | a windows disk is prepared once by its owner; the chapter on windows guests of the documentation has the steps |
c8000v.qcow2 | the c8000v image comes from cisco; the three steps of vm_create/cisco prepare it |
freebsd.qcow2 | built from the internet by vm_create/cnt_kvm/kvm_freebsd.sh, there being no local mirror of it |