DIY DICE roaming

A normal DIY DICE machine (including one running as a VMware guest) will only function when connected to the DICE network; this is because it relies on the DICE infrastructure, eg. for account details and passwords. For a DIY DICE machine to "roam" it must be configured to use local user accounts and home directories; you can use the ADD_LOCAL_USER macro to do this for you. It must also be configured to use a NAT network connection so that it can take advantage of the host machine's network roaming capabilities.


  1. Install as per instructions for non roaming machine
  2. Modify LCFG profile (see sample profile below)
    • Add the line #include <dice/options/roaming.h> after the other #include lines.
    • Create local user accounts using the ADD_LOCAL_USER macro. This takes two parameters - a username and a standard unix passwd entry (see here for details). You are probably best using your standard DICE uid and gid (use id {username} on a DICE machine to find these). You can generate the encrypted password using openssl passwd -l on a DICE or DIYDICE machine.
  3. Make sure the new profile has been received (look in /var/lcfg/log/client for a recently received profile)
  4. Run lcfg-update to install some required software. This will take some time as it also runs any pending cron jobs to update various databases etc. Alternatively, if you're in a hurry, you can run om updaterpms run which will just install the additional software, but won't run any pending cron jobs.
  5. Reboot and check still working (eg you can login)
  6. Powerdown and convert the VMware guest to using NAT rather than bridged network (using "Edit Virtual Machine Settings").
  7. Reboot and check still working

Some notes

  • As the DIYDICE machine is no longer permanently connected to the Informatics network, it won't automatically receive software and configuration updates. You must explicitly instruct the DIYDICE machine to perform such updates by running the /usr/bin/lcfg-update command whilst connected to the Informatics network.
  • Similarly, the normal nightly "cron" jobs will be performed by the /usr/bin/lcfg-update command.
  • Profile changes will take longer as DIYDICE machine won't receive direct notifies from LCFG server (as it is using a NAT connection)
  • You need to use fully qualified DNS for any remote hosts (including Informatics hosts)
  • Probably want to set the root passwd so can debug problems when roaming. Use #define _ROOTPWD for this. The parameter is an encrypted password.
  • Use the macro ADD_LOCAL_USER(account, passwd entry) to add an account, allow it to login and create a homedirectory
  • Use the macro ADD_LOCAL_USER_ACCOUNT(account,passwd entry) to add an account (but not allow it to login)
  • Use openssl passwd -1 to create an encrypted password from a plaintext password.

Sample profile

/* */

#define _AUTH_USER      ascobie
#define _ROOTPWD        $1$dGuACWLX$3v0CQOnlV40Nubos4lL2h3

#include <diydice/os/sl5.h>
#include <dice/hw/vmware_ws6.h>
#include <dice/options/office.h>
#include <dice/options/roaming.h>

ADD_LOCAL_USER(ascobie,ascobie:$1$wfkbl7fnU$.V1slVPpm0lwPfAEKLICe0:28000:10000:Alastair Scobie:/home/ascobie:/bin/bash)
ADD_LOCAL_USER(carol,carol:$1$UCQ8wGBp6$qothuVQYNn/i0NnPr7eMa.:28896:10000:Carol Dow:/home/carol:/bin/bash)

-- AlastairScobie - 16 Apr 2008

Topic revision: r7 - 20 May 2009 - 15:36:30 - AlastairScobie
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies