Switchtool
(New page: An easy way to make the smrs use the development branch of mobotware. Login as root on the smr and run: root@smr3:~# switchtool devel This changes to the development branch. This links ...) |
(→To use local files) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | An easy way to make the smrs use | + | An easy way to make the smrs use another branch of mobotware is to run 'switchtool'. |
+ | Current braches are found in the /opt/smr.* folders on nyquist and jensen. | ||
− | Login as root on the smr and run: | + | To shift branch: Login as root on the smr and run: |
− | root@smr3:~# switchtool | + | root@smr3:~# switchtool <name> |
− | + | For example if your would like to use the versions in /opt/smr.2011c run: | |
− | + | root@smr3:~# switchtool 2011c | |
− | The switchtool is listed below and is residing in the /usr/sbin folder. | + | Remember that the original setup is restored on reboot. This means /misc/opt/smr is linked to /usr/local/smr. |
+ | |||
+ | ===To use local files=== | ||
+ | |||
+ | The switchtoo knows a local option, this moves the /usr/local/smr to the local flash: | ||
+ | |||
+ | root@smr3:~# switchtool local | ||
+ | |||
+ | The local flash is updated using a script in /root. | ||
+ | To update the local version to a specific configuration run first the switchtool for that configuration, then the update_smr, and then switch to local | ||
+ | |||
+ | root@smr3:~# switchtool 2011c | ||
+ | root@smr3:~# ./update_smr | ||
+ | root@smr3:~# switchtool local | ||
+ | |||
+ | ===The switchtool script=== | ||
+ | |||
+ | The switchtool uses the /etc/rc.smr/rc.smr script to restart configure and restart (rhd) | ||
+ | |||
+ | The switchtool is listed below and is residing in the /usr/sbin folder on the smrs. | ||
#!/bin/bash | #!/bin/bash | ||
+ | |||
+ | dir_name="/misc/opt/smr.${1}" | ||
if [ ! -d /usr/local/smr.net/bin ]; then | if [ ! -d /usr/local/smr.net/bin ]; then | ||
Line 15: | Line 37: | ||
fi | fi | ||
− | + | if [ ! -z ${1} ]; then | |
− | if [ | + | if [ ! -d $dir_name/bin ]; then |
− | echo "Switching | + | echo "Switching impossible. Path: ${dir_name} not found." |
− | + | exit 2 | |
− | + | fi | |
+ | fi | ||
+ | |||
+ | if [ ! -x /etc/rc.smr/rc.smr_shutdown ]; then | ||
+ | echo "Warning: Smr startup scripts not found. Is this a robot ?" | ||
else | else | ||
+ | /etc/rc.smr/rc.smr_shutdown | ||
+ | fi | ||
+ | |||
+ | if [ -z ${1} ]; then | ||
echo "Switching to production mode" | echo "Switching to production mode" | ||
rm -f /usr/local/smr | rm -f /usr/local/smr | ||
ln -sf /usr/local/smr.net /usr/local/smr | ln -sf /usr/local/smr.net /usr/local/smr | ||
+ | else | ||
+ | echo "Switching to ${1} mode" | ||
+ | rm -f /usr/local/smr | ||
+ | ln -sf $dir_name /usr/local/smr | ||
fi | fi | ||
− | /etc/rc.smr/rc.smr | + | if [ -x /etc/rc.smr/rc.smr ]; then |
+ | /etc/rc.smr/rc.smr | ||
+ | fi | ||
sleep 2 | sleep 2 |
Latest revision as of 17:45, 2 November 2011
An easy way to make the smrs use another branch of mobotware is to run 'switchtool'. Current braches are found in the /opt/smr.* folders on nyquist and jensen.
To shift branch: Login as root on the smr and run:
root@smr3:~# switchtool <name>
For example if your would like to use the versions in /opt/smr.2011c run:
root@smr3:~# switchtool 2011c
Remember that the original setup is restored on reboot. This means /misc/opt/smr is linked to /usr/local/smr.
[edit] To use local files
The switchtoo knows a local option, this moves the /usr/local/smr to the local flash:
root@smr3:~# switchtool local
The local flash is updated using a script in /root. To update the local version to a specific configuration run first the switchtool for that configuration, then the update_smr, and then switch to local
root@smr3:~# switchtool 2011c root@smr3:~# ./update_smr root@smr3:~# switchtool local
[edit] The switchtool script
The switchtool uses the /etc/rc.smr/rc.smr script to restart configure and restart (rhd)
The switchtool is listed below and is residing in the /usr/sbin folder on the smrs.
#!/bin/bash dir_name="/misc/opt/smr.${1}" if [ ! -d /usr/local/smr.net/bin ]; then echo "Switching impossible. Kalman /opt not found." exit 1 fi if [ ! -z ${1} ]; then if [ ! -d $dir_name/bin ]; then echo "Switching impossible. Path: ${dir_name} not found." exit 2 fi fi if [ ! -x /etc/rc.smr/rc.smr_shutdown ]; then echo "Warning: Smr startup scripts not found. Is this a robot ?" else /etc/rc.smr/rc.smr_shutdown fi if [ -z ${1} ]; then echo "Switching to production mode" rm -f /usr/local/smr ln -sf /usr/local/smr.net /usr/local/smr else echo "Switching to ${1} mode" rm -f /usr/local/smr ln -sf $dir_name /usr/local/smr fi if [ -x /etc/rc.smr/rc.smr ]; then /etc/rc.smr/rc.smr fi sleep 2 echo "done" exit 0