XS Community Edition/0.4/Installing

From OLPC
Jump to navigation Jump to search

Offline Install XSCE-0.4 on XO's -- Download an Image

Prereqs

XO-1 laptops will limit you in many ways, where support remains highly experimental. Please start with an XO-1.5, XO-1.75 or XO-4 Touch.

Install Steps

  1. Download images from http://build.laptop.org.au/xsce/
  2. Install zd image file (“ok> fs-update <xxxxxxxx.zd>” ) --(play with devalias for external SDcard use. see http://wiki.laptop.org/go/Release_notes/10.1.0#External_SD)
  3. Reboot
  4. "telinit 5"
  5. Configure internet access
  6. Reboot or open terminal su
  7. yum update xs-config* <----- Don't forget this.
  8. Insert USB key to create or reuse the offline xs-repo. (optional-necessary only when you want to save the few rpms that are not part of the original image - enables completely offline installs in the future)
  9. xs-setup or xs-setup <domain> | tee -a screen-log.txt
  10. Reboot and inspect

NOTES about Offline Install :

  • stripped out content and a limited set of activities
  • ds-backup-client and olpc-update-query are disabled
  • printing support
  • TinyCore's xo-custom files
  • all of stats' dependencies pre-installed
  • Pathagar
  • Internet-in-a-Box (IIAB) e.g. partial dataset for testing: http://downloads.internet-in-a-box.org/IIAB_QuickStart_Sampler_20130809.tgz
  • IIAB, xs-extras, and release-0.4-fixes repo files are pre-installed nothing to add to get newer rpms.
  • For a complete list of rpms installed see the *packages.txt in the same directory. Now only 2 rpms (dhcpd and ejabberd) get installed later either online or from the optional usbkey. Warning the installed size is now ~2.4Gb up from ~1.9Gb.

Online Install XSCE-0.4

This had been the only method available for version 0.3, and remains the most common install method, supporting the most kinds of hardware.

Prereqs

This recipe installs XS Community Edition on an XO running OLPC OS 13.2.0 (http://wiki.laptop.org/go/Release_notes/13.2.0). It assumes that the XO will have two network connections, one for the Internet and one for client XOs.

During the install process, your XS server must be connected to the Internet either via its built-in Wifi adapter/ears or through a USB Ethernet Adapter. This will be the way that the server talks to the Internet.

In order for the server to be able to talk to XOs it will need a USB ethernet adaptor connected to a separate Wifi access point (call it AP-LAN) so kids' XOs can later connect their XOs to the server.

Repeat any of the download steps below if they fail due to Internet/DNS glitches.

Install Steps

  1. If connecting to the Internet via WiFi, go to 'my neighborhood' and select a wireless network to connect to the Internet.
  2. Ensure one or two USB Ethernet Adapters are connected, see above.
  3. Launch Terminal Activity (unhide Terminal if necessary, clicking List View in the top right of Home View).
  4. Change to user root by typing "su".
  5. Make sure the date and time are set correctly by typing "date" at the command prompt. If it is not, set it manually using "date mmddhhmmyyyy" where mm=month, dd=day, hh=hour, mm=minute, yyyy=year. This is required for yum to work correctly.
  6. Confirm your connectivity to the Internet by typing "yum repolist" (can be repeated if an error occurs.)
  7. Change directory by typing "cd /etc/yum.repos.d"
  8. Download the needed yum repo by typing "wget http://xsce.activitycentral.com/repos/xsce-release.repo".
  9. Install xs-config-xo by typing "yum -y install xs-config-xo". (If you are installing on an XO-1, type "yum -y install xs-config-xo1"). See Installing XSCE on an XO1
  10. Type "bootstrap-xo" to configure the XO with software necessary to install the Schoolserver.
  11. When you are prompted, Press [Enter] to reboot.
  12. When you are prompted, Press [Enter] to log in as root.
  13. Type the command "xs-setup" . This 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.
  14. At the end the install script will declare, "XS configured; Ready to reboot and use."
  15. Type "reboot".
  16. Note that if during testing the networking seems not to be working (and you are sure that access points are set up correctly) it is possible to reconfigure the network by typing the command "xs-setup-network".

Installing on Other Hardware -- Tips for Non-XO's

Intel i386, i686, X86_64:

  1. Ensure one or two USB Ethernet Adapters are connected, (2 required for internet gateway functions).
  2. Change directory by typing "cd /etc/yum.repos.d".
  3. Download the needed yum repo by typing "wget http://xsce.activitycentral.com/repos/xsce-release.repo".
  4. Type the command "xs-setup". This 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.
  5. At the end the install script will declare, "XS configured; Ready to reboot and use."
  6. Type "reboot".

Trim-Slice

  1. The internal ethernet is configured as external internet connection and wifi is enabled as lan connection, (a second USB adapter required for connection to additional wifi access points).
  2. Grab the Fedora 18 Trim-Slice image at http://fedoraproject.org/wiki/Architectures/ARM/F18/Trimslice -- use the armhfp version. (I needed to "yum -y install xz" to follow the xzcat <image> > <device>" instructions).
  3. For a while I used a SATA hard drive adapter to initialize the hard drive. Later I have started to use the Trim-Slice kernel made for flashing the internal uboot loader, which installs on an SD card, and can write the SATA drive in place.
  4. I found it necessary, during installs, to use a serial to usb adapter, and an XO running minicom (for me this uses /dev/ttyUSB0 115200)
  5. edit the /boot/boot.scr as per instructions for USB/SATA, put the hard drive in the Trim-Slice, and boot
  6. Change directory by typing "cd /etc/yum.repos.d"
  7. Download the needed yum repo by typing "wget http://xsce.activitycentral.com/repos/xsce-release.repo".
  8. Change back to the root directory -- "cd".
  9. Type the command "yum -y install xs-config-ts" .
  10. Then type "bootstrap-ts 2>&1 |tee -a boot.log" This 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. In case there are problems, the "boot.log" file in /root will help with diagnosis.
  11. At the end the install script will declare, "XS configured; Ready to reboot and use."
  12. Type "reboot".

Raspberry Pi

  1. Download the image from http://xsce.activitycentral.com/downloads/rpi-xsce-0.4-1.img.gz, and the rpi-xsce-0.4-1.img.md5sum (-1,-2,-3, etc will include more recent fixes)
  2. Gunzip the <xxxx.img.gz> file
  3. run md5sum on the expanded .img file and compare with "cat <rpi-xsce...img.md5sum"
  4. determine the /dev/<name> of the SD card you want to use with the rpi.
  5. use "dd" to write the image to the SD card "dd if=<file name> of=</dev/<name -- probably /dev/sdb or mmcblk0 --don't include the "p1,p2" because the partition table gets written by the image).
  6. The image was created with an unprivileged user "admin" and a password of "12admin". If you don't have USB keyboard, mouse, and digital monitor, you can ssh in with these credentials. Sometimes you can view the ip addresses passed out by your router with a web browser to get the the raspberry pi's ip address.
  7. Root password is "fedora". Change this if you have pranksters in your vicinity by becoming root, and using command line "passwd".
  8. After you have logged in as root, at the command line, issue the "resize2fs /dev/mmcblk0p2" to expand the partition to the native size of your SD card.

CAVEATS: Raspberry pi is armv6 architecture, and XO is armv7hl. Some rpm packages are not available in the required form and some functions had to be turned off in order to have a timely release. i.e: