The X-Bone

 

X-BoneEmbedded! Release  1.0beta - May 2006

X-Bone functionality depends on the correct configuration of several dependent software modules such as DNS, routing, web server etc. This is both non-trivial and increases the time required for deployment.

Soekris 4801

X-BoneEmbedded! is a distribution of whole operating system that is designed to be up and running with the minimum possible effort from the user. This particular distribution is intended to work in embedded environments in a way similar to routers and switches. The X-BoneEmbedded! system includes the FreeBSD operating system and multiple software modules including X-Bone Server, X-Bone GUI, LDAP server, and DNS server.

Standard Image
Contact X-Bone Group (Size ~ 200+MB)
Source (To Build Custom Image)
FreeBSD Port (To Build Custom Image)

Readme »

Changes »

Basic Configuration Instructions  »

Detailed Configuration Instructions  »

X-Bone Software Distributions »

Platform and Features

The development platform was Soekris 4801 which runs 266 MHz NSC SC1100 (Geode) processor with 128MB RAM and supports Compact Flash. The CF card that we use is 512MB Lexar Professional 40x/WA.
Features of this release include
  • FreeBSD 4.9
  • Apache 2.0.50
  • ModPerl: 1.99r16
  • OpenSSL: 0.9.7d
  • OpenLDAP: 2.2.15
  • Bind: 9.3
  • X-Bone (Daemon and GUI): 3.2

Installation Instructions

Install from:

  1. Standard Image
  2. Custom Image

Standard Image

This involves  restoring a complete disk image to a Compact Flash Card, do the following:

  1.  Obtain a complete dump from the xbone@isi.edu. This dump tends to be large (200+ MB).
  2. Plug in the card in the card-reader and note the device name. Syslog typically has an entry like this:
  3. umass0: LEXAR MEDIA   CF  CARD, rev 1.10/0.01, addr 2
    da3 at umass-sim0 bus 0 target 0 lun 0
    da3: <LEXAR CF CARD 1.00> Removable Direct Access SCSI-CCS device
    da3: 650KB/s transfers da3: 489MB (1001952 512 byte sectors: 64H 32S/T 489C)
  4. Format the card with ufs (using sysinstall) and mount it.
  5. $ sysinstall
    $ mkdir -p /cf
    $ mount /dev/<devicename> /cf
  6. Restore the dump
  7. $ cd /cf && restore rf <path-to-dump-file>
    $ rm -f restoresymtable
    $ umount -f /cf
The card now has the OS image installed. Place the card in the Soekris Box's Compact Flash slot and continue with post install configuration.

Build a Custom Image

To build a custom image, follow the steps:
  1. Find a host that has the same operating system as that of embedded-xbone. This is FreeBSD 4.9 in the current distribution.
    This may work in case of other FreeBSD OS versions. The build process is more sensitive to ports and dependencies between them.
  2. Obtain the embedded xbone port from the X-Bone webpage and install the same.
    $ fetch embedded-xbone-1.0beta.port.tar.gz
    $ tar zxvf embedded-xbone.tar.gz
    $ cd embedded-xbone
    $ make install
    Alternatively the source can obtained.
    $ fetch embedded-xbone-1.0beta.tar.gz
    $ tar zxvf embedded-xbone.tar.gz
  3.  Now the sources are all installed in <path>/embedded-xbone
  4.  $ cd <path>l/embedded-xbone
  5. Obtain the FreeBSD 4.9 DUMP. This tends to be large (~128MB).
    $ fetch -o <path-name-on-localhost> http://www.isi.edu/xbone/RELENG_4_9_0_RELEASE-MINIMAL.dump
  6. Setup any host to export a directory. Note the hostname and directory name.
  7. Plug in the card in the card-reader and note the device name. Syslog typically has an entry like this.
  8. umass0: LEXAR MEDIA   CF CARD, rev 1.10/0.01, addr 2
    da3 at umass-sim0 bus 0 target 0 lun 0
    da3: <LEXAR CF CARD 1.00> Removable Direct Access SCSI-CCS device
    da3: 650KB/s transfers
    da3: 489MB (1001952 512 byte sectors: 64H 32S/T 489C)
  9. Now install specifying all the parameters:
  10. $ make \
      DEVICE=/dev/da3s1a \
      DUMP=<path of 4.9 minimal OS dump> \
      BUDDYHOST=<host-with-nfs-directory> \
      BUDDYTOPDIR=<path-on-nfs-server> [all|all-cvs]

    The all-cvs target will first download a ports and kernel source tree and then use it to build the distribution. As mod-perl, apache, etc. change, the build process might break. It might be necessary to use a relatively consistent and stable distribution. The "all" target assumes the ports and sources are located in:
                    <path-to-nfs-server>/usr/src   --- for kernel source
                    <path-to-nfs-server>/usr/ports --- for ports

    The card now has the OS image installed. Place the card in the Soekris Box's Compact Flash slot and continue with post install configuration.

Back to Top»

Basic Configuration

These are quick instructions for post-install configuration of X-BoneEmbedded!. Detailed instructions can be found here.

Soekris 4801
  1. Make sure X-Bone host is powered down.
  2. Plug network cable (to provider at remote location or the local area network) into LAN (regular) port.
  3. Obtain the X-Bone Host Certificate and key from X-Bone site and store them on a client host that is used to connect to the X-BoneEmbedded! host.
  4. Obtain network configuration information such as addresses, masks, host names etc.
  5. Configure a client machine to use DHCP, then connect it to PVT (configuration) port via crossover cable, Ethernet switch/hub, or Wireless 802.11b NIC (only if wireless is enabled on the X-Bone host).
  6. Connect power cable to X-Bone host.
  7. Wait until Status LED starts blinking or for about a minute, then open a browser to access Any page or http://router.local.lan/ from client machine.
  8. If location uses DHCP, go to step 9 below, otherwise:
    • Click LAN Setup button.
    • Change connection type to Static IP Address.
    • Enter IP address, network mask, default route, and DNS servers.
    • Click Configure LAN Port button and answer Yes to reboot.
    • Go back to Step 7 above.
  9. Click X-Bone Setup button to load certificates and set various other parameters including hostname, addresses and ACLs. Configure Overlay Manager, Node daemon and GUI as required.
  10. Click LDAP Setup button to initialize the LDAP database with X-Bone tree (if necessary).
  11. Click Start/Stop button. Any configuration changes requires restarting the daemon.

 

Back to Top »