RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Page "Cortex-A8 port/versions/57" does not exist. Please create it now, or hit the "back" button in your browser.

Cortex-A8 port source code

For people who know what they’re doing, the code is available in CVS as the ‘OMAP3Dev’ product, or as the ‘OMAP’ archive on this page. For people who don’t know what they’re doing, read on…

Getting and building the source

  1. If you don’t have a 32bit version of the Acorn/Castle/ROOL C/C++ suite, go here and buy one. Note that you’ll also need a suitable RISC OS machine to compile on (e.g. StrongARM or greater unless you like long compile times).
  2. Grab the source. You have two options for getting the source: To download one of the nightly source archives, or to fetch the absolute latest source from the CVS server.
    1. Downloading a source archive: The source archives are on this page. It’s the ‘OMAP’ archive which you want. Once you’ve downloaded it, you’ll want to use !UnTarBZ2 (also available from the above page) to extract it.
    2. Fetching source from CVS: This is best done from a Linux or Cygwin machine, in order to make sure the admin scripts work. However if you’re feeling adventurous then you can fetch the source using RISC OS – see this forum thread. Read on for details of the procedure under Linux/Cygwin.
      1. Follow the instructions in the CVS guide to set CVSROOT
      2. You’ll also want to set up your ~/.cvsrc file so that CVS always uses compression: Make sure the ‘cvs’ line has ‘-z9’ on it as one of the options, i.e. if your ~/.cvsrc file was previously empty the contents of the file would just be cvs -z9. See here for more info about the .cvsrc file.
      3. ‘cvs login’ to log into the server
      4. ‘cvs co -d bin castle/Admin/bin’ to grab the admin scripts into the folder ‘bin’.
      5. Add the ‘bin’ folder to your PATH to make your life easier (using ‘export PATH=$PATH:./bin’). The CVSROOT and PATH changes which you’ve made are probably best placed in a script which you can execute each time you want to do RISC OS work.
      6. ‘checkout OMAP3Dev’ to use the checkout script to grab all the source code needed for the OMAP3/Cortex port. (Note: this is a perl script. Try : ‘sudo ln -s /usr/bin/perl /bin/perl’ before if you have ubuntu or debian running)
      7. If you don’t have a suitable network filesystem (e.g. Sunfish or Moonfish) that you can use to copy source files to/from your Linux and RISC OS machines, do: ‘tar -cjvf ./ro_source.tar.bz2 ./’ to pack the tree for transfer to RISC OS. It can be unzipped with the !Untarbz2 application found here)
  3. Get the source tree ready for building.
    1. At a new location (i.e. on your RISC OS machine), run the Prepare.!Run obey file to set up the build tree. This will copy a few folders around to where the build system needs them, along with installing copies of the C/C++ compiler binaries. Note that the C/C++ tools will have to have been seen by the filer beforehand.
    2. Use Apps.!EraseCVS to remove the CVS folders from the tree, as they will (probably) break the build process. If you don’t want to use !EraseCVS, an alternative is to use the following command on a Linux/Unix machine:
      rsync -a —exclude=CVS/ —exclude=.cvstag * .
    3. Register the source tree with !Builder. For more information about this, see step 3 of How to build RISC OS, or the Builder page.
  4. Configure the source
    1. The DebugTerminal option in castle.RiscOS.Sources.Kernel.Hdr.Options can be used to enable/disable the serial terminal. By default it is disabled, but it can be enabled if you have no other input source available, or if you are working on particularly sensitive areas of the OS (e.g. when working on the USB drivers or if you want all VDU output copied to the serial port for debug purposes).
  5. Build the code!
    1. Note that it is advised that you only perform a build if the filer hasn’t seen the C/C++ tools. This is because some of the environment settings the C/C++ tools make conflict with those of the build system. Therefore if you’ve just set up a new build tree and ran the Prepare script, you will have to reboot before attempting to compile the code.
    2. Select the ROOL.OMAP3 build environment in Builder
    3. For the first build, check Clean, Clean All, Export headers, Export libraries, Export resources, Make ROM, Install ROM, and Join ROM. For subsequent builds you’ll usually only need Make ROM, Install ROM and Join ROM.
    4. Hit ‘Build’ and hope everything is working right. It will take around three quarters of an hour for the code to build.
    5. If everything went OK, the ‘Images’ folder should contain a new ROM image with a name like ‘aUI800-00’. If not, panic.

Submitting changes to CVS

Get in touch with ROOL, they can provide CVS write access to those who need it. See the Remote write access to the ROOL CVS repository page for further details.

Further reading

  • Build FAQ wiki page
  • How to build RISC OS wiki page
  • Developer's guide to RISC OS builds wiki page
  • ROOL CVS access guide
  • Notes for building RISC OS on the A9Home wiki page
Revised on July 28, 2011 13:21:19 by Jeffrey Lee (213) (195.72.173.130)
Edit | Back in time (6 revisions) | See changes | History | Views: Print | Source | Linked from: Build FAQ, Generic OMAP port setup information, How to port RISC OS to new hardware, Cortex-A8 port

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys