User:Holt/XS Community Edition/Install Recipe

Jump to: navigation, search
Stop hand.png WARNING:
The content of this section is considered
It is preserved for historical or documenting reasons.

For the latest instructions please see thanks!


This recipe installs XS Community Edition on XO-1.5 (i386), XO-1.75 (ARM) or larger i386/ARM servers running Fedora 17. Other Fedora platforms will be supported later, such as XO-4 and x86-64 -- as soon as we/someone finds access to this hardware to spin basic RPMs. Installing on XO-1 is NOT supported as memory/disk are insufficient.

Later, prefab USB images for offline install should be provided for XO-1.5 and XO-1.75 with all packages preinstalled.

To begin, your server must connect to the Internet. WARNING: If using an XO-1.5 or XO-1.75, you must use the built-in Wifi adapter/ears, or a 3G/cellular adapter (untested). In short, your XO server may NOT connect to the Internet thru a USB Ethernet adapter during the (current) installation process below.

XO servers will however need a USB Ethernet adapter (most will work, verify it's compatible with Fedora 17) and Wifi access point so kids' XOs can later connect the XS.

Please be warned this is an early version--the product of an early focused effort by Jerry Vonau and George Hunt. Still lots of rough edges!

Install Recipe

    • If on an XO-1.5 or XO-1.75, install this software release:
      Then turn off automatic power management within My Settings | Power.
    • Or, if on a larger i386 or ARM (non-XO) server, install Fedora 17.
  1. Connect your server to high-speed Internet. If on an XO, installing via wireline USB Ethernet adapter is NOT currently supported -- instead use the XO's built-in Wifi/ears; or a 3G/cellular adapter may also work.
  2. If on an XO, ensure USB Ethernet Adapters are NOT connected!
  3. If on an XO, make the Terminal Activity a favorite (hidden down in List view of activities, where you highlight this activity's "star").
  4. Launch Terminal Activity or similar shell.
    Change to user root by typing "su".
  5. Getting yum repos will require setting the GMT date -- type "date mmddhhmmyyyy" where mm=month, dd=day, hh=hour, mm=minute, yyyy=year.
  6. Type "cd /etc/yum.repos.d"
  7. Repeat any of the download steps below if they fail due to Internet/DNS glitches.
  8. Type "wget" (downloads 200+ bytes). Or if you're daring, "wget" (talk to George Hunt if so!)
    • If on an XO-1.5 or XO-1.75:
      Type "yum -y install xs-config-xo" (downloads 17+ MB).
      Type "bootstrap-xo" (downloads 34+ MB).
      Press [Enter] to reboot.
    • Or, if on a larger i386 or ARM (non-XO) server, running Fedora 17:
      Type "yum -y install xs-config" (downloads several MB).
  9. As root (eg. type "su" in Terminal), issue the command "xs-setup" . This xs-setup command generates a long list of "yum" install requests, similar to the normal adding of functions that you would do if you loaded a minimal "network" install CD from Fedora, and then added additional functions one at a time. (downloads 200+ MB)
  10. "INSERT USB ETHERNET ADAPTER NOW" warning will appear. While optional, this configuration step is critical for those using a USB Ethernet adapter to connect to their LAN/Intranet.
    Type "y" to continue.
  11. Perhaps 40+ minutes later, your XS should return to a root prompt with the message "XS configured; services are ready to use" indicating success (downloads about 200 MB !)
    Remove any USB Ethernet adapter (XO-1.5s require this prior to booting!)
    Reboot for good measure (ejabberd will take a long time to boot, let it run).
    Re-insert any USB Ethernet adapter.
  12. Use "ifconfig" to determine the ip address of the XS.
    Take note of its eth0-ip-address = WAN-ip.
    If you've inserted the USB Ethernet adapter above (serving the LAN/Intranet) also take note of the school server's eth1-ip-address = LAN-ip =
  13. If you inserted the USB Ethernet adapter above, configure its own Wifi Access Point (AP) to properly serve other LAN/Intranet client XOs. (If the Wifi AP is a router, DO NOT plug into its "WAN" port -- instead use any of its LAN/normal ports. And be sure to enable the AP's "bridge mode" or similar, to disable the AP's own DHCP)
  14. Test the XS/XO web server by pointing its own Browse activity to http://<WAN-ip>/top or or http://localhost/top.
    Verify the (typically green) web control panel appears with all 3 URLs ideally.
  15. Also try another web browser on the WAN with http://<WAN-ip>/top or on the LAN with
  16. Ping the XS from another computer on the WAN or LAN/Intranet.
    Then try ssh using unprivileged user "ssh admin@<WAN-ip>" (password=12admin). Early on, I usually come in via the WAN adapter (however sshd is attached to all interfaces-- feel free to ssh to the second interface at if you have attached a USB Ethernet adapter).
  17. The acid test of the XS gateway function is "ping" from other client XOs, making sure they're connected to the XS alone.

(all above evolving; copied from on Nov 13, 2012)

Further Quick Testing

  1. Register the XS/XO server to itself: from Sugar's Home View, right-click on the XO Icon and left-click on "Register".
    Make sure it responds "Registration Successful".
  2. Open Browse activity, and try Moodle by clicking on "Local schoolserver" which tests URL http://schoolserver (which should redirect to a longer URL) and should show "Welcome to Moodle" logged in as your own XO username, with "Course Creator" privileges.
  3. Test Squid: open Browse on a client XO and visit a web page. Check the traffic is being recorded in XS file: /var/log/squid/access.log
  4. Test enabling and disabling of services, monitoring with VNC:
    1. First bring up the Remote Administration control panel. From the XS browse to http://localhost/top then click on "Setup" in the top-left and try clicking on "Internet" near the top of the left frame. This page shows the options available for setting up internet access.
      Click "Desktop" in the upper-right to bring up VNC. This page will provide feedback as the changes in check box selections are being applied
      Unlock the screensaver using username "vnc" and password "*vnc4u*"
      Click "Use default config"
      Turn off screensaver under Applications Menu -> Settings -> Screensaver.
    2. To disable a feature, click back to "School Server..." tab, and uncheck checkbox for "Enable local Domain Name storage" then click "Apply Changes".
      Switch over to your VNC tab (kept open from above) and look inside output window "ncat" which pops up automatically -- this window will confirm enabling/disabling of checkbox changes.
      Click back to "School Server..." tab. To reconfirm a service has been disabled (or enabled) click "Status" (temporarily "Server").
      In this case "named" should have disappeared from the list of running services.
  5. Try other classic XS features:

Anna's Test Plan

  1. USB disks: many/most work? format if unformatted?
  2. Common Networking Scenarios Just Work: USB-ethernet adapters can be yanked/added anytime? anticipate big iron?
  3. iptables & gateway
  4. remote access: Browse Activity to localhost? Browse from another XO? Internet Explorer? ssh?
  5. ejabberd
  6. Core Services from
  7. Extended Services from


View the bugs already filed against the School server
Submit a new bug