.: Linux for the SH-5 :.
:: News ::

22 February 2005
Gallery added

12 January 2005
2.4.29-rc2 and 2.6.8.1 patches added

10 January 2005
2.4.28 and 2.4.29-rc1 patches added

14 November 2004
More material about drop-in kernel trees added

13 November 2004
Initial public release of cayload

30 September 2004
Created page
:: NAVIGATION ::
main page
contact the author
photo gallery

Linux kernel

Support for the sh64 architecture has been in Linux 2.4 since 2.4.22 and in 2.6 since 2.6.8.

Recent work (awaiting inclusion in the official kernel trees) is currently maintained using GNU Arch.

To access this work, register my archive as follows:

tla register-archive http://www.rpcurnow.force9.co.uk/tla/2004-linux

This archive contains 2.4 and 2.6 "drop-in" trees which can be applied on top of kernel.org Linux source releases. The drop-in trees contain an empty file in the top level directory of the form AGAINST-2.x.x which indicates the kernel.org version onto which the tree can be dropped.

A tool for linking the drop-in tree on top of the kernel org tree can be found in the drop-in category within the above archive. (This still needs some documentation writing for it.)

The 2.4 and 2.6 drop-in trees are in the sh64--working--2.4 and sh64--working--2.6 versions of the above archive, respectively.

Combo patches

We maintain patches relative to the kernel.org trees. These contain a mixture of fixes that are pending being sent up to Marcelo and Andrew, and other work that is highly unlikely ever to be merged (especially for 2.4).

Below are the latest patches to apply to the kernel.org trees. These supply all the latest bugfixes and functionality that has been implemented for sh64. Note, there are many unrelated patches combined together in these patch files. If you require individual patches broken out, you will have to get these through our GNU Arch trees.

Patch for linux-2.4.28
Patch for linux-2.4.29-rc1
Patch for linux-2.4.29-rc2
Patch for linux-2.6.8.1

Note that 2.6.8.1 is the last 2.6 series kernel that the sh64 port has been rebaselined to. Work to support 2.6.9 and 2.6.10 is ongoing. In particular, there is a problem with writable MAP_SHARED mmap's over NFS that is still being looked into. Even the 2.6.8.1 port has been seen to lock up occasionally; there are currently no leads for debugging this. In contrast, 2.4.28 appears to be absolutely rock-solid.

cayboot

cayboot is a tool for programming Linux kernel images (and optional ramdisks) into the boot flash on Cayman boards. This allows Linux to be booted on the Cayman without the need for a Microconnect/Microprobe debug adaptor.

tarball releases

Version 0.2 30 September 2004
Available as source code by HTTP

Please see the README file in the tarball for more information.

GNU Arch repository

This is available in the cayboot--dev--0 branch of the archive which can be accessed via
tla register-archive http://www.rpcurnow.force9.co.uk/tla/2004-linux

cayload

introduction

cayload is an ethernet bootloader for downloading Linux kernels to a Cayman board.

It's primary use is for sh64 Linux developers and maintainers. It dispenses with the need for a Microconnect debug adaptor for downloading kernels. Moreover, it is extremely fast. A kernel can be downloaded at 5MB/s, i.e. most kernels will download in under a second. This compares to the fastest downloading over a Microconnect, which is getting on for a minute.

A client stub runs on the Cayman board. So far, this has always been hosted in the Cayman flash and booted using cayboot (see above). In principle, this small program could be downloaded to the Cayman using the 'Madrid' (bare machine) toolchain. I suspect some bootstrap changes would be required for this, though (e.g. the MMU might need setting up differently.)

A server program is run on the host system, typically a Linux PC. The host program is largely platform-agnostic though.

The server can do the following:

  • configure the stub's IP address (via a broadcast BOOTP reply packet)
  • download elf images to the stub (e.g. the vmlinux file)
  • download binary files to the stub (e.g. a binary version of the vmlinux file, or a ramdisk)
  • download string data to the stub (e.g. to set the kernel command line)
  • the download information may be overlayed in any order

The download happens using a UDP-based protocol (with unicast addressing) between the two machines. Only the initial BOOTP reply message to tell the Cayman it's IP address is broadcast. (Note that the Cayman does not send a BOOTP request, it is entirely passive until it receives something it recognizes.)

tarball releases

Version 0.4 13 November 2004

Available as source code by HTTP

This release is still rather lacking in documentation. An example config file is included in the host directory. To run the server, ./cayload config.dat would typically be run in the host/ directory. The image.bin file in the sh5/ directory is programmed into the Cayman flash using cayboot, e.g. using

cayboot -b 0 -n "Ether" -c "none" -e 80003001 -i image.bin

(Note, versions 0.1 through 0.3 were internal test releases.)

GNU arch repository

This is available in the cayload--dev--0 branch of the archive which can be accessed via
tla register-archive http://www.rpcurnow.force9.co.uk/tla/2004-linux
Last updated: 23rd February 2005
Hosted on Force9
Copyright © 2005 Richard P. Curnow
All rights reserved