Linux Netbook Project for Primary Schools

From Linuxcentre Wiki

Revision as of 10:17, 24 May 2014 by Admin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search


With around £12,000 budget to spend on renewing the ICT suite for it's pupils, this UK State Primary School with around 110 5-11 year olds has implemented 60 new Edubuntu netbooks allow for two classes of 30 children to each be able to use a computer.

Windows and Mac alternatives were considered but were found to be much more expensive. This would have resulted in far fewer computers being available to the school.

The school intends to use the computers for wide use across the whole National Curriculum. The school is aiming to make greater use of a web-based virtual learning environment (VLE) and this deployment will enable full and easy access to this resource.

The school has no ICT support staff and is relying entirely on external support and parent volunteer efforts.

These pages document in full detail how the project was planned and implemented, how the server and netbooks were built and configured in such a way as to allow any other school or similar organisation to precisely copy the procedure. The entire software cost was zero as all of the software deployed is free or open-source.

The project went live on October 14th 2009 so now all the documentation is being moved over to this Wiki so that others can benefit and hopefully contribute ideas and improvements.

New Release in April 2011

The Linux netbooks used over the last 18 months have been a success. A new build of the Linux netbooks has been finalised and will be rolled out initially on 10 netbooks. The new build is based on Ubuntu 10.10 Maverick Meerkat with all the latest updates applied. The detailed build instruction can be found here.



Internet Connectivity and Web Content Filtering

During 2012 web content filtering will be brought in-house. The local educational authority will be withdrawing the centralised service in 2013. The below pages will describe the progress:

Server Build


  • OS: Centos 5.4 Linux (a clone of RedHat Enterprise Linux 5)
  • Public read/write Samba share for pupils work. ( //server/share )
  • Setup regular scheduled job to synchronise one disk to the other with incremental backup so that recovery is possible in the event of file deletion or disk failure. Incremental share backups are available on another read-only Samba share.
  • SSH and NX/freeNX used for remote command-line or GUI desktop management.
  • DHCP server to automatically allocate IP addresses to all PCs and laptops (consider backup dhcp).
  • Local DNS (domain name lookup) domain called '.network'
  • Automatic proxy detection for web browsers.
  • Use of a proxy.pac on a locally installed Apache web server (used for VLE bypass and ease of system configuration).
  • File synchronisation service (rsyncd) to serve up read-only pupil home and custom scripts for netbook syncing.
  • A local Ubuntu apt repo for local updates (todo, low priority).
  • Setup basic squid web proxy cache service to allow caching of web pages and packages.
  • A Local MediaWiki server to keep track of stuff like IP addresses, documentation etc (todo)

Build Instructions

Netbook Build


  • OS: Ubuntu / Edubuntu 9.10, Karmic Koala
  • Educational software required for primary school age. Most of this is from the Edubuntu distro but there is plenty more.
  • Easy bookmarked access to the RM Kaleidos VLE software (flash based)
  • Office and DTP software with clip art
  • Netbooks are (mostly) stateless - all pupil's files will be stored on a network CIFS (samba) share
  • All pupils are auto-logged in as 'pupil' user. There will be no need to give any user a password.
  • All files will be read/write accessible to all users - there is a shared trust model in use. This is purely for simplicity of user management and support.
  • When a pupil switches on the netbook and when the wireless network becomes available, it presents them with a chooser dialogue which asks them their class and name then maps specific directories within the 'pupil' home directory onto their area on the network share. The Linux home directory is local. A bunch of symlinks are used to point to the pupil's personal directory on the server.
  • All files in the local pupil home directory are wiped upon rebooting the netbook. There is one exception - a Desktop directory called 'Emergency MyFiles' which allows local storage in case of server failure. It will keep files locally for up to 30 days.
  • Netbooks are built in such a way that even teachers should not be required to become root/administrator on them.
  • The resulting build boots fully to a usable desktop within 37 seconds and shuts down within 6 seconds.

Installed Applications

This is a list of application roughly sorted by subject. This is also pretty much how the menu structure looks on the final build.

  • Programming
    • MIT Scratch - Graphical drag'n'drop programming and animation for children
    • KTurtle - Logo-like programming and emulation
    • Little Wizard - Development environment for children
  • Science
  • Computing
  • Geography
  • Literacy
    • Kanagram - Anagram Game
    • KHangMan - The Classic Hangman Game
    • KLettres - Learn the Alphabert and Syllables in Different Languages
    • KWordQuiz - Flashcard and Vocabulary Learning Program
    • JClic - Multimedia Educational Activities Platform
    • Parley - Flashcard 'Spaced Repetition' Learning
  • Maths
    • Calculator
    • GCompris - Educational Suite for primary children
    • KAlgebra - Mathematical Calculator with 2D and 3D Graphs
    • KBruch - Practice Calculating with Fractions
    • Kig - Interactive Geometry
    • KmPlot - Mathematical Function Plotter
    • MathWar - Mathematical Card-based Game
    • TuxMath - Arcade Game that Helps Kids Practice Their Maths
  • Graphics
    • Tux Paint - Artistic Drawing Tool Especially for Kids
    • GIMP - Image Manipulation, Photo Retouching and Authoring Tool
    • GNU Paint - Simple Paint Tool
    • Scribus - Desktop Publishing
    • Inkscape - Vector Graphics Editor / Illustrator
    • Draw - Drawing Package for OpenOffice
    • Art of Illusion - 3D Modelling and Rendering
    • QCaD - Computer Aided Design
    • Dia - Visio-like Drawing Package
    • F-Spot - Personal Digital Photo Management
    • Xaos - Interactive Fractal Zoomer
    • XSane - Scanner Tool
  • Sound and Video
  • Office
  • Internet
  • Accessories
    • Calculator
    • Character Map
    • Disk Usage Analyser
    • gedit
    • Manage Print Jobs
    • onBoard
    • Search for Files
    • Take Screenshot
    • CD/DVD Creator
    • Terminal
  • Games
    • AisleRiot Solitaire
    • Atomix
    • Blackjack
    • Chess
    • Extreme Tux Racer
    • Gnometris
    • lagno
    • Mahjongg
    • Nibbles
    • Potato Guy
    • Robots
    • Tali
    • TuxMath
    • Five or More
    • Four-in-a-Row
    • Klotski
    • Mines
    • Same GNOME
    • Sudoku
    • Tetravex
    • Pingus
    • Frozen Bubble

Build Instructions

Follow these instructions to build a 'master' netbook which is then imaged/cloned to the other 59 netbooks.

Creating Netbook Disk Image

  • Once a sample build has been done then a disk build image should be taken (uses Clonezilla live with an USB stick).
  • Create a bootable USB stick for rebuilding netbooks using these instructions. (ref)
  • When time permits, create a network based clonezilla PXE-boot imaging service.

Netbook Re-Imaging

  • Process for rebuilding using the above bootable USB stick:
    • Plug in rebuild USB stick
    • Power up netbook
    • Press F12 a few times during BIOS startup until the boot menu appears
    • Select USB Storage and press enter
    • Wait until completed and rebooted (approx 7 mins)

Netbook Image Changes and Package Updates

The stratagy that will be used is as follows:

  • For updates that involve major changes it will make sense to update the master netbook build and then re-image all the netbooks.
  • For small configuration tweaks to the systems, the link-user custom script can be changed to call commands to make the changes upon network connectivity.
  • For simple package additions it is recommended the the link-user custom script can be changed to call commands to make the changes upon network connectivity but ensuring that the netbooks are all booted up and left to run for long enough for the package to fully install. (i.e. a controlled update). It could be problematic if a netbook were to be shutdown during a package update.
  • For changes to the pupil home directory, the change should first be made to /home/pupil/ on cleanly built netbook or the master netbook then rsynced to server:/opt/pupilhome/ directory. In this way the changes will propagate to all netbooks after the second reboot.


  • A parent in the school voluntarily supports simple IT things day-to-day to reduce number of chargeable calls to the chosen support company - this is purely on a best-effort and availability basis. They act as first-line for all netbook OS and server related queries.
  • The teachers in the school are to be trained by this parent to re-image the netbooks using one of the auto-restore USB sticks. Since the netbooks are essentially stateless, re-imaging a problematic netbook should solve any netbook build-related problems.
  • An separate broadband link is to be installed to access the server and network remotely for support purposes. Access to the server will be via SSH and NX.


  • Commercial On-site, telephone and remote where appropriate
  • Approx 2 day response.
  • Either based on fixed number of incidents, prepaid support time or monthly fixed charge.
  • Capable of supporting heterogeneous IT environments including Linux, WindowsXP, possibly MacOSX, Smart-boards and existing wired/wireless networks.
  • Support of internet connection and content filtering is via the LEA's network and is not related to this support.

Company Selection

  • This will vary depending on where your school is situated.
  • 3 IT support companies were evaluated who had Linux and School IT support experience (not listed here).
  • A company, Synergic IT, was chosen that offered a support contract which was based on a half-hourly charge rate for remote support or 1hour for on-site depending to locality.


  • There was a basic netbook orientation training session held for the teaching and support staff in the school. The teachers and staff will also be trained on how to rebuild netbooks using one of the auto-restore USB sticks.
  • Here are the notes from the training given on 10th November 2009: Basic Netbook Orientation: A basic introduction to this system.
  • School Laptop Help Page for Pupils

Issues Encountered

All issues and questions raised during the roll-out and use of this system will be logged here. Watch this space...

  • (2009-10-24) Cannot Print to Sharp MX-2300N (non-PS) printer
    • Process: Tried various specific and generic drivers and settings and eventually found that the windows driver was supplying a UserNumber to logon to the printer.
    • Explanation: The printer/photocopier was setup so that a User number had to be entered before any B&W or Colour could be printed or copied.
    • Fix: As the accounting for the various user numbers was apparently unused, this feature was disabled on the device and then the supplied printer driver worked out of the box. Needed to copy the following files from the master laptop to all of the others to update the desired printer settings: /etc/cups/printers.conf /etc/cups/ppd/Sharp-MX-2300N.ppd
  • (2009-11-02) Some laptops still have jumpy touchpads
    • Process: Need to compare the output of 'synclient -l' on a good and a bad laptop then figure out what setting is causing the problem then override on the autostart script for the touchpad.
    • Explanation: There appears to be an intermittent bug with xorg which ignores the settings in /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi the JumpyCursorThreshold default value is therefore not applied sometimes - It could be that the model of laptop is misdetected by xorg.
    • Fix: Edited the autostart script which fixes touchpad settings. Edited /opt/pupilhome/.config/autostart/synclient.desktop on server and added 'JumpyCursorThreshold=90' to the end of the Exec line.
  • (2009-11-10) OpenOffice Impress Fontwork Gallery is very slow
    • Explanation: When inserting and working with 'Fontwork gallery' in Impress, the moving and resizing seems to eat up lots of CPU and goes slowly.
    • Notes: It seems to depend on what item is chosen from the gallery.
  • (2009-11-12) Files Being Automatically Deleted
    • Explanation: The user's are still learning the hard way that their files will be wiped if they don't save them in the MyFiles network share/folder. It was reported that this was happening to a few pupils who were told to use the laptops by a supply teacher who has unfortunately had no training at all on the laptops.
    • Fix: Put a basic, pupil-oriented, simple help web page as a bookmark on firefox on the laptops.
  • (2009-11-13) Heavily Accented GCompris English Intro Voices
    • Explanation: It was pointed out by more than one teacher that the current Intro voices for GCompris (in English) are so heavily French accented that it is very difficult for english people to understand.
    • Fix: Removed the intros until better ones can be found. Intro audio files are in /usr/share/gcompris/boards/voices/en/intro/
  • (2009-11-18) OpenOffice auto-correct / auto-complete needs to be disabled
    • Explanation: It was reported that some users found the auto-correct and auto-complete functionality annoying in OpenOffice.
    • Fix: Opened open office writer, went into T'ools->AutoCorrect Options', unchecked Autoinclude in 'Exceptions' tab. In the 'Options' tab disabled the follwing features: 'Correct Two Initial Capitals', 'Capitalize first letter of every sentence'. In the 'Word Completion' tab, unchecked 'Enable Word Completion'. This was updated in the master pupil home dir.
  • (2010-01-08) Cannot use the video camera and microphone for the Kaliedos VLE.
    • Explanation: When using the video and audio comment features in the VLE, users were unable to click buttons on the flash popup dialogue to set the allow permissions.
    • Fix: The microphone is now fully operational on the VLE. The problem was partially resolved but is still not fixed due to an Adobe flash plugin bug (a 'feature' if you as Adobe!). It was possible to pre-authorise the camera and microphone for the domain but only by using keyboard tab navigation and then saving the settings to the server's copy of the pupil's home directory. The bug is two-fold: (1) the popup dialogue won't work with the mouse properly and (2) The camera is not reliably detected by the flash plugin even though it reliably works in all other applications and on many other flash applications. So (2) looks like a bug in the VLE flash code and (1) cannot be fixed until Adobe get over their insistence that it is a feature! see this
    • Camera fix: Seems like Adobe flash plugin will only work with the age-old v4l1 backwards-compatibility library loaded in firefox. Worked around this by pre-loading the library in firefox startup script using the command 'export LD_PRELOAD=/usr/lib/libv4l/'. See see this, comment #25. I created a custom-script to add the required line into /usr/bin/firefox if it does not already exist.
  • (2010-02-24) Some pupils are losing their saved scratch projects.
    • Explanation: The pupils are logging in correctly but when saving they are not selecting the 'MyProjects' folder in the Scratch save dialogue and are therefore saving the files to local disk.
    • Fix: There is a small bug in Scratch which means that the 'My Projects' button on the left-hand sidebar of the save dialogue doesn't navigate correctly. To work around this the documentation has been clarified and a new link called 'Save Your Work Here' has been created to guide the pupils to save in a server share.

Other Linux-based School Netbook Projects

  • Bering Strait School District - Alaska, USA - Bering Strait School District (BSSD) introduced over 450 Dell Mini 10v netbooks starting in August, 2009. All machines are running a customized image of Ubuntu 8.0.4 LTS, and a flash stick image was created in much the same way as this site's example. In addition, BSSD uses an Open Source PXE / Clonezilla network imaging solution on either re-purposed formed Windows machines, or utilizing a single Dell Mini 10v running as PXE server. A section of documentation is being added to the 13,500 page BSSD wiki for those interested in starting a similar project. Previously a Macintosh-only district, BSSD is now roughly running Linux for 25% of its student machines. The rollout has been very smooth.
Personal tools