Kernel CPU87 and CU824

Last Kernel with support for the CPU87/CU824 ppc architecture is 2.6.25. After that Linux switched the all PowerPC boards to a more generic form that uses an instanciation file to initialize the hardware. There is no such file for CPU87/CU824.

Both boards use a similiar CPU but need different kernels as the device initialization is part of the kernel for ppc. CPU87 network is a lxt, CU824 is e100pro.

Preparation

Sources are in Subversion https://www-acc.gsi.de/svn/bel/embedded/trunk/kernel/cpu87

The vanilla Kernel sources have been modified by Denx (original upstream was at http://git.denx.de/?p=linux-2.6-denx.git;a=commit;h=23e5e7341e83d8c755c9e7cf20f2b45d9047c01a linux-2.6-denx-23e5e7341e83d8c755c9e7cf20f2b45d9047c01a but is no longer available). Patches and sources in https://www-acc.gsi.de/viewvc/svn/embedded/trunk/kernel/cpu87/

The following patches are necessary

  • linux-2.6.25.5-01_microsys.patch
  • linux-2.6.25.5-02_vme.patch
  • linux-2.6.25.5-03_phy-support.patch
  • linux-2.6.25.5-04_tx-collision.patch
  • linux-2.6.25.5-05_vme_write.patch
  • linux-2.6.25.5-06_msr_i.patch

It is not necessary to patch ec-irpts. ec-irpts is maintained as an out of tree module in https://www-acc.gsi.de/viewvc/view/bel/frontend/trunk/cpu87/ subversion.

Initialize ELDK environment (ARCH and CROSS_COMPILER)

EL6

. /opt/eldk/init.sh
export ARCH=ppc
export CROSS_COMPILE=powerpc-linux-
export -n LDFLAGS

Config

make mrproper
make cpu87_defconfig
# or make cu824_defconfig

edit .config and set the following settings to "y"
CONFIG_PHYLIB=y
CONFIG_LXT_PHY=y
CONFIG_TMPFS=y
CONFIG_NFS_V3=y
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_EEPRO100=y

update the config so all depencies of the above options are also set
yes "" | make config

build

make uImage
Result is arch/ppc/boot/images/uImage

ec_irpts

checkout from https://www-acc.gsi.de/viewvc/view/bel/frontend/trunk/cpu87/ subversion.
KMOD=/path/to/the/kernel/you/just/build make modules

Module ec_irpts will be loaded with a script and insmod. On the blades that is /common/usr/eldk/ppc_6xx/home/vme/interrupt/ec_irpts-$kver.ko

This topic: Frontend > WebHome > EmbeddedLinux > KernelCPU87
Topic revision: 02 Oct 2014, ChristophHandel
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback