· erlang relx release

Clean boot in erlang relx release

We use relx to release out erlang applications, and faced a problem:

Our application was crashing at bootup, and therefore we were not able to even open a remote shell on which we can run any correction functions.

One way to solve this (which we’ve been using till now) is to also install erlang on the machine which has the release, and open an erlang shell with the correct library path set.

But, the release generated by relx provides another mechanism which does not need erlang installed.

The solution is: erlang boot scripts.

Detailed information about boot scripts can be found at: http://erlang.org/doc/system_principles/system_principles.html#id59026

relx ships a start_clean.boot boot script with the release, which loads the code for and starts the applications kernel and stdlib.

Sample command:

${RELEASE_DIR}/myapplication/bin/myapplication console_boot start_clean