Personal tools
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.

Building a Custom Raspbian Image

From wiki.openlighting.org

Revision as of 09:03, 16 October 2012 by Nomis52 (talk | contribs)
Jump to: navigation, search

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
  • 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
  • Packages installed:
apt-get install screen vim  deborphan debfoster localepurge

And the ola packages:

apt-get install ola ola-rdm-tests
  • 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  
  • 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.

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