ARM Linux 2.4
  =============


    Please check ftp.arm.linux.org.uk:/pub/armlinux for latest updates.


    请检查ftp.arm.linux.org.uk:/pub/armlinux以获取最新的更新


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 Image' to build the kernel 
  (arch/arm/boot/Image).  A compressed image can be built by doing a 
  'make zImage' instead of 'make Image'.




编译内核
--------


  为了编译ARM Linux,你需要一个能够产生ARM ELF 带有GNU扩展代码的编译器
  GCC 2.95.1 和 EGCS 1.1.2都是不错的编译器


  为构建原生的ARM Linux,在最高一级的Makefile中不应该改变 ARCH = line
  的选项。然而,如果你没有默认安装的ARM Linux ELF工具,那么你应该像下述
  那样改变CROSS_COMPILE


  如果你希望交叉编译,在顶层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-


  然后"make config",根据"make Image"来构建内核(/arch/arm/boot/Image)
  压缩镜像要通过"make zImage"而不是"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.




Bug报告等
---------


  请将补丁包发布到补丁系统。获取更多信息,请参阅
  http://www.arm.linux.org.uk/patches/info.html
  其中包括了补丁是干什么的和它为什么被需要


  Bug报告应该发送至linux-arm-kernel@lists.arm.linux.org.uk,
  或者通过http://www.arm.linux.org.uk/forms/solution.shtml
  来提交


  当提交Bug的时候,请确保其中包括所有相关信息,比如说,在问题发生之前/
  之中打印出的内核信息等等




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)


头文件
----------


  一些新的包含目录在 include/asm-arm下被创建,能够在顶层目录减少混乱。
  这些目录以及其作用,如下所示:


   arch-* 机器/平台特定的头文件
   hardware 驱动器内部的ARM特定的数据结构/定义
   mach 针对特定机器接口的通用ARM的描述
   proc-* 处理器依赖的头文件(目前只有两类)




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.




支持的机器/平台
--------------


  ARM支持许多不同的机器。为了继续支持这些不同的机器,根据目录来区分不同的机器
  是很有必要的。


  现在我们有arch/arm/mach-$(MACHINE)目录被设计用于容纳无驱动文件的特定机器。
  对于未来的的机器,也应该有相应的include/asm-arm/arch-$(MACHINE)目录




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.




模块
----


  虽然模块化是被支持的,但是 ARM2/ARM250/ARM3机器上的每一个模块装载时由于页的
  大小会使内存到下一个32K边界。因此,模块化在那些机器上是不值得的。


  然而,ARM6及其以上的机器允许模块使用4K的倍数,像这样的机器就可以很好的使用模块
  化




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.




ADFS镜像文件
------------


  你可以通过挂载ADFS分区来存取你的ADFS分区的镜像文件,然后使用loopback设备驱动。
  你必须要安装有设置循环设备


  请注意PCEmulator DOS在一开始会有一个分区表,你应该'-o offset'来设置循环设备




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.




开发者要求
----------


  当编写包含单独汇编文件的设备驱动时,请把它包含于C文件中,而不是arch/arm/lib
  目录。这允许驱动被编译为可加载的,而不需要将一半的代码编译进内核中。


  一般来说,如果不是特别必要的话,不要使用汇编语言。那样会使得驱动在其他的硬件
  上不容易运行




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).




ST506磁盘驱动器
---------------


? ST506磁盘驱动器似乎工作的很正常(如果有一点慢)。后一句没懂


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.




1772 软盘驱动器
---------------
  这个似乎也是工作正常,但是没有被过多强调。可能会有一点问题的是它没有任何检测
  磁盘变化的代码!任何关于如何正确处理这件事的建议都是十分受欢迎的




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.




内核入口
--------
  内核初始化的入口是通过使用依赖于代码的架构的head-armv.S完成的。
  你可以注册一个新的架构通过发邮件至rmk@arm.linux.org.uk
  请把邮件的主题写为'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>


  请按照以上格式 - 这是一个自动的系统。你很快就会收到回复


---
Russell King (26/01/2001)
Logo

更多推荐