Hot code loading
From Openmoko
(→Start erlang as a node) |
(→Start erlang as a node) |
||
Line 13: | Line 13: | ||
− | Every erlang node in your network should have a unique name, and a common cookie. | + | Every erlang node in your network should have a unique name, and a common cookie. Start an erlang node on your host PC with a unique name and the common cookie: |
− | + | <pre> | |
+ | erl -setcookie SFEWRG34AFDSGAFG35235 -name 'host@192.168.0.200' | ||
+ | </pre> | ||
From your host erlang console try | From your host erlang console try | ||
Line 21: | Line 23: | ||
</pre> | </pre> | ||
The response should be 'pong' if you have a successful connection - if not the response is 'pang' | The response should be 'pong' if you have a successful connection - if not the response is 'pang' | ||
+ | |||
+ | Then try the shell command | ||
+ | <pre> | ||
+ | nodes(). | ||
+ | </pre> | ||
+ | The response should be a list of all known nodes in your network. | ||
=== Load the code === | === Load the code === | ||
To carry out Hot Code Loading you start a an erlang node on your host (remember to set a different name and to use the same cookie) and from the host erlang shell type nl(your_modulename). Substitute your_modulename with the name of the module you want to load into the virtual machine. | To carry out Hot Code Loading you start a an erlang node on your host (remember to set a different name and to use the same cookie) and from the host erlang shell type nl(your_modulename). Substitute your_modulename with the name of the module you want to load into the virtual machine. |
Revision as of 20:31, 5 December 2008
To change a running system
Start erlang as a node
This is my /etc/X11/Xsession.d/80zhone. As you can see the erlang node's got a name "-sname moko" (a running erlang virtual machine is called an erlang node). And it's got a cookie "-setcookie SFEWRG34AFDSGAFG35235".
#!/bin/sh -e #zhone > /tmp/zhone.log 2>&1 & /home/root/cean/start.sh -setcookie SFEWRG34AFDSGAFG35235 -name neo@192.168.0.202 -noshell -pa /home/root/trunk -s main start > debug.txt renice -3 $! exit 0
Every erlang node in your network should have a unique name, and a common cookie. Start an erlang node on your host PC with a unique name and the common cookie:
erl -setcookie SFEWRG34AFDSGAFG35235 -name 'host@192.168.0.200'
From your host erlang console try
net_adm:ping('neo@192.168.0.202').
The response should be 'pong' if you have a successful connection - if not the response is 'pang'
Then try the shell command
nodes().
The response should be a list of all known nodes in your network.
Load the code
To carry out Hot Code Loading you start a an erlang node on your host (remember to set a different name and to use the same cookie) and from the host erlang shell type nl(your_modulename). Substitute your_modulename with the name of the module you want to load into the virtual machine.