Project Reboot

Money is a little tight where I work right now, so putting technology in the hands of students requires a little creative thinking. I really wanted to teach coding, robotics, and 3D printing to my 6th period STEM class, but didn't have the computers necessary until I intercepted a cart of Dell Mini 9 910s destined for asset recovery. They were running Windows XP which rendered them too slow to be practical. Fortunately, I was able to install Ubuntu on them which runs fine (on most of them). Unfortunately, since they were purchased in March of 2009, they're really slow. The 9 inch screen is also problematic (students cannot see everything they need to in order to use Scratch, App Inventor, Animatron, etc. They'll tide me over until I can secure something better, but they definitely limit what I am able to do with my students.

Installing Ubuntu
Currently I'm using Lubuntu just because it's light weight and is supposed to run well on older machines. To get the computers I have working, I made my first bootable USB stick on Windows using Universal-USB-Installer. I tried using Ubuntu's built in Startup Disk Creator, but it just doesn't do a good job of making startup disks (the don't boot). When installing I recommend checking the boxes to install updates and 3rd party software (sometimes you luck out and this gets your WiFi working).

Installing the Arduino IDE
To install the Arduino IDE, download, untar, and save to a folder named arduino on a USB drive formatted with the Ext4 file format which is compatible with linux systems (fat doesn't support symbolic links which will cause a problem when copying the folder). Create a bash file on the USB stick as well, with the following commands and run with sudo. To get the esp8266 boards working for all users, install them using the git version instructions. You only have to do this once as you can copy the modified arduino folder in the /opt directory back to your USB drive and use that on all your other installs.

#!/bin/bash

echo ""
echo "Installing WiFi drivers - choose your computer"
echo "1) Computer not listed or drivers not needed (Dell Latitude E6510)"
echo "2) Dell Latitude E6500"
echo "3) Dell Latitude D830"
echo "4) Dell Latitude D610"
echo "5) Dell Inspiron 1525"

read computer

case "$computer" in
1)
    echo ""
    echo "If your computer is not listed you must install your drivers manually"
    echo "Refer to http://askubuntu.com/questions/55868/installing-broadcom-wireless-drivers"
    msg="No drivers were installed. Reboot not necessary."
    ;;
   
2 | 3 | 4 | 5)
    apt-get -y update
    update-pciids
    msg="WiFi drivers were installed. Reboot Recommended."
    ;;&

2 | 3 | 4 | 5)
    apt-get -y install firmware-b43-installer
    ;;

*)
    echo ""
    echo "Input not recognized. Proceeding with install of other software."
    ;;
esac

echo ""

#Prints what's happening, great for debugging
set -x

#install Pulse Audio - allows audio to be output to USB headset
apt-get -y install pavucontrol

apt-get -y install openscad

#Copy Arduino IDE from USB drive to computer
cp -r arduino /opt/arduino

#Add Arduino as a menu option
cat > /usr/share/applications/arduino.desktop << EOF
[Desktop Entry]
Type=Application
Icon=/opt/arduino/lib/arduino_icon.ico
Name=Arduino
GenericName=arduino
Exec=/opt/arduino/arduino
EOF

#Refresh menu
lxpanelctl restart

#Change permissions so that all users can upload sketches
cat > /etc/udev/rules.d/50-myusb.rules << EOF
KERNEL=="ttyUSB[0-9]*",MODE="0666"
KERNEL=="ttyACM[0-9]*",MODE="0666"
EOF

#Automatically login to guest user
cat > /etc/lightdm/lightdm.conf << EOF
[SeatDefaults]
autologin-guest=true
EOF

#Prevent prompt for password after computer goes to sleep
apt-get -y remove --purge light-locker
mkdir -p /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/
cat  >  /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml  << EOF
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-power-manager" version="1.0">
  <property name="xfce4-power-manager" type="empty">
    <property name="power-button-action" type="empty"/>
    <property name="show-tray-icon" type="empty"/>
    <property name="brightness-switch-restore-on-exit" type="int" value="0"/>
    <property name="brightness-switch" type="int" value="0"/>
    <property name="lock-screen-suspend-hibernate" type="bool" value="false"/>
  </property>
</channel>
EOF

#Set Firefox homepage
mkdir -p /etc/skel/.mozilla/firefox/guest.default/

cat > /etc/skel/.mozilla/firefox/guest.default/prefs.js << EOF
user_pref("browser.startup.homepage", "matsuk12.us/tms");
user_pref("browser.startup.homepage_override.mstone", "ignore");
EOF

cat > /etc/skel/.mozilla/firefox/profiles.ini << EOF
[General]
StartWithLastProfile=1

[Profile0]
Name=default
IsRelative=1
Path=guest.default
Default=1
EOF

set +x
echo ""
echo $msg


Playing DVDs
It's possible to get Ubuntu machines to play DVDs by following these directions.

Macs
Reimaging a Mac is fairly easy to do as well, provided you have a Mac to start with. For El Capitan, download the OS from the App Store, reformat an 8 GB USB stick, and turn it into an installer drive using the following command:
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app
To install, plug in the USB drive and power on the Mac while holding down the option key. For a clean install, run Disk Utility first and erase the target hard drive.

Mini 9 910 Specific Configuration
To get the WiFi cards to work, go to System Settings >> Software Updates >> Additional Drivers and install the proprietary drivers shown (it will take a minute or two for them to populate).

Dell D610 & D830
Comments