dynblog - dev blog and more dynblog: home - dyncall University of Göttingen Institute for Statistics and Econometrics at the University of Göttingen 3ds Max, Maya Plugin Development - Potion Studios

Blog - dyncall and more

Final stretches to 0.9, and tests, tests, tests...

Feb 09, 2015 by Tassilo

dyncall libraryWe are working on the last touches for the 0.9 release, should be out in the next few days. Quite a few things happened in the meantime, Erlang binding (thanks Erik), complete PPC64 support (thanks Masanori), support for ARM64 a relatively new, important platform in our more and more mobile world, and a lot of cleaning up and focusing on our tests.

Speaking of tests: Building dyncall on and testing it on all its supported platforms is quite challenging, and even our nearly completely automated way is not covering everything, due to constantly evolving (and breaking) emulators, a testing cycle of multiple hours (for a library that is a few kilobytes), or simply bad code changes. But even for what it does cover, nothing beats real hardware - so as a bit as a blast from the past, and proof of concept of dyncall still running on the PSP's MIPS R4000:

call_suite test on PSP

Stay tuned, 0.9 should be out very soon!

dyncall 0.8 is out!

Mar 27, 2014 by Tassilo

dyncall libraryVersion 0.8 of dyncall is finally out, it comes with many improvements and extended platform support, while still keeping it's clean interface. It should be a drop-in replacement for people switching to 0.8. Highlights of this release (for full list, see the changelog):

Get dyncall 0.8 here!

New Go bindings

Mar 01, 2014 by Tassilo

dyncall libraryChecked in bindings for Go! The interface is still experimental and subject to change, but fully usable.

Confirmed support for FreeBSD/armv6 - tested on Raspberry Pi

Jan 08, 2014 by Tassilo

dyncall libraryMore support for the Raspberry Pi! After the already working and tested Linux version, the upcoming 0.8 release was successfully built and tested on the Pi running FreeBSD 10-CURRENT and 11-CURRENT! A FreeBSD 11-CURRENT r260099 is currently used for fully automated testing of this version.

ReactOS support

Nov 14, 2013 by Tassilo

dyncall libraryWe support ReactOS in the upcoming 0.8 release! The RosBE (ReactOS Build Environment), a MinGW toolchain can be used to build dyncall. All tests build and run successfully on ReactOS 0.3.15 x86!

Upcoming 0.8 release

Sep 27, 2013 by Tassilo

dyncall libraryWe are about to finish up the upcoming 0.8 release, which has been way overdue. It will include ARMv7/Thumb-2 support (e.g. for iPhone >= 4), a drastically simplified build system for Unix-like platforms, bug fixes, updates to the dyncall manual, etc..

We'll hope to get it out as soon as possible. Send us patches of things you'd like to see with this release!

9front support

Nov 16, 2012 by Tassilo

dyncall libraryI got around testing dyncall on 9front, yesterday, and it works pretty much out of the box. 9front will be another OS supported by our automated test framework dynOS, from now on. If you like Plan 9, you'll love 9front, give it a try!

dyncall on 9front

Support for Raspberry Pi in dyncall (and dynOS)

Aug 23, 2012 by Tassilo

dyncall libraryDaniel ported dyncall to the Raspberry Pi a few weeks ago. This means we support armhf, now, and this will be part of the 0.8 release. I was able to get it under fully automated tests, as well, running Raspbian as a new OS supported by our test framework, dynOS:

dyncall on raspbian

Booting from USB or network (PXE) without BIOS support

Jun 05, 2012 by Tassilo

dyncall libraryRecently, I needed to setup a FreeBSD embedded box - the board had a single SATA interface, only. Having a hard drive hooked up to it, and no access to a CD-drive, I was left with booting the install medium from either USB or PXE (or somehow getting the system on the hard drive, directly). Unfortunately, the rather old BIOS didn't allow me to select neither USB nor PXE as boot options.
Since the hard drive didn't have anything on it, I obviously wasn't able to boot from it, so hooking it up to a different machine and getting FreeBSD somehow on it seemed to be the only option. Interestingly, I didn't even have to go that far. :)

As it turns out, all I needed was a valid MBR on the drive that would allow me to boot from either PXE or USB, and boot0 did exactly that. I honestly don't understand exactly how boot0 detects those devices, but using the following (within a FreeBSD environment, where <device> is the device name of the hard drive we want to put in the embedded machine, later) does the trick:

boot0cfg -B <device>

Putting the drive back into the embedded box, and firing it up, displayed boot0's spartan boot menu and allowed me to boot from an attached USB drive (which had FreeBSD's "memstick" image on it) and even PXE! I guess this works with other boot managers, as well, don't know... So, in the end I was able to boot off the hard drive with boot0 which in turn allowed me to pass the boot process on to my USB device, to then install FreeBSD to the former.
If not having access to a FreeBSD machine with boot0cfg, one could even use fdisk to write the boot0 template (download FreeBSD and get /boot/boot0, then write it using fdisk), e.g. within OpenBSD (didn't check other fdisk versions):

fdisk -f <boot0_template_file> -u <device>

How to autologin on different operating systems

May 09, 2012 by Tassilo

dyncall libraryWhen I started putting together the first OS images for dynOS, our automated dyncall testing environment, the goal was to get some privileged user to login automatically (in our case the superuser), then to trigger the build process and finally the tests, etc.. Unfortunately, it is not as straightforward as it sounds - and maybe it shouldn't be, as autologins are obviously bad in terms of security. Sometimes it's pretty useful and safe to make use of them, though, as in exactly this case: virtual machines used for testing.
Below is a simple list of some operating systems and how to set them up to log in automatically - I'm pretty sure there are better ways for some of them, the list just reflects what worked well enough for me:


Replace <mountpoint> below with whatever directory name you feel like; same goes for using the correct device (<drive> - was sdC0 in my case).
I only tested this on x86, don't know about other architectures.





GNU (most Linux distributions, Debian kFreeBSD, ...)



Finally, a blog

May 08, 2012 by Tassilo

dyncall libraryWell, what should I say? Getting to know many different operating systems and processor architectures over the last few years while working on dyncall was quite an experience. Starting and running a blog about all of that was way overdue. This will be about sharing some of the interesting tidbits we came across, putting ideas out, posting upcoming things, etc..
Excited! ;)