![]() |
Linux Installation Instruction for the EDB7312 |
home
smart firmware linux source tree cross compilers configure building root filesystem booting questions contact |
|
|
IntroductionDetailed directions on compiling a Linux/ARM kernel can be found at the ARM Linux website The directions below explain how to build a kernel that will work on the EDB7312 with SmartFirmware installed. You can find a precompiled linux kernel for the EDB7312 here.
|
|
|
Creating a Linux kernel source treeThe most current sources for Linux/ARM as of November 2, 2001 is version 2.4.13-ac4-rmk1. You will need to assemble the sources and patches necessary to create this version of the source tree. You will then need to apply a patch to add support for the EDB7312. To build the 2.4.13-ac4-rmk1 source tree you will need the following.
Unpacking the archives$ su Password: # cd /usr/src # mkdir arm # chown myuser.mygroup arm # exit $ cd /usr/src/arm ... get the archives above $ bunzip2 <linux-2.4.13.tar.bz2 | tar xf - $ cd linux $ gunzip <../patch-2.4.13-ac4.gz | patch -t -p1 $ gunzip <../patch-2.4.13-ac4-rmk1.gz | patch -t -p1 $ gunzip <../patch-2.4.13-ac4-rmk1-codegen1.gz | patch -t -p1
|
|
|
Cross-compiler toolsAssuming that you will be compiling your Linux kernel for the EDB7312 on an x86 processor based machine running Linux you will need a cross-compiler. You can download cross compiler tools from ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-2.95.3.tar.bz2.
|
|
|
Configuring the KernelBefore you configure the kernel you will need to make the following modifications to the root Makefile in the Linux source tree. Change the line for 'ARCH := ...' to 'ARCH := arm'. Change 'CROSS_COMPILE = ...' with 'CROSS_COMPILE = /usr/local/bin/arm-linux-', assuming you have installed the cross compilers in /usr/local/.# cp edb7312 arch/arm/def-configs # make edb7312_config # make menuconfig
|
|
|
Building the KernelYou can find a pre-built kernel for the EDB7312 here. The steps below will compile a kernel from the sources that were extracted and configured in the previous steps.# make dep # make vmlinux
|
|
|
Creating a root filesystemYou will need a root file system that Linux can mount as the root mount point. If you opt to have Linux NFS mount its root file system you can grab a somewhat reasonable file system from the Debian project. This base filesystem has all of the peices that you should need in order to load additional modules from the Debian project once you are up and running. The base filesystem can be found at ftp://ftp.us.debian.org/debian/dists/potato/main/disks-arm/current/base2_2.tgz and is approximately 15MB compressed.Unpacking the root filesystem$ su Password: # cd /nfs_exported_directory # tar tzf ...path.../base2_2.tgz
|
|
|
Booting the KernelFor SmartFirmware to be able to boot the Linux kernel you will need to configure a TFTP server and place the linuxload, vmlinux, and possibly ramdisk.gz files in a location accessible by the TFTP server. You can find the linuxload program in the SmartFirmware clients for the EDB7312 archive. The following SmartFirmware settings are required.SmartFirmware setupok setenv physical-mappings? true ok setenv output-device ttya ok setenv input-device ttya ok reset Booting linuxok boot linuxload nfs /nfs_exported_directory EDB7312 Linux loader (v0.2)... bootpath </ethernet@20000000>, bootargs <linuxload nfs /nfs_exported_directory> Loading vmlinux: Linux image loaded ELF image moved into place, entrypoint=0xC0028000 CORE: 0x0, 0x1000, 0x0 CMDLINE: cmdline="root=/dev/nfs nfsroot=192.168.0.2:/nfs_exported_directory ip=192.168.0.3 " About to Launch Linux....
|
|
|
Questions about Linux on the EDB7312If you have questions regarding running Linux on the EDB7312 with SmartFirmware please e-mail edb7312-linux@codegen.com.
|
| CodeGen, Inc.
PO Box 3357 Oakland, CA 94609 1-510-652-0151 info@codegen.com |