User:Meeg: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
==Installing Cerebro==
==Installing Cerebro==
<!--
===Using Cerebro package===
You must have joyride-2130 or newer ("cat /etc/issue" to check).


In a terminal:
<pre>
su -
wget http://web.mit.edu/meeg/Public/setup_cerebro.sh
bash setup_cerebro.sh
</pre>
Reboot.

"cerebroui" will start the UI.

===Using install.sh===
-->
In a terminal:
In a terminal:
<pre>
<pre>
Line 25: Line 10:
</pre>
</pre>
Reboot.
Reboot.
<!--
"./cerebroui" from your home directory will start the UI.


==init.d script==
==init.d script==
The current init.d script fails to stop Cerebro because the commands in /etc/rc.d/init.d/functions cannot handle the full string "cerebro -p -i msh0 &". The following is a quick fix for this problem:
The current init.d script (/root/cerebro/bin/cerebro.init) fails to stop Cerebro because some of the commands in /etc/rc.d/init.d/functions cannot handle the full string "cerebro -p -i msh0 &". The following is a quick fix for this problem:


<pre>
<pre>
Line 40: Line 23:
> killproc $prog
> killproc $prog
</pre>
</pre>

-->
==Notes==
==Notes==
The Cerebro package in the latest Joyride builds (joyride-2130 or later) is largely equivalent to what you get by manually installing Cerebro from the git repository.
The Cerebro package in the latest Joyride builds (joyride-2130 or later) is largely equivalent to what you get by manually installing Cerebro from the git repository.
Line 54: Line 37:


setup_cerebro.sh in my public is a script based on install.sh (cut out the actions redundant with the package and added the git stuff) that you can use to do this. Note that if you do this, cerebroui will be in your path, whereas install.sh puts it in your home directory.
setup_cerebro.sh in my public is a script based on install.sh (cut out the actions redundant with the package and added the git stuff) that you can use to do this. Note that if you do this, cerebroui will be in your path, whereas install.sh puts it in your home directory.
<!--
===Using Cerebro package===
You must have joyride-2130 or newer ("cat /etc/issue" to check).


In a terminal:
==My keeper.py==
<pre>
su -
wget http://web.mit.edu/meeg/Public/setup_cerebro.sh
bash setup_cerebro.sh
</pre>
Reboot.

"cerebroui" will start the UI.
-->
==keeper.py==
self.buddy['ip'] = os.popen('ifconfig eth0|grep "inet addr"|cut -d: -f2|cut -d\ -f1').readline().strip()
self.buddy['ip'] = os.popen('ifconfig eth0|grep "inet addr"|cut -d: -f2|cut -d\ -f1').readline().strip()

Revision as of 09:30, 21 July 2008

Installing Cerebro

In a terminal:

su -
yum -y install git python-setuptools-devel.noarch
git clone git://dev.laptop.org/projects/cerebro
cd cerebro
./install.sh

Reboot.

init.d script

The current init.d script (/root/cerebro/bin/cerebro.init) fails to stop Cerebro because some of the commands in /etc/rc.d/init.d/functions cannot handle the full string "cerebro -p -i msh0 &". The following is a quick fix for this problem:

diff newinit cerebro/bin/cerebro.init 
31,32c31,32
<         if [ -n "`pidof -x ${prog%%\ *}`" ] ; then
<             killproc ${prog%%\ *}
---
>         if [ -n "`pidfileofproc $prog`" ] ; then
>             killproc $prog

Notes

The Cerebro package in the latest Joyride builds (joyride-2130 or later) is largely equivalent to what you get by manually installing Cerebro from the git repository.

Version of your installed Cerebro package: "yum info cerebro"

Version in git: in your /root/cerebro folder, "git-log"

Assuming these match, the following things (needed for the study but not for Cerebro functionality) are done by /root/cerebro/install.sh but not by the Cerebro package:

  • Add ypod's ssh key to your authorized_keys
  • Set Cerebro to start at boot
  • Add trackclient.py to your rc.local

setup_cerebro.sh in my public is a script based on install.sh (cut out the actions redundant with the package and added the git stuff) that you can use to do this. Note that if you do this, cerebroui will be in your path, whereas install.sh puts it in your home directory.

keeper.py

           self.buddy['ip'] = os.popen('ifconfig eth0|grep "inet addr"|cut -d: -f2|cut -d\  -f1').readline().strip()