Ubuntu Intrepid for the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
 
(21 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Alex Belits (alias Teapot) has released a customized version of Ubuntu Intrepid (8.10).
Alex Belits (alias Teapot) has released a customized version of Ubuntu Intrepid (8.10) for the OLPC XO.


This is an easy-to-setup, easy-to-use desktop operating system for the XO based on the rock-solid foundations of Ubuntu. It is ideal for G1G1 adult donors who would like to have a real desktop environment instead of Sugar or for children who are already used to normal computers.
This is an easy-to-setup, easy-to-use desktop operating system for the XO based on the rock-solid foundations of Ubuntu. It is ideal for G1G1 adult donors who would like to have a real desktop environment instead of Sugar or for children who are already used to more traditional computers.


When Ubuntu is installed, the Sugar installation is not affected. The whole OS boots/runs comfortably from the SD card. If the SD card is removed and the machine is restarted, you boot into Sugar. Sugar may also be booted without removing the SD card by holding down the "O" game key while powering up the XO.
When Ubuntu is installed, the Sugar installation is not affected. The whole OS boots/runs comfortably from the SD card. If the SD card is removed and the machine is restarted, you boot into Sugar. Sugar may also be booted without removing the SD card by holding down the "O" game key while powering up the XO.
Line 14: Line 14:
* Dedicated arrow buttons (left side of the screen) mapped as direction buttons (so can be used when browsing for example)
* Dedicated arrow buttons (left side of the screen) mapped as direction buttons (so can be used when browsing for example)
* Game buttons are mapped as (Home/End, Page Up/Down), so these can be used for browsing or reading.
* Game buttons are mapped as (Home/End, Page Up/Down), so these can be used for browsing or reading.
* Screen rotation with the dedicated button (below the arrow buttons)
* Screen rotation with the dedicated button (below the arrow buttons) is functional.


==Notable features==
==Notable features==
Line 20: Line 20:
* Automatic login can be easily set-up with the GDM configurator, so if you want you can get directly into the desktop if you want (less secure but more comfortable)
* Automatic login can be easily set-up with the GDM configurator, so if you want you can get directly into the desktop if you want (less secure but more comfortable)
* Synaptic and GDebi are installed by default so newbies can install extra software by the GUI
* Synaptic and GDebi are installed by default so newbies can install extra software by the GUI
* Web browsing: Firefox 3.0.4 (installed by default but not very snappy), Opera 9.6 can be easily installed (starts much faster than Firefox, smaller memory footprint)
* Web browsing: Firefox 3.0.4 (installed by default but not very snappy), the latest version of Firefox (offering improved performance over FF3.0) can be installed via optional instructions below, or Opera 9.6 can be easily installed (starts much faster than Firefox, smaller memory footprint)
* PDF capable: ePDFViewer by default, Evince can be installed easily with Synaptic. These are very capable PDF viewer programs.
* PDF capable: ePDFViewer by default, or Evince can be installed easily with Synaptic. These are very capable PDF viewer programs.
* Flash capable: Flash v10 works in Firefox and Opera (after installing the plugin with Synaptic). Flash-enhanced websites seem to render correctly. Flash games are too slow, but simple flash applets work.
* Flash capable: Flash v10 works in Firefox and Opera (after installing the plugin with Synaptic). Flash-enhanced websites seem to render correctly. Flash games and videos are too slow, but simple flash applets work.
* Watching YouTube videos is supported with a dedicated download/watch program (TubeWatcher). (This is because Flash video playback is not fast enough to be enjoyable from within the browser)
* Watching YouTube videos is supported with a dedicated download/watch program (TubeWatcher). (This is because Flash video playback is not fast enough to be enjoyable from within the browser) NOTE: Changes to the YouTube website now prevent TubeWatcher from functioning.
* Java capable: Java JRE 1.6 u10 works without issues (after installing with Synaptic). Azureus works (advanced, Java based Bittorrent client).
* Java capable: Java JRE 1.6 u10 works without issues (after installing with Synaptic). Azureus works (advanced, Java based Bittorrent client).
* FBReader works (advanced ebook reader). (Installed with Synaptic)
* FBReader (advanced ebook reader) can be installed with Synaptic.
* All other Ubuntu Intrepid tested applications can be installed and used (AbiWord, Gnumeric, OpenOffice...etc)
* All other Ubuntu Intrepid tested applications can be installed and used (AbiWord, Gnumeric, OpenOffice...etc)
* Mplayer is installed by default. VLC Player can be installed easily and plays good-quality movies smoothly
* Mplayer is installed by default. VLC Player can be installed easily and plays good-quality movies smoothly
Line 33: Line 33:
* The above install can fit to a 2GB SD card but you won't have too much free space remaining. A 4GB SD card is recommended.
* The above install can fit to a 2GB SD card but you won't have too much free space remaining. A 4GB SD card is recommended.


==Not supported (yet)==
==Not supported==
The XO cannot hibernate like a normal laptop (that would further reduce inactive power consumption compared to deep suspend). However, suspend to ram (deep suspend) works and results in low power loss while the XO is not in use.
The XO cannot hibernate like a normal laptop (that would further reduce inactive power consumption compared to deep suspend). However, suspend to ram (deep suspend) works and results in low power loss while the XO is not in use.
Wacom driver for an external USB tablet is not installed.
Wacom driver for an external USB tablet is not installed.
Line 40: Line 40:
You will need at least a 2GB SD card and a 1GB USB memory device. A 4GB or larger SD card is recommended to provide adequate space for applications and data.<br>
You will need at least a 2GB SD card and a 1GB USB memory device. A 4GB or larger SD card is recommended to provide adequate space for applications and data.<br>


Obtain a Developer Key for your XO: <b>http://wiki.laptop.org/go/Activation_and_Developer_Keys</b><br>
An unlocked laptop. Obtain a Developer Key for your XO: <b>http://wiki.laptop.org/go/Activation_and_Developer_Keys</b><br>


Upgrade your OLPC OS to at least version 8.2.0: <b>http://wiki.laptop.org/go/Release_notes/8.2.0</b><br>
Upgrade your OLPC OS to at least version 8.2.0: <b>http://wiki.laptop.org/go/Release_notes/8.2.0</b><br>
Line 48: Line 48:
Obtain the customized Ubuntu Intrepid via BitTorrent (from <b>http://mars.illtel.denver.co.us/~abelits/torrents/OLPCFiles-intrepid-20081130.tar.bz2.torrent</b>) and place the .bz2 file on a USB memory device.<br>
Obtain the customized Ubuntu Intrepid via BitTorrent (from <b>http://mars.illtel.denver.co.us/~abelits/torrents/OLPCFiles-intrepid-20081130.tar.bz2.torrent</b>) and place the .bz2 file on a USB memory device.<br>


===BitTorrent on XO===
If you do not have another computer with a BitTorrent client installed, you can install BitTorrent on the XO under Sugar and use it to download the file. Open Terminal and type:<br>
If you do not have another computer with a BitTorrent client installed, you can install BitTorrent on the XO under Sugar and use it to download the file. Open Terminal and type:<br>
<b>sudo yum install bittorrent</b><br>
sudo yum install bittorrent


Do not attempt to download the file to your XO's internal NAND flash memory, as the file is very large and you're going to have to copy it to a USB device anyway for installation.<br>
Connect a USB memory device. Start the BitTorrent client and download the file to the USB drive.<br>
<b>cd /media/<i>USB-device-name</i><br>
bittorrent-curses http://mars.illtel.denver.co.us/~abelits/torrents/OLPCFiles-intrepid-20081130.tar.bz2.torrent</b><br>


Connect a USB drive. Start the BitTorrent client and download the file to the USB drive.<br>
Do not attempt to download the file to your XO’s internal NAND flash memory, as the file is very large and you’re going to have to copy it to a USB device anyway for installation.<br>
cd /media/${DEVICE}
bittorrent-curses ${URL}

... where ${DEVICE} is the filesystem mount point where your USB drive is mounted, and ${URL} is the link to the .torrent file above.


==Installation Procedures==
==Installation Procedures==
Line 63: Line 66:


Connect the USB drive. Do NOT insert SD card yet. The process will fail if the SD card is already inserted. Open Terminal and type<br>
Connect the USB drive. Do NOT insert SD card yet. The process will fail if the SD card is already inserted. Open Terminal and type<br>
<b>mount | grep /dev/sd </b><br>
mount | grep /dev/sd
Repeat until it returns a line like this:<br>
It may take a few seconds for the USB drive to be noticed. Repeat until it returns a line like this:<br>

/dev/sda1 on /media/${DEVICE}<br>

... where ${DEVICE} is the filesystem mount point where your USB drive is mounted.


Become root:<br>
/dev/sda1 on /media/<i>USB-device-name</i> ...<br>
su -l


Become root and stop haldaemon:<br>
Stop haldaemon:<br>
/etc/init.d/haldaemon stop
<b>sudo -s<br>
/etc/init.d/haldaemon stop</b><br>


Insert the SD card into the slot . All data on the card will be erased by the following commands, so ensure anything important has been saved to another device.<br>
Insert the SD card into the slot . All data on the card will be erased by the following commands, so ensure anything important has been saved to another device.<br>


Erase MBR and partition table:<br>
Erase MBR and partition table:<br>
<b>dd if=/dev/zero of=/dev/mmcblk0 bs=4096 count=1</b><br>
dd if=/dev/zero of=/dev/mmcblk0 bs=4096 count=1


Make the partition table:<br>
Make the partition table:<br>
<b>echo -e ',,L,*\n\n\n' | sfdisk /dev/mmcblk0</b><br>
echo -e ',,L,*\n\n\n' | sfdisk /dev/mmcblk0


Create the root filesystem:<br>
Create the root filesystem:<br>
<b>mke2fs -jLOLPCRoot /dev/mmcblk0p1</b><br>
mke2fs -jLOLPCRoot /dev/mmcblk0p1


Mount the filesystem and unpack the tarball onto it:<br>
Mount the filesystem and unpack the tarball onto it:<br>
<b>mount /dev/mmcblk0p1 /mnt<br>
mount /dev/mmcblk0p1 /mnt
cd /mnt<br>
cd /mnt
tar xvjf /media/<i>USB-device-name</i>/OLPCFiles-intrepid-20081130.tar.bz2</b><br>
tar xvjf /media/${DEVICE}/OLPCFiles-intrepid-20081130.tar.bz2
... where ${DEVICE} is the filesystem mount point where your USB drive is mounted.


Copy your developer key to the SD card:<br>
Copy your developer key to the SD card:<br>
<b>cp /security/* security/</b><br>
cp /security/* security/


Reboot the computer<br>
Reboot the computer<br>
<b>reboot</b><br>
reboot


After booting into a new system, log in as user olpc with password olpcolpc, and perform final updates: <br>
After booting into a new system, log in as user olpc with password olpcolpc, and perform final updates: <br>


Click on the Network Manager icon at the bottom panel and select the wireless network you want to use. You will be prompted for the key/password, if one is required.<br>
Click on the Network Manager icon at the bottom panel and select the wireless network you want to use. You will be prompted for the key or password, if one is required.<br><br />


==Change repositories==
Start Terminal and complete the configuration:<br>


([https://help.ubuntu.com/community/EOLUpgrades/Intrepid Ubuntu Intrepid])<br />
<b>sudo aptitude update<br>
sudo aptitude safe-upgrade<br>
sudo aptitude reinstall ssl-cert<br>
sudo aptitude clean<br>
sudo /etc/init.d/cups start<br>
mkdir .mplayer<br>
echo -e 'vo=sdl\nframedrop=1\nlavdopts=skiploopfilter=all:fast=1' > .mplayer/config<br>
exit</b><br>


'''In terminal write:'''<br> <br />
==Optional Steps==
Install any other packages/software you desire (gimp, inkscape, msttcorefonts , flashplugin-nonfree, OpenOffice.org, etc.) Certain Firefox extensions such as flashblock and adblock are very helpful on the XO.<br>


sudo gedit /etc/apt/sources.list<br><br />
After installing flashplugin-nonfree, run<br>

<b>sudo ln -s /etc/alternatives/firefox-flashplugin /usr/lib/firefox-addons/plugins/flashplugin-alternative.so</b><br>
'''Delete all and type:'''<br />
and install flashblock extension (the usual way, from the browser itself).<br>

deb cdrom:[Ubuntu 8.10 _Intrepid Ibex_ - Release i386 (20081029.5)]/ intrepid main restricted
deb http://archive.ubuntu.com/ubuntu intrepid main restricted
deb-src http://archive.ubuntu.com/ubuntu intrepid main restricted
deb http://security.ubuntu.com/ubuntu intrepid-security main restricted
deb-src http://security.ubuntu.com/ubuntu intrepid-security main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu intrepid-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu intrepid-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
# deb http://archive.ubuntu.com/ubuntu intrepid universe
# deb-src http://archive.ubuntu.com/ubuntu intrepid universe
# deb http://archive.ubuntu.com/ubuntu intrepid-updates universe
# deb-src http://archive.ubuntu.com/ubuntu intrepid-updates universe
# deb http://security.ubuntu.com/ubuntu intrepid-security universe
# deb-src http://security.ubuntu.com/ubuntu intrepid-security universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
# deb http://archive.ubuntu.com/ubuntu intrepid multiverse
# deb-src http://archive.ubuntu.com/ubuntu intrepid multiverse
# deb http://archive.ubuntu.com/ubuntu intrepid-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu intrepid-updates multiverse
# deb http://security.ubuntu.com/ubuntu intrepid-security multiverse
# deb-src http://security.ubuntu.com/ubuntu intrepid-security multiverse
deb http://old-releases.ubuntu.com/ubuntu/ intrepid main restricted universe multiverse<br />deb http://old-releases.ubuntu.com/ubuntu/ intrepid-updates main restricted universe multiverse<br />deb http://old-releases.ubuntu.com/ubuntu/ intrepid-security main restricted universe multiverse<br />deb http://old-releases.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse<br />deb http://old-releases.ubuntu.com/ubuntu/ intrepid-proposed main restricted universe multiverse<br /><br />

'''Update system'''<br /><br />

sudo aptitude update<br /><br />

'''Start Terminal and complete the configuration:'''<br>

sudo aptitude safe-upgrade
sudo aptitude reinstall ssl-cert
sudo aptitude clean
sudo /etc/init.d/cups start
mkdir .mplayer
echo -e 'vo=sdl\nframedrop=1\nlavdopts=skiploopfilter=all:fast=1' > .mplayer/config
exit

== Optional Steps ==
<br />

'''Manage your updates'''<br />

You can type in terminal:
sudo apt-get install update-manager


----
Change your password with this terminal command:<br>
Change your password with this terminal command:<br>
<b>passwd</b><br>
passwd


Enter olpcolpc as the current password, then enter the new password you intend to use twice.<br>
Enter olpcolpc as the current password, then enter the new password you intend to use twice.<br>
Line 124: Line 183:
Changing the password does not change the password for the network manager keyring. The keyring password will still be olpcolpc.<br>
Changing the password does not change the password for the network manager keyring. The keyring password will still be olpcolpc.<br>


rm .gnome2/keyrings/login.keyring
<b>rm .gnome2/keyrings/login.keyring</b> will remove the old keyring. A new one will be created the next time you connect, allowing you to choose a new password.<br>
will remove the old keyring. A new one will be created the next time you connect, allowing you to choose a new password.<br>

----
Install any other packages/software you desire (gimp, inkscape, msttcorefonts , flashplugin-nonfree, OpenOffice.org, etc.) Certain Firefox extensions such as flashblock, adblock and noscript are very helpful on the XO.<br>

After installing flashplugin-nonfree, run<br>
sudo ln -s /etc/alternatives/firefox-flashplugin /usr/lib/firefox-addons/plugins/flashplugin-alternative.so
and install flashblock extension (the usual way, from the browser itself).<br>

----
Upgrade the included Firefox 3.0 to the latest version, which performs considerably faster on the XO.<br>

Use Synaptic Package Manager under the System menu to install the "libstdc++5", "libnotify-bin" and w3m" packages.<br>

Download the Ubuntuzilla .deb package from <b>http://sourceforge.net/projects/ubuntuzilla/files/ubuntuzilla/ubuntuzilla-4.6.1-0ubuntu1-i386.deb</b> and install by double-clicking.<br>

Close Firefox.<br>

Open terminal and type<br>
ubuntuzilla.py

Answer the "y/n" questions to install the latest version of Firefox.<br>

Adding the "Default Full Zoom Level" extension will enable you to specify a default zoom level for browsing.<br>


----
----
Line 130: Line 213:


Set your OLPC to the correct time zone:<br>
Set your OLPC to the correct time zone:<br>
<b>sudo dpkg-reconfigure tzdata</b><br>
sudo dpkg-reconfigure tzdata


If your clock is still not set correctly, set it manually with<br>
If your clock is still not set correctly, set it manually with<br>
<b>sudo date 102413252009</b><br>
sudo date 102413252009
(the format is MMDDhhmmYYYY)<br>
(the format is MMDDhhmmYYYY)<br>


or set the clock automatically by synchronizing with a time server:<br>
or set the clock automatically by synchronizing with a time server:<br>
<b>sudo ntpdate pool.ntp.org</b><br>
sudo ntpdate pool.ntp.org


----
----
You can make a swap file to improve performance in certain situations. In this example it's a 256MB file, so you need at least 256MB of free space on the SD card:<br>
You can make a swap file to improve performance in certain situations. In this example it's a 256MB file, so you need at least 256MB of free space on the SD card:<br>
<b>sudo dd if=/dev/zero of=/swap.bin bs=1M count=256</b> (will take some time to complete)<br>
sudo dd if=/dev/zero of=/swap.bin bs=1M count=256
<b>sudo chmod 600 /swap.bin<br>
sudo chmod 600 /swap.bin
sudo mkswap /swap.bin<br>
sudo mkswap /swap.bin
sudo swapon /swap.bin</b><br>
sudo swapon /swap.bin


If you want to remove it, disable swap first:<br>
If you want to remove it, disable swap first:<br>
<b>sudo swapoff /swap.bin<br>
sudo swapoff /swap.bin
sudo rm /swap.bin</b><br>
sudo rm /swap.bin


To re-enable swap after each reboot, run<br>
To re-enable swap after each reboot, run<br>
<b>sudo swapon /swap.bin</b><br>
sudo swapon /swap.bin


To automatically enable swap every time the system boots, add the following line to /etc/fstab file:<br>
To automatically enable swap every time the system boots, add the following line to /etc/fstab file:<br>
<b>/swap.bin none swap defaults 0 0</b><br>
/swap.bin none swap defaults 0 0


To tell the system to swap as little as possible to reduce flash wear, add this to /etc/sysctl.conf<br>
To tell the system to swap as little as possible to reduce flash wear, add this to /etc/sysctl.conf<br>
<b># Swap as little as possible<br>
# Swap as little as possible
vm.swappiness=0</b><br>
vm.swappiness=0


Use
Use <b>sudo nano <i>filename</i></b> to edit those files and be very careful -- wrong entries can render your system unbootable).<br>
sudo nano <i>filename</i>
to edit those files and be very careful -- wrong entries can render your system unbootable).<br>


----
----
To use aggressive power saving mode (suspend on inactivity):<br>
To use aggressive power saving mode (suspend on inactivity):<br>
<b>sudo touch /etc/xo-suspend/aggressive</b> and rebooting will enable it<br>
sudo touch /etc/xo-suspend/aggressive
<b>sudo rm /etc/xo-suspend/aggressive</b> will disable it<br>
and rebooting will enable it<br>
sudo rm /etc/xo-suspend/aggressive
will disable it<br>


----
----
Enable automatic login to the desktop:<br>
Enable automatic login to the desktop:<br>


Go to “Settings > Login Window” and enter your password.<br>
Go to "Settings > Login Window" and enter your password.<br>


Choose "Xfce Session" as the Default session.<br>
Choose "Xfce Session" as the Default session.<br>
Line 179: Line 266:
<b>rm .gnome2/keyrings/login.keyring</b><br>
<b>rm .gnome2/keyrings/login.keyring</b><br>


The next time you reboot and connect to an encrypted network, you’ll be prompted for the network password. You will then be prompted to create a keyring. Leave both password boxes blank and click “Create. Confirm that you want to store your passwords unencrypted by clicking “Use Unsafe Storage.<br>
The next time you reboot and connect to an encrypted network, you'll be prompted for the network password. You will then be prompted to create a keyring. Leave both password boxes blank and click "Create." Confirm that you want to store your passwords unencrypted by clicking "Use Unsafe Storage."<br>


Warning: Anyone who gains physical or remote access to your user account files can now see all of your passwords.<br>
Warning: Anyone who gains physical or remote access to your user account files can now see all of your passwords.<br>
Line 185: Line 272:
----
----
To back up your Ubuntu installation:<br>
To back up your Ubuntu installation:<br>
Boot into Sugar by holding down the “O” game key while turning on your XO. Release the game key when directed.<br>
Boot into Sugar by holding down the "O" game key while turning on your XO. Release the game key when directed.<br>


Connect a USB memory device. Open the terminal and type<br>
Connect a USB memory device. Open the terminal and type<br>
<b>su<br>
su
df
df</b><br>


Note where the USB and SD are mounted. The SD is at /media/OLPCRoot and the USB should be /media/<i>USB-device-name</i>. Then type<br>
Note where the USB and SD are mounted. The SD is at /media/OLPCRoot and the USB should be /media/<i>USB-device-name</i>. Then type<br>
<b>cd /media/OLPCRoot<br>
cd /media/OLPCRoot
tar cvzf /media/<i>USB-device-name/file-name.tgz</i> ./</b><br>
tar cvzf /media/<i>USB-device-name/file-name.tgz</i> ./

This is a lengthy process and will take some time to complete. The exact time required depends upon the contents of your SD card.<br>
This is a lengthy process and will take some time to complete. The exact time required depends upon the contents of your SD card.<br>


Line 199: Line 287:


To restore your backup to the same SD card, use the Sugar terminal to enter<br>
To restore your backup to the same SD card, use the Sugar terminal to enter<br>
<b>su<br>
su
cd /media/OLPCRoot<br>
cd /media/OLPCRoot
tar xvzf /media/<i>USB-device-name/file-name.tgz</i> ./</b><br>
tar xvzf /media/<i>USB-device-name/file-name.tgz</i> ./


To restore your backup to a new SD card, follow the same procedures you used to install Ubuntu for the first time, but substitute the "tar xvzf <i>filename</i>" command above for the "tar xvjf <i>filename</i>" in Teapot's installation instructions.<br>
To restore your backup to a new SD card, follow the same procedures you used to install Ubuntu for the first time, but substitute the "tar xvzf <i>filename</i>" command above for the "tar xvjf <i>filename</i>" in Teapot's installation instructions.<br>


----
==Tips and Fixes==
For proper operation of a mobile device to access wireless broadband, the ppp package is missing and the olpc user has to be added to the ''dip'' group:


sudo apt-get install ppp
To enable the monochrome 200dpi “reader” mode, press the Frame key in the upper-right corner of the keyboard.<br>
sudo usermod -G dip -a olpc

Now the NetworkManager Applet should work just find with many mobile handsets connected via USB, i.e. Sony Ericsson K600 or K800 series. Just configure your network operators connection settings there and connect like a WLAN.

==Tips and Tricks==

To enable the monochrome 200dpi "reader" mode, press the Frame key in the upper-right corner of the keyboard.<br>
----
----
The Bulletin Board key (between the volume control keys and the Frame key) is mapped as F11, which toggles between fullscreen and windowed-mode for many applications.<br>

==Fixes==

If the mic light of the XO is always illuminated, un-check the "V_REFOUT enabled" box in the sound control panel and in the terminal type<br>
If the mic light of the XO is always illuminated, un-check the "V_REFOUT enabled" box in the sound control panel and in the terminal type<br>
<b>alsamixer -V all</b><br>
alsamixer -V all
Navigate with the arrow keys to the last entry and set it to "MM" by pressing "m". Press Esc to quit.<br>
Navigate with the arrow keys to the last entry and set it to "MM" by pressing "m". Press Esc to quit.<br>



Latest revision as of 23:23, 11 March 2012

Alex Belits (alias Teapot) has released a customized version of Ubuntu Intrepid (8.10) for the OLPC XO.

This is an easy-to-setup, easy-to-use desktop operating system for the XO based on the rock-solid foundations of Ubuntu. It is ideal for G1G1 adult donors who would like to have a real desktop environment instead of Sugar or for children who are already used to more traditional computers.

When Ubuntu is installed, the Sugar installation is not affected. The whole OS boots/runs comfortably from the SD card. If the SD card is removed and the machine is restarted, you boot into Sugar. Sugar may also be booted without removing the SD card by holding down the "O" game key while powering up the XO.

It also has the most important power management features of Sugar so the XO can be used like a real laptop with it.

XO specific customizations

  • Deep suspend/resume works for closing/opening the lid
  • Automatic shallow suspend is supported by a custom script which activates shallow suspend if there is no user input and there is no high load on the system. This script can be easily activated/deactivated according to the needs. This can be used for ebook reading or browsing. Similar to advanced power management of Sugar.
  • Custom desktop theme with XO-friendly colors (green...etc)
  • Battery state of charge indicator works and charge percentage is included in the default desktop toolbar
  • Dedicated arrow buttons (left side of the screen) mapped as direction buttons (so can be used when browsing for example)
  • Game buttons are mapped as (Home/End, Page Up/Down), so these can be used for browsing or reading.
  • Screen rotation with the dedicated button (below the arrow buttons) is functional.

Notable features

  • Xfce desktop preconfigured with GDM, so the user gets a graphical login and desktop without extra setup. This desktop environment is suitable for the resources of the XO and advanced enough to work with.
  • Automatic login can be easily set-up with the GDM configurator, so if you want you can get directly into the desktop if you want (less secure but more comfortable)
  • Synaptic and GDebi are installed by default so newbies can install extra software by the GUI
  • Web browsing: Firefox 3.0.4 (installed by default but not very snappy), the latest version of Firefox (offering improved performance over FF3.0) can be installed via optional instructions below, or Opera 9.6 can be easily installed (starts much faster than Firefox, smaller memory footprint)
  • PDF capable: ePDFViewer by default, or Evince can be installed easily with Synaptic. These are very capable PDF viewer programs.
  • Flash capable: Flash v10 works in Firefox and Opera (after installing the plugin with Synaptic). Flash-enhanced websites seem to render correctly. Flash games and videos are too slow, but simple flash applets work.
  • Watching YouTube videos is supported with a dedicated download/watch program (TubeWatcher). (This is because Flash video playback is not fast enough to be enjoyable from within the browser) NOTE: Changes to the YouTube website now prevent TubeWatcher from functioning.
  • Java capable: Java JRE 1.6 u10 works without issues (after installing with Synaptic). Azureus works (advanced, Java based Bittorrent client).
  • FBReader (advanced ebook reader) can be installed with Synaptic.
  • All other Ubuntu Intrepid tested applications can be installed and used (AbiWord, Gnumeric, OpenOffice...etc)
  • Mplayer is installed by default. VLC Player can be installed easily and plays good-quality movies smoothly
  • Pidgin installed by default
  • Skype 1.3 works with headset (downloaded from skype.com, installed from package, audio device set correctly: see solutions)
  • Swap file can be easily created, so larger applications can be run on the 256 Mb physical RAM of the XO. A 256Mb swap is recommended for OpenOffice.
  • The above install can fit to a 2GB SD card but you won't have too much free space remaining. A 4GB SD card is recommended.

Not supported

The XO cannot hibernate like a normal laptop (that would further reduce inactive power consumption compared to deep suspend). However, suspend to ram (deep suspend) works and results in low power loss while the XO is not in use. Wacom driver for an external USB tablet is not installed.

Requirements

You will need at least a 2GB SD card and a 1GB USB memory device. A 4GB or larger SD card is recommended to provide adequate space for applications and data.

An unlocked laptop. Obtain a Developer Key for your XO: http://wiki.laptop.org/go/Activation_and_Developer_Keys

Upgrade your OLPC OS to at least version 8.2.0: http://wiki.laptop.org/go/Release_notes/8.2.0

Upgrade your OLPC Firmware to at least to the version q2e18 (should be installed automatically with OS 8.2.0): http://wiki.laptop.org/go/OLPC_Firmware_q2e18

Obtain the customized Ubuntu Intrepid via BitTorrent (from http://mars.illtel.denver.co.us/~abelits/torrents/OLPCFiles-intrepid-20081130.tar.bz2.torrent) and place the .bz2 file on a USB memory device.

BitTorrent on XO

If you do not have another computer with a BitTorrent client installed, you can install BitTorrent on the XO under Sugar and use it to download the file. Open Terminal and type:

sudo yum install bittorrent

Do not attempt to download the file to your XO's internal NAND flash memory, as the file is very large and you're going to have to copy it to a USB device anyway for installation.

Connect a USB drive. Start the BitTorrent client and download the file to the USB drive.

cd /media/${DEVICE}
bittorrent-curses ${URL}

... where ${DEVICE} is the filesystem mount point where your USB drive is mounted, and ${URL} is the link to the .torrent file above.

Installation Procedures

Boot your OLPC into Sugar and start the Terminal activity.

Caution: It is recommended to copy and paste all of the following commands into Terminal rather than typing them, as mistakes may render your system nonfunctional.

Connect the USB drive. Do NOT insert SD card yet. The process will fail if the SD card is already inserted. Open Terminal and type

mount | grep /dev/sd

It may take a few seconds for the USB drive to be noticed. Repeat until it returns a line like this:

/dev/sda1 on /media/${DEVICE}

... where ${DEVICE} is the filesystem mount point where your USB drive is mounted.

Become root:

su -l

Stop haldaemon:

/etc/init.d/haldaemon stop

Insert the SD card into the slot . All data on the card will be erased by the following commands, so ensure anything important has been saved to another device.

Erase MBR and partition table:

dd if=/dev/zero of=/dev/mmcblk0 bs=4096 count=1

Make the partition table:

echo -e ',,L,*\n\n\n' | sfdisk /dev/mmcblk0

Create the root filesystem:

mke2fs -jLOLPCRoot /dev/mmcblk0p1

Mount the filesystem and unpack the tarball onto it:

mount /dev/mmcblk0p1 /mnt
cd /mnt
tar xvjf /media/${DEVICE}/OLPCFiles-intrepid-20081130.tar.bz2

... where ${DEVICE} is the filesystem mount point where your USB drive is mounted.

Copy your developer key to the SD card:

cp /security/* security/

Reboot the computer

reboot

After booting into a new system, log in as user olpc with password olpcolpc, and perform final updates:

Click on the Network Manager icon at the bottom panel and select the wireless network you want to use. You will be prompted for the key or password, if one is required.

Change repositories

(Ubuntu Intrepid)

In terminal write:

sudo gedit /etc/apt/sources.list

Delete all and type:

deb cdrom:[Ubuntu 8.10 _Intrepid Ibex_ - Release i386 (20081029.5)]/ intrepid main restricted
deb http://archive.ubuntu.com/ubuntu intrepid main restricted
deb-src http://archive.ubuntu.com/ubuntu intrepid main restricted
deb http://security.ubuntu.com/ubuntu intrepid-security main restricted
deb-src http://security.ubuntu.com/ubuntu intrepid-security main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu intrepid-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu intrepid-updates main restricted

## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
# deb http://archive.ubuntu.com/ubuntu intrepid universe
# deb-src http://archive.ubuntu.com/ubuntu intrepid universe
# deb http://archive.ubuntu.com/ubuntu intrepid-updates universe
# deb-src http://archive.ubuntu.com/ubuntu intrepid-updates universe
# deb http://security.ubuntu.com/ubuntu intrepid-security universe
# deb-src http://security.ubuntu.com/ubuntu intrepid-security universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
# deb http://archive.ubuntu.com/ubuntu intrepid multiverse
# deb-src http://archive.ubuntu.com/ubuntu intrepid multiverse
# deb http://archive.ubuntu.com/ubuntu intrepid-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu intrepid-updates multiverse
# deb http://security.ubuntu.com/ubuntu intrepid-security multiverse
# deb-src http://security.ubuntu.com/ubuntu intrepid-security multiverse

deb http://old-releases.ubuntu.com/ubuntu/ intrepid main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ intrepid-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ intrepid-security main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ intrepid-proposed main restricted universe multiverse

Update system

sudo aptitude update

Start Terminal and complete the configuration:

sudo aptitude safe-upgrade
sudo aptitude reinstall ssl-cert
sudo aptitude clean
sudo /etc/init.d/cups start
mkdir .mplayer
echo -e 'vo=sdl\nframedrop=1\nlavdopts=skiploopfilter=all:fast=1' > .mplayer/config
exit

Optional Steps


Manage your updates

You can type in terminal:

sudo apt-get install update-manager

Change your password with this terminal command:

passwd

Enter olpcolpc as the current password, then enter the new password you intend to use twice.

Changing the password does not change the password for the network manager keyring. The keyring password will still be olpcolpc.

rm .gnome2/keyrings/login.keyring

will remove the old keyring. A new one will be created the next time you connect, allowing you to choose a new password.


Install any other packages/software you desire (gimp, inkscape, msttcorefonts , flashplugin-nonfree, OpenOffice.org, etc.) Certain Firefox extensions such as flashblock, adblock and noscript are very helpful on the XO.

After installing flashplugin-nonfree, run

sudo ln -s /etc/alternatives/firefox-flashplugin /usr/lib/firefox-addons/plugins/flashplugin-alternative.so

and install flashblock extension (the usual way, from the browser itself).


Upgrade the included Firefox 3.0 to the latest version, which performs considerably faster on the XO.

Use Synaptic Package Manager under the System menu to install the "libstdc++5", "libnotify-bin" and w3m" packages.

Download the Ubuntuzilla .deb package from http://sourceforge.net/projects/ubuntuzilla/files/ubuntuzilla/ubuntuzilla-4.6.1-0ubuntu1-i386.deb and install by double-clicking.

Close Firefox.

Open terminal and type

ubuntuzilla.py

Answer the "y/n" questions to install the latest version of Firefox.

Adding the "Default Full Zoom Level" extension will enable you to specify a default zoom level for browsing.


Adjust your clock:

Set your OLPC to the correct time zone:

sudo dpkg-reconfigure  tzdata

If your clock is still not set correctly, set it manually with

sudo date 102413252009

(the format is MMDDhhmmYYYY)

or set the clock automatically by synchronizing with a time server:

sudo ntpdate pool.ntp.org

You can make a swap file to improve performance in certain situations. In this example it's a 256MB file, so you need at least 256MB of free space on the SD card:

sudo dd if=/dev/zero of=/swap.bin bs=1M count=256
sudo chmod 600 /swap.bin
sudo mkswap /swap.bin
sudo swapon /swap.bin

If you want to remove it, disable swap first:

sudo swapoff /swap.bin
sudo rm /swap.bin

To re-enable swap after each reboot, run

sudo swapon /swap.bin

To automatically enable swap every time the system boots, add the following line to /etc/fstab file:

/swap.bin none swap defaults 0 0

To tell the system to swap as little as possible to reduce flash wear, add this to /etc/sysctl.conf

# Swap as little as possible
vm.swappiness=0

Use

sudo nano filename

to edit those files and be very careful -- wrong entries can render your system unbootable).


To use aggressive power saving mode (suspend on inactivity):

sudo touch /etc/xo-suspend/aggressive

and rebooting will enable it

sudo rm /etc/xo-suspend/aggressive

will disable it


Enable automatic login to the desktop:

Go to "Settings > Login Window" and enter your password.

Choose "Xfce Session" as the Default session.

Bring up the Security tab and select Enable Automatic Login.

Note: You will still be prompted for your keyring password to connect to your network every time you log in, which pretty much defeats the purpose of enabling automatic login. You can eliminate the keyring password as well, but that requires storing all of your passwords in plain-text. This is not recommended, but if fully automatic login is more important to you than password security, delete your existing keyring with:
rm .gnome2/keyrings/login.keyring

The next time you reboot and connect to an encrypted network, you'll be prompted for the network password. You will then be prompted to create a keyring. Leave both password boxes blank and click "Create." Confirm that you want to store your passwords unencrypted by clicking "Use Unsafe Storage."

Warning: Anyone who gains physical or remote access to your user account files can now see all of your passwords.


To back up your Ubuntu installation:
Boot into Sugar by holding down the "O" game key while turning on your XO. Release the game key when directed.

Connect a USB memory device. Open the terminal and type

su
df

Note where the USB and SD are mounted. The SD is at /media/OLPCRoot and the USB should be /media/USB-device-name. Then type

cd /media/OLPCRoot
tar cvzf /media/USB-device-name/file-name.tgz ./

This is a lengthy process and will take some time to complete. The exact time required depends upon the contents of your SD card.

You can give your tgz file any name you want.

To restore your backup to the same SD card, use the Sugar terminal to enter

su
cd /media/OLPCRoot
tar xvzf /media/USB-device-name/file-name.tgz ./

To restore your backup to a new SD card, follow the same procedures you used to install Ubuntu for the first time, but substitute the "tar xvzf filename" command above for the "tar xvjf filename" in Teapot's installation instructions.


For proper operation of a mobile device to access wireless broadband, the ppp package is missing and the olpc user has to be added to the dip group:

sudo apt-get install ppp
sudo usermod -G dip -a olpc

Now the NetworkManager Applet should work just find with many mobile handsets connected via USB, i.e. Sony Ericsson K600 or K800 series. Just configure your network operators connection settings there and connect like a WLAN.

Tips and Tricks

To enable the monochrome 200dpi "reader" mode, press the Frame key in the upper-right corner of the keyboard.


The Bulletin Board key (between the volume control keys and the Frame key) is mapped as F11, which toggles between fullscreen and windowed-mode for many applications.

Fixes

If the mic light of the XO is always illuminated, un-check the "V_REFOUT enabled" box in the sound control panel and in the terminal type

alsamixer -V all

Navigate with the arrow keys to the last entry and set it to "MM" by pressing "m". Press Esc to quit.

Useful Links

The complete install instructions, in-depth discussion, current download link and general support (OLPC News thread)

Solutions for typical customizations and problems (OLPC News thread)