Tux logo

Linux on the Agilent Technologies AAEC-2000

       
Picture of AAEC-2000
SourceForge A big Thank You to the people of SourceForge for hosting this project!  
  Our SourceForge project web page is located at <http://sourceforge.net/projects/aaec-2000/>.  
gnu icon Most of the software released here is released under the GNU General Public License. Use this software at your own risk. Find out more about GNU at <http://www.gnu.org>  
Picture of AAED-2000 development Platform Supported Platform: Currently the only AAEC-2000 platform supported is the Agilent Technologies AAED-2000 Development System.  

Screenshot(s):

Picture of AAED-2000 running Linux
Linux running on the AAED-2000.

HOWTO

Booting Linux on the AAED-2000

1. To boot Linux on the AAED-2000 development system you will need
  • an AAED-2000 development system running the BootMonitor code (ships with the system),
  • Peter van Sebille's a2kboot bootloader,
  • a kernel, pre-compiled or from source. (If you go from source, you will need an ARM cross-compiler. This is available, pre-compiled from the LART project. See ``Links'', below, for the URL.
  • and a ramdisk.
2. Create a directory to work in.
$ mkdir aaed2000
$ cd aaed2000
3. Download the a2kboot.tar.gz from the project page <http://sourceforge.net/projects/aaec-2000/>.
4. Download the kernel source from <http://www.kernel.org/>. The current working version is 2.4.5. If you don't want to build a kernel from source just yet, you can download a glued kernel from the project page, <http://sourceforge.net/projects/aaec-2000/>, and skip down to step 15.
5. Download the ARM patches from <ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches>. The current working version is 2.4.5-rmk7.
6. Download the AAEC-2000 patches from the SourceForge project page <http://sourceforge.net/projects/aaec-2000/>. Thanks Peter!
7. Uncompress and untar the Linux kernel source.
$ zcat linux-2.4.5.tar.gz | tar -xvf -
8. Change directory to the kernel directory, /linux.
9. Patch the kernel with the rmk7 patch.
$ zcat ../patch-2.4.5-rmk7.gz | patch -p1
10. Patch the kernel with aaec-2000 patches
$ zcat ../aaed2000.patch.4.gz | patch -p1
11. Apply the default configuration for the AAED-2000 board and make the kernel.
$ cp ./arch/arm/def-configs/aaed2000 ./.config
$ make oldconfig
$ make dep
$ make clean
$ make zImage
12. Edit the 'glue' script in the linux/ directory to point the ``GLUED='' to a location that you want. The aaed2000/ directory, created at the start, is a good target.
13. Glue the kernel image. Glue'ing simply adds a line to the file with size information that the bootloader (a2kboot) requires.
$ ./glue
14. Change directory to aaed2000/.
$ cd ..
15. Uncompress and untar the bootloader tarball.
$ tar xzvf a2kboot.tar.gz
16. Get a ramdisk (remember this also needs to be glued), a glued one from http://www.netwinder.org is provided on the project download page <http://sourceforge.net/projects/aaec-2000/>.
17. At this point you will need some way of uploading all these things to the development system over the serial port. A short script called upload.sh is available from the project page. Alternately, you could use a terminal program, but it must be able to send binaries raw, without any protocol. This has been difficult to find. A new version of a utility called microcom is due out soon that should be able to do this. Check <http://microcom.port5.com/>.
18. Power-up the AAED-2000 and get it ready to recieve the various files we need to upload to it. On the AAED-2000 keyboard,
  • Hold the spacebar and hit reset. Keep the spacebar depressed until the prompt ``boot Monitor>'' appears, then hit Enter.
  • Set baud rate:
    boot Monitor> b 115200
  • Get ready to receive and execute srec file:
    boot Monitor> m
19. Run the upload script.
$ ./upload.sh
 
Or, if you are using a terminal program, do the following:
  • Upload the bootloader a2kboot/a2kboot.srec in binary mode.
  • Upload the glued kernel in binary mode.
  • Quickly answer `y' to the kernel's question about the ramdisk. If you miss this prompt (it times out relatively quickly) the kernel will boot, but will immediately panic when it can't find a root file system, hence the need for the ramdisk.
  • Upload the glued ramdisk in binary mode.
If everything went correctly, the kernel will boot when the ramdisk upload is completed.

A couple of notes here.

  1. If you used the binary off of the web site, then the touchscreen driver debug is enabled and you will see the coordinates in your terminal window, but you will not get a shell. This can be turned off by rebuilding the kernel after a make xconfig and turning off the touchscreen driver (under char drivers).
  2. There is also a problem with the default build code and the ramdisk I have posted. If you wish to re-build and want to use this kernel you will need to change the file arch/arm/mach-aaec2000/aaed-2000.c and change the line:
         setup_initrd( __phys_to_virt(AAED2000_INITRD_PHYS), 2*1024*1024);
    to
         setup_initrd( __phys_to_virt(AAED2000_INITRD_PHYS), 3*1024*1024 );


Links


Viewable With Any Browser


$Header: /home2/paulw/projects/linux-7k_photon/sf/htdocs/RCS/index.html,v 1.2 2001/10/09 22:52:53 paulw Exp $