Typical Development Setup

1. Introduction

Scratchbox has been designed to allow multiple application developers work simultaneously on a single host machine. Each developer has his private user account, and all configuration is developer-specific. For example, toolchains are set up on a per-developer basis, so they don't need to be identical across all accounts.

This document explains possible system configurations for development, and shows and example procedure on how to set everything up. Please note that it depends on your project which approach is the best one for you.

2. Multiple developers

There are several alternative ways of setting up Scratchbox for multiple developers:

3. Target devices

The number and location of target devices may also vary. If the project is very small it is best to connect target device directly to the developer's workstation. If ethernet connectivity is available for the target device it is possible to install Scratchbox on a server and still have target device physically near developer's workstation. For a target device that has only serial or USB connection it is possible to connect it to server and do development and testing remotely using X windowing techniques (see Opening X windows on remote computer).

If there is only a single target device available it is best to connect it to server, preferably via ethernet connection, and have the device physically at lead tester's work spot. All testing work is then coordinated by the lead tester.

4. Setup example

This example configuration expects that

One of the developers is expected to be elected as "Scratchbox administrator", and he should set up the system according to the instructions outlined below:

  1. ensure that target device has ethernet support

  2. set up and verify network connection between server and target device (Accessing the iPaq)

  3. install and test Linux and GUI on target device (Installing Linux)

  4. create system user account for each developer on the server

  5. install Scratchbox on server (Installation instructions for administrator)

  6. add Scratchbox users (Setup procedure for users)

  7. add and set up identical toolchains for all users, for example PC and ARM (Setup procedure for users)

  8. start Scratchbox using a developer account and attempt to compile command line helloworld using all configured toolchains (Building a simple command line program)

  9. set up and test CPU transparency for each user (CPU transparency)

  10. set up rootstrap for each user (Rootstrap)

  11. start Scratchbox using a developer account and attempt to compile GUI helloworld using all configured toolchains (Rootstrap)

  12. connect target device to network and place it near your workstation

  13. copy GUI helloworld to target device and verify it runs correctly

  14. test the system as a whole.