Introduction
The dynos test project is a FreeBSD based collection of shell scripts that run dyncall builds and regression tests on different OS and toolchain deployments. This is done natively for the host OS, in OS images run by various emulators (such as QEMU and GXemul), on more or less directly attached devices (e.g. Nintendo DS), or over the network. The platforms are set up in a way that allows fully automated startups, tests and shutdowns.
Although this is used for dyncall builds and tests, exclusively, at the moment, it's flexible enough to build/test/run anything on the supported/featured platforms.
Here's a video of dynOS in action (showing our dyncall build and tests for platforms we were able to emulate - others are built and tested manually):
The list of OS images is constantly growing, the video only shows a subset, namely (in this order):
- Arch Linux 2011.08.19 / x64
- Arch Linux 2011.08.19 / x86
- Debian GNU/Linux 4.1.1-21 / ppc
- Debian GNU/kFreeBSD 6.0 / x64
- Debian GNU/kFreeBSD 6.0 / x86
- DragonFlyBSD 2.10.1 / x64
- DragonFlyBSD 2.0.0 / x86
- Haiku r1 alpha2 r38811 / x86
- NetBSD 4.0.1 / cats (arm)
- NetBSD 5.0.2 / pmax (mipsel,o32)
- OpenBSD 4.0 / x64
- OpenBSD 4.0 / x86
- Plan9 4th edition / x86
- Windows XP / x64
- Windows XP / x86
Platforms supported (at the time of writing) by dynOS that are not in this video:
- 9front Con Vic / x86
- FreeBSD 9.3 / x64
- FreeBSD 11-CURRENT r260099 / raspberrypi (armv6)
- FreeBSD 13-CURRENT r348764 / arm64
- FreeBSD 11.0 / ppc64
- FreeBSD 11.0 / sparc64
- FreeBSD 12.0-CURRENT r333647 / malta (mips64ebhf)
- FreeBSD 12.0-CURRENT r333647 / malta (mips64elhf)
- FreeBSD 12.0-CURRENT r333647 / malta (mipsebhf)
- FreeBSD 12.0-CURRENT r333647 / malta (mipselhf)
- Alpine Linux 3.11.3 / ppc64le
- Alpine Linux 3.11.3 / x86
- Alpine Linux 3.12.3 / arm64
- Gentoo Linux 20191029 / x64
- Gentoo Linux 20191029 / x86
- Haiku r1 beta2 r54154 / x64
- Haiku r1 beta2 r54154 / x86
- Darwin 8.0.1 / x86
- Darwin 8.0.1 / ppc
- Debian GNU/Linux 4.0 r3 / sparc
- Debian GNU/Linux 4.1.1-21 / ppc
- Debian GNU/Linux 7.11 / malta (mips64eb,o32)
- Debian GNU/Linux 9.0 unstable / sparc64
- Debian GNU/Linux 9.0 unstable / malta (mips64el,n64)
- Desmume 0.8 / Nintedo DS (arm) - experimental
- Minix 3.8.1 / x86
- NetBSD 4.0.1 / macppc
- NetBSD 6.0 / sparc
- NetBSD 7.1 / sparc64
- Nexenta (OpenSolaris) 1.0.1-b85 / x64
- Nexenta (OpenSolaris) 1.0.1-b85 / x86
- OmnioOS CE (OpenSolaris) r151036 / x64
- OpenBSD 4.4 / mvme88k - experimental
- OpenBSD 5.8 / sparc
- OpenBSD 5.9 / x64
- OpenBSD 6.0 / sparc64
- OpenBSD 6.3 / x64
- OpenBSD 6.8 / arm64
- Playstation Portable / mips 32-bit
- Raspbian Wheezy (2012-07-15) / raspberrypi (armhf)
- ReactOS 0.3.15 / x86
- Solaris 7.0.1199 / sparc
- Ubuntu GNU/Linux 20.04 / x64
The video is a timelapse of my laptop running the mentioned OS images - sorry for it being so blurry, I used a webcam for recording, which is obviously not the best option...
This project has not been released, yet. For more information (authors, credits, etc.) refer to the dyncall project.