| ARM Linux 2.4 |
| ============= |
| |
| Please check ftp.arm.linux.org.uk:/pub/armlinux for latest updates. |
| |
| Compilation of kernel |
| --------------------- |
| |
| In order to compile ARM Linux, you will need a compiler capable of |
| generating ARM ELF code with GNU extensions. GCC 2.95.1 and EGCS 1.1.2 |
| are good compilers. |
| |
| To build ARM Linux natively, you shouldn't have to alter the ARCH = line |
| in the top level Makefile. However, if you don't have the ARM Linux ELF |
| tools installed as default, then you should change the CROSS_COMPILE |
| line as detailed below. |
| |
| If you wish to cross-compile, then alter the following lines in the top |
| level make file: |
| |
| ARCH = <whatever> |
| with |
| ARCH = arm |
| |
| and |
| |
| CROSS_COMPILE= |
| to |
| CROSS_COMPILE=<your-path-to-your-compiler-without-gcc> |
| eg. |
| CROSS_COMPILE=arm-linux- |
| |
| Do a 'make config', followed by 'make dep', and finally 'make Image' to |
| build the kernel (arch/arm/boot/Image). A compressed image can be built |
| by doing a 'make zImage' instead of 'make Image'. |
| |
| |
| Bug reports etc |
| --------------- |
| |
| Please send patches to the patch system. For more information, see |
| http://www.arm.linux.org.uk/patches/info.html Always include some |
| explanation as to what the patch does and why it is needed. |
| |
| Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk, |
| or submitted through the web form at |
| http://www.arm.linux.org.uk/forms/solution.shtml |
| |
| When sending bug reports, please ensure that they contain all relevant |
| information, eg. the kernel messages that were printed before/during |
| the problem, what you were doing, etc. |
| |
| |
| Include files |
| ------------- |
| |
| Several new include directories have been created under include/asm-arm, |
| which are there to reduce the clutter in the top-level directory. These |
| directories, and their purpose is listed below: |
| |
| arch-* machine/platform specific header files |
| hardware driver-internal ARM specific data structures/definitions |
| mach descriptions of generic ARM to specific machine interfaces |
| proc-* processor dependent header files (currently only two |
| categories) |
| |
| |
| Machine/Platform support |
| ------------------------ |
| |
| The ARM tree contains support for a lot of different machine types. To |
| continue supporting these differences, it has become necessary to split |
| machine-specific parts by directory. For this, the machine category is |
| used to select which directories and files get included (we will use |
| $(MACHINE) to refer to the category) |
| |
| To this end, we now have arch/arm/mach-$(MACHINE) directories which are |
| designed to house the non-driver files for a particular machine (eg, PCI, |
| memory management, architecture definitions etc). For all future |
| machines, there should be a corresponding include/asm-arm/arch-$(MACHINE) |
| directory. |
| |
| |
| Modules |
| ------- |
| |
| Although modularisation is supported (and required for the FP emulator), |
| each module on an ARM2/ARM250/ARM3 machine when is loaded will take |
| memory up to the next 32k boundary due to the size of the pages. |
| Therefore, modularisation on these machines really worth it? |
| |
| However, ARM6 and up machines allow modules to take multiples of 4k, and |
| as such Acorn RiscPCs and other architectures using these processors can |
| make good use of modularisation. |
| |
| |
| ADFS Image files |
| ---------------- |
| |
| You can access image files on your ADFS partitions by mounting the ADFS |
| partition, and then using the loopback device driver. You must have |
| losetup installed. |
| |
| Please note that the PCEmulator DOS partitions have a partition table at |
| the start, and as such, you will have to give '-o offset' to losetup. |
| |
| |
| Request to developers |
| --------------------- |
| |
| When writing device drivers which include a separate assembler file, please |
| include it in with the C file, and not the arch/arm/lib directory. This |
| allows the driver to be compiled as a loadable module without requiring |
| half the code to be compiled into the kernel image. |
| |
| In general, try to avoid using assembler unless it is really necessary. It |
| makes drivers far less easy to port to other hardware. |
| |
| |
| ST506 hard drives |
| ----------------- |
| |
| The ST506 hard drive controllers seem to be working fine (if a little |
| slowly). At the moment they will only work off the controllers on an |
| A4x0's motherboard, but for it to work off a Podule just requires |
| someone with a podule to add the addresses for the IRQ mask and the |
| HDC base to the source. |
| |
| As of 31/3/96 it works with two drives (you should get the ADFS |
| *configure harddrive set to 2). I've got an internal 20MB and a great |
| big external 5.25" FH 64MB drive (who could ever want more :-) ). |
| |
| I've just got 240K/s off it (a dd with bs=128k); thats about half of what |
| RiscOS gets; but it's a heck of a lot better than the 50K/s I was getting |
| last week :-) |
| |
| Known bug: Drive data errors can cause a hang; including cases where |
| the controller has fixed the error using ECC. (Possibly ONLY |
| in that case...hmm). |
| |
| |
| 1772 Floppy |
| ----------- |
| This also seems to work OK, but hasn't been stressed much lately. It |
| hasn't got any code for disc change detection in there at the moment which |
| could be a bit of a problem! Suggestions on the correct way to do this |
| are welcome. |
| |
| |
| Kernel entry (head-armv.S) |
| -------------------------- |
| The initial entry into the kernel made via head-armv.S uses architecture |
| independent code. The architecture is selected by the value of 'r1' on |
| entry, which must be kept unique. You can register a new architecture |
| by mailing the following details to rmk@arm.linux.org.uk Please give |
| the mail a subject of 'Register new architecture': |
| |
| Name: <name of your architecture> |
| ArchDir: <name of include/asm-arm/arch-* directory> |
| Type: <MACH_TYPE_* macro name> |
| Description: |
| <description of your architecture> |
| |
| Please follow this format - it is an automated system. You should |
| receive a reply in short order. |
| |
| --- |
| Russell King (26/01/2001) |