 the Raspberry Jamboree) I had got a rough basic clone of Raspbian working, this wasn’t enough though, as the system had to be easy and complete as many tasks a teacher would need as possibly, with a press of a button.
So then new features like full Epoptes integration, Picontrol integration, NBD compression, student work collection system, auto installing software and a few others were added.
This brings us to the stage we are at now, a stable (ish) usable system designed to be easy to use for teachers.
Yeah, but how does it work?
It actually isn’t too complicated.
Few prerequisites though.
- Raspberry Pi is connected to the server via a switch or network hub
- A router handling IP addresses (DHCP) is on the network or you set one up on the serverThe
- Raspberry Pi has the boot files on its SD card, these are autogenerated when the server installs Raspi-LTSP and are tied to the servers IP address.
- Raspi-LTSP is installed on the server and the server is turned on.
As long as all those are met, then the below sequence of events should occur
- When powered on, the Raspberry Pi loads the kernel, initrd, cmdline.txt file and config.txt file
- Kernel reads the config options and loads the initrd.
- An initrd (also known as an initramfs) is a simple, very small Linux filesystem used to chainload other filesystems, in our case a filesystem over the network
- The LTSP scripts in the initrd grab an IP address and try and contact the server
- If successful, it mounts the Raspbian filesystem off the server, as COW (Copy on Write)
- Copy on Write is a special setup that is similar to read only, but the OS is able to change the files. When it reboots though, these changes are lost.
- Once mounted, it runs some more LTSP scripts to finish setting up the client. These include setting up NBD swap. This is compressed swap in case the Raspberry Pi runs out of RAM.
- Finally LDM (LTSP Display Manager) loads up, allowing the user to log in
- Once the user logs in, their home folder is then mounted. Their home folder is stored at /home/user on the server.
So why should I use this?
A few reasons
- Centralised operating system – The operating system for the Raspberry Pis is stored on the server, centrally. This means if you want to make a change to it, say update a package or a configuration file, simple, just modify it on the server.
- Centralised users – The user accounts are stored on the server, not the Raspberry Pis. This means any student can sit down at any Raspberry Pi in the classroom, log on and get access to all their files.
- Centralised files – The pupils home folder of all their work is stored centrally. This means only a single folder (/home) has to be backed up, and all the students work is instantly backed up.
- Work collection – Raspi-LTSP contains a simple but effective system for collecting work from students, they just place it in a folder in their home folder called handin. Then the teacher selects an option in Raspi-LTSP and it goes and collects the work from every student, placing it in a single folder for the teacher to mark.
I want to see videos of it in action!
Well lucky for you, Ben Smith (@ManchesterBudo), a computer science teacher based near Blackpool has been trialing the system for a number of months now and has created some videos of it in action.
I am sold! How do I get started?
As mentioned above, a few prerequisites.
- You need a network switch. It must have at least a single gigabit port (10/100/1000mbit), also sometimes called a stacking port. It is fine if the rest of 100mbit (10/100mbit). These can be picked up off ebay for less than £20, example1
A single gigabit port is essential as the server must plug into it.
- You need a classroom set of model B Raspberry Pis.
- You need enough Ethernet CAT5 Ethernet cables to reach from your switch to Raspberry Pis
- An old router or a DHCP server installed on the server machine to manage IP addresses on the network
- A server machine – this can be an old desktop machine, it does not need to have large amounts of processing power, should have at least 2gb of R