Guide to Hacking the OSD

From The Neuros Technology Wiki

Jump to: navigation, search

About this Guide

This guide is intended for people with some Linux experience, but no prior experience working with embedded hardware, NetBoot, TFTP, or NFS. There are optional steps for people with experience with DHCP, especially ISC DHCPd.

Can you build the OSD firmware with Windows? The answer may surprise you! Check out OSD_Virtual_Machine_Development and/or Building on Windows.

Remember, this is a wiki: everyone is welcome — nay, encouraged — to contribute. With that in mind, please dive right in!

Even if you're new to the OSD, you can help write the guide by telling us what parts are unclear on the "discussion" pages.

Getting Started

First of all you need to setup your OSD hardware so you can start using it for development work. Everyone needs to follow the hardware setup instructions before doing anything else.

Now, you need depending on what you want to achieve, you can then follow one of the two paths listed below. Decide for one of them, then before following the link and proceeding on that path, check if you need to setup some software on your workstation in the Workstation Setup page.

Here's the two paths you can follow:

  • You just want to develop new applications for stable versions of the OSD base system, and you don't need to modify anything else. Or you want to port existing applications and libraries to the OSD. again without touching the base system.
You should use the Virtual Machine Development Environment. This is the easiest route, and suggested for everyone with less experience or less time in their hands. Please note that the author of the virtual machine packages is no longer maintaining them, thus you won't be able to use this development method anymore, unless you can prepare your own VM packages.
  • You want to hack the base system (kernel, drivers, system scripts, GUI and support libraries, in other words change anything instead of adding it. Or you need to build a custom UPK package to flash to other OSDs. Or you want to have the latest version (trunk or non-stable tags) of the whole system.
You should follow the normal build process, and then either flash your UPK or boot everything from TFTP+NFS.

In both cases, afterwards you might want to boot your OSD from the network instead of from flash, to pick up the changes you've made without the need for long and tedious reflashing.

Ways to Read this Guide

In addition to reading this guide as individual pages, you may read (or print) the complete guide, all on one page. To read individual pages, use the table of contents below:

  1. Hardware Setup
  2. Workstation Setup
  3. DHCP Server Setup ((Optional.))
  4. The First Compile
  5. NetBooting the OSD
  6. Developing for the OSD
  7. Conclusion
Personal tools