README
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:6k
- 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)