Subject: Re: How to build an EBSA Kernel

From: Philip Blundell <[email-masked]>
Date: Thu, 28 Jan 1999 14:36:37 +0100

>1. I've pulled binutils 2.9.1.0.15, made and installed it
>2. Pulled over egcs-1.1b.tar.gz + egcs-1.1b-arm-diff-981004.gz +
>egcs-1.1b-xdev.patch.gz , built + installed egcs
>3. Pulled over the 2.1.132 kernel source for kernel.org
>4. Patched the 2.1.132 kernel with pre-patch-2.1.132-19990103-1.gz

All these are somewhat old now.  Although that's not necessarily your problem 
you should probably consider getting newer versions anyway.

>When the compiled kernel is pushed onto our EBSA via the Angel Debugger,
>copied to main memory and executed nothing happens :-(

Are you setting up the registers correctly for calling the kernel, and are you 
loading it at the correct address?

If so you probably need to insert more debugging stuff to figure out what's 
wrong.  If you can work out how far the kernel gets before crashing that would 
be a help.  The 21285 serial port console isn't initialised until quite late 
in bootup so if you get a crash early on it won't show up there.

p.

unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Iain Grant <[email-masked]>
Date: Thu, 28 Jan 1999 14:05:45 -0000

Having used Linux for a wee while I know creating an kernel is a
straightforward thing (on and Intel platform anyway). I'm trying to cross
compile an EBSA kernel using an PII running Redhat v5.1 (2.0.34 kernel) and
it ain't that easy.

Steps so far.

then built the .config file using 'make xconfig' . ( see bottom of mail for
the .config file created)

When the compiled kernel is pushed onto our EBSA via the Angel Debugger,
copied to main memory and executed nothing happens :-(
To test things we've added some code to head-armv.S to flicker the leds.
When executed the leds flicker but nothing else happens. 

At the moment I'm baffled as to what's wrong.  I don't want to do anything
fancy just get a compiled kernel to boot so that It can be customized later.
I have heard mentions of a bootloader for EBSA but as yet haven't managed to
get my grubby paws on it.

I have also contacted a couple of folk (names found through this mailing
list) for help, but even with their help I'm still stuck.

Help

Iain

------------- .config file --------------
#
# Automatically generated make config: don't edit
#
CONFIG_ARM=y

#
# System and processor type
#
# CONFIG_ARCH_ARC is not set
# CONFIG_ARCH_A5K is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_EBSA110 is not set
CONFIG_ARCH_EBSA285=y
# CONFIG_ARCH_NEXUSPCI is not set
# CONFIG_ARCH_VNC is not set
# CONFIG_ARCH_TBOX is not set
# CONFIG_CATS is not set
# CONFIG_ARCH_ACORN is not set
CONFIG_PCI=y
# CONFIG_ISA_DMA is not set
CONFIG_CPU_32=y
# CONFIG_CPU_26 is not set
# CONFIG_CPU_ARM2 is not set
# CONFIG_CPU_ARM3 is not set
# CONFIG_CPU_ARM6 is not set
# CONFIG_CPU_ARM7 is not set
CONFIG_CPU_SA110=y
CONFIG_PAGESIZE_32=y
# CONFIG_PAGESIZE_16 is not set
# CONFIG_PAGESIZE_8 is not set

#
# Code maturity level options
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_BINUTILS_NEW=y
# CONFIG_ALIGNMENT_TRAP is not set
# CONFIG_TEXT_INIT_SECTION is not set
CONFIG_FRAME_POINTER=y

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y

#
# General setup
#
# CONFIG_NET is not set
# CONFIG_SYSVIPC is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=m
CONFIG_BINFMT_MISC=m
# CONFIG_PARPORT is not set

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_IDE is not set

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_ONLY is not set

#
# Additional Block Devices
#
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_XD is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_HD is not set

#
# Character devices
#
# CONFIG_VT is not set
# CONFIG_SERIAL is not set
# CONFIG_SERIAL_EXTENDED is not set
CONFIG_SERIAL_21285=y
CONFIG_SERIAL_21285_CONSOLE=y
# CONFIG_WATCHDOG is not set
# CONFIG_MOUSE is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_FT_NORMAL_DEBUG is not set
# CONFIG_FT_FULL_DEBUG is not set
# CONFIG_FT_NO_TRACE is not set
# CONFIG_FT_NO_TRACE_AT_ALL is not set
# CONFIG_FT_STD_FDC is not set
# CONFIG_FT_MACH2 is not set
# CONFIG_FT_PROBE_FC10 is not set
# CONFIG_FT_ALT_FDC is not set

#
# SCSI support
#
# CONFIG_SCSI is not set
# CONFIG_SCSI_G_NCR5380_PORT is not set
# CONFIG_SCSI_G_NCR5380_MEM is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_MINIX_FS is not set
# CONFIG_EXT2_FS is not set
CONFIG_ISO9660_FS=m
# CONFIG_JOLIET is not set
# CONFIG_FAT_FS is not set
# CONFIG_PROC_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_UFS_FS is not set

#
# Partitions
#
# CONFIG_OSF_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SGI_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_ADFS=y
# CONFIG_ACORN_PARTITION_ICS is not set
# CONFIG_ACORN_PARTITION_POWERTEC is not set
# CONFIG_ACORN_PARTITION_RISCIX is not set
# CONFIG_NLS is not set

#
# Kernel hacking
#
CONFIG_DEBUG_ERRORS=y
# CONFIG_MAGIC_SYSRQ is not set

--------- end of .config file -----------
	Iain Grant
DMCC Firmware Engineer
Compaq (Scotland)
*Tel:   823-3532 (DTN) - Int'l (44-1292) 883532
*Fax:  823-3241 (DTN) - Int'l (44-1292) 883241
*E*:  [email-masked]
*:         @AYO

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Thu, 28 Jan 1999 19:17:10 +0000 (GMT)

> When executed the leds flicker but nothing else happens. 

The first point I'll make is that you can't use Angel to debug ARM Linux.

The EBSA285 kernel assumes that you have loaded it into RAM at 0x00008000,
and when you call it, you have set R0 = 0 and R1 = EBSA285 architecture number.
Plus, it wants the parameter page set up.

> get my grubby paws on it.

I need to find the time to clean up the EBSA285 boot loader source (the IDE
driver specifically) before I can release it.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |