The Open Lighting Project has moved!
We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.
We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.
Building a Custom Raspbian Image
From wiki.openlighting.org
This page lists the differences between the default Raspbian wheezy image and the one from the Open Lighting Project. If you create your own install from scratch you probably want to do most of these changes as well. The goal of this image is to produce an image as small as possible for end user use. To this aim, development packages, compilers and non-essential packages are removed.
- Password for the pi account changed to 'openlighting'
- Rootfs expanded to 4GB using `sudo raspi-config`
- Simon's key installed into /home/pi/.ssh/authorized_keys
- Timezone set to US/Pacific
- Remove Desktop and python_games in the /home/pi directory
- Modified /etc/rc.local to regenerate keys on first boot
- Copied over .screenrc and .vimrc files
- Added the Open Lighting Debian Repo to /etc/apt/sources.lists : deb http://apt.openlighting.org/raspbian wheezy main
- Root ssh access has been disabled in /etc/ssh/sshd_config
- Add init_uart_clock=16000000 to /boot/config.txt so the UART plugin works.
- Packages installed:
apt-get install screen vim deborphan debfoster localepurge
And the ola packages:
apt-get install ola ola-rdm-tests ola-conf-plugins
- Packages removed:
dbus-x11 desktop-base desktop-file-utils dillo gdb gdbserver gconf-service gconf2 gconf2-common gnome-icon-theme gnome-themes-standard gpicview gtk2-engines:armhf hicolor-icon-theme gcc g++ g++-4.6 gcc-4.6 gcc-4.4-base gcc-4.5-base gcc-4.6-base libc6-dev libtagcoll2-dev libwibble-dev libxapian-dev libfm-gtk-bin libfm-gtk1 libgtk2.0-0:armhf libgtk2.0-bin libgtk2.0-common netsurf-gtk penguinspuzzle omxplayer netsurf-common mupdf menu-xdg lxde-icon-theme lxmenu-data luajit samba-common scratch smartsim squeak-plugins-scratch squeak-vm usbmuxd xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-synaptics xserver-xorg-video-fbdev xdg-utils xauth x11-xkb-utils x11-utils x11-common cups-bsd cups-client cups-common libcups2 libcupsimage2
- Additional packages removed from the Pi2 image:
weston python-minecraftpi protobuf-compiler fakeroot libmtdev1 libwayland0 libxcb-shape0 libxcb-xfixes0 libxcursor1 libxkbcommon0 fonts-freefont-ttf gcc-4.7-base gstreamer1.0-plugins-base gnome-themes-standard-data gstreamer1.0-x
- Auto remove
apt-get autoremove
- Remove orphaned packages:
deborphan | xargs apt-get -y remove --purge
- Purge removed packages (if you didn't use --purge above)
dpkg -l | awk ' /^rc/ {print $2}' | xargs apt-get -y remove --purge
- Upgrade & clean up:
apt-get update && apt-get upgrade apt-get autoremove apt-get clean
- Finally zero out the remaining space, so that the zipped image is smaller:
cat /dev/zero > fill rm fill
This gets the image down to 609MB in the root fs or 662MB if you leave gcc/g++ installed.
Git Image
The following additional changes are done for the git image. The ola debian package normally does this, but since we're installing from source we need to do it ourselves.
- OLA dependancies have been installed (microhttpd, libusb, etc.)
- The OLA git repo has been cloned into /home/ola/ola
- The pi account was added and added to the dialout & plugdev groups
- /etc/udev/rules.d/10-local.rules was updated according to OLA_Device_Specific_Configuration