linux-old/Documentation/ARM-README
<<
>>
Prefs
   1                           ARM Linux 2.1.99
   2                           ================
   3
   4  Since this is a development kernel, it will not be as stable as the 2.0
   5  series, and can cause very nasty problems (eg, trashing your hard disk).
   6  When running one of these kernels, I advise you to back up the complete
   7  contents of all your hard disks.
   8
   9
  10Contributors
  11------------
  12
  13  Here is a list of people actively working on the project (If you
  14  wish to be added to the list, please email me):
  15
  16  Name: Russell King
  17  Mail: linux@arm.uk.linux.org
  18  Desc: Original developer of ARM Linux, project co-ordinator.
  19
  20  Name: Dave Gilbert
  21  Mail: linux@treblig.org
  22  Desc: A3/4/5xx floppy and hard disk code maintainer.
  23
  24  Name: Philip Blundell
  25  Mail: Philip.Blundell@pobox.com
  26  Desc: Architecture and processor selection during make config.
  27
  28
  29Todo list
  30---------
  31
  32  This is the list of changes to be done (roughly prioritised):
  33
  34  * fully test new MEMC translation code
  35  * fully test new AcornSCSI driver.
  36  * reply to email ;)
  37
  38
  39                             Notes
  40                             =====
  41
  42Compilation of kernel
  43---------------------
  44
  45  In order to compile ARM Linux, you will need a compiler capable of
  46  generating ARM ELF code with GNU extensions.  GCC-2.7.2.2 is good.
  47
  48  To build ARM Linux natively, you shouldn't have to alter the ARCH = line in
  49  the top level Makefile.  However, if you don't have the ARM Linux ELF tools
  50  installed as default, then you should change the CROSS_COMPILE line as
  51  detailed below.
  52
  53  If you wish to cross-compile, then alter the following lines in the top
  54  level make file:
  55
  56    ARCH = <whatever>
  57        with
  58    ARCH = arm
  59
  60        and
  61
  62    CROSS_COMPILE=
  63        to
  64    CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
  65        eg.
  66    CROSS_COMPILE=/usr/bin/arm-unknown-linuxelf-
  67
  68  Do a 'make config', followed by 'make dep', and finally 'make all' to
  69  build the kernel (vmlinux).  A compressed image can be built by doing
  70  a 'make zImage' instead of 'make all'.
  71
  72
  73Bug reports etc.
  74----------------
  75
  76  Please send patches, bug reports and code for the ARM Linux project
  77  to linux@arm.uk.linux.org.  Patches will not be included into future
  78  kernels unless they come to me (or the relevant person concerned).
  79
  80  When sending bug reports, please ensure that they contain all relevant
  81  information, eg. the kernel messages that were printed before/during
  82  the problem, what you were doing, etc.
  83
  84  For patches, please include some explanation as to what the patch does
  85  and why (if relevant).
  86
  87
  88Modules
  89-------
  90
  91  Although modularisation is supported (and required for the FP emulator),
  92  each module on an arm2/arm250/arm3 machine when is loaded will take
  93  memory up to the next 32k boundary due to the size of the pages.  Hence is
  94  modularisation on these machines really worth it?
  95
  96  However, arm6 and up machines allow modules to take multiples of 4k, and
  97  as such Acorn RiscPCs and other architectures using these processors can
  98  make good use of modularisation.
  99
 100
 101ADFS Image files
 102----------------
 103
 104  You can access image files on your ADFS partitions by mounting the ADFS
 105  partition, and then using the loopback device driver.  You must have
 106  losetup installed.
 107
 108  Please note that the PCEmulator DOS partitions have a partition table at
 109  the start, and as such, you will have to give '-o offset' to losetup.
 110
 111
 112Kernel initialisation abort codes
 113---------------------------------
 114
 115  When the kernel is unable to boot, it will if possible display a colour
 116  at the top of the screen.  The colours have the following significance
 117  when run in a 16 colour mode with the default palette:
 118
 119    Stripes of white, red, yellow, and green:
 120       Kernel does not support the processor architecture detected.
 121
 122
 123Request to developers
 124---------------------
 125
 126  When writing device drivers which include a separate assembler file, please
 127  include it in with the C file, and not the arch/arm/lib directory.  This
 128  allows the driver to be compiled as a loadable module without requiring
 129  half the code to be compiled into the kernel image.
 130
 131  In general, try to avoid using assembler unless it is really necessary.  It
 132  makes drivers far less easy to port to other hardware.
 133
 134
 135ST506 hard drives
 136-----------------
 137
 138  The ST506 hard drive controllers seem to be working fine (if a little
 139  slowly).  At the moment they will only work off the controllers on an
 140  A4x0's motherboard, but for it to work off a Podule just requires
 141  someone with a podule to add the addresses for the IRQ mask and the
 142  HDC base to the source.
 143
 144  As of 31/3/96 it works with two drives (you should get the ADFS
 145  *configure hard drive set to 2). I've got an internal 20 MB and a great
 146  big external 5.25" FH 64 MB drive (who could ever want more :-) ).
 147
 148  I've just got 240 K/s off it (a dd with bs=128k); that's about half of what
 149  RiscOS gets, but it's a heck of a lot better than the 50 K/s I was getting
 150  last week :-)
 151
 152  Known bug: Drive data errors can cause a hang; including cases where
 153  the controller has fixed the error using ECC. (Possibly ONLY
 154  in that case...hmm).
 155
 156
 1571772 Floppy
 158-----------
 159  This also seems to work OK, but hasn't been stressed much lately.  It
 160  hasn't got any code for disc change detection in there at the moment which
 161  could be a bit of a problem!  Suggestions on the correct way to do this
 162  are welcome.
 163
 164
 165Kernel entry (head-armv.S)
 166--------------------------
 167  The initial entry into the kernel made via head-armv.S uses architecture
 168  independent code.  The architecture is selected by the value of 'r1' on
 169  entry, which must be kept unique.  You can register a new architecture
 170  by mailing the following details to rmk@arm.uk.linux.org.  Please give
 171  the mail a subject of 'Register new architecture':
 172
 173    Name: <name of your architecture>
 174    ARCHDIR: <name of include/asm-arm/arch-* directory>
 175    Description:
 176    <description of your architecture>
 177
 178  Please follow this format - it is an automated system.  You should
 179  receive a reply the next day.
 180---
 181Russell King (03/05/1998)
 182
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.