OpenWrt Forum Archive

Topic: IXP files

The content of this topic has been archived on 15 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Dear All :

Anyone have IXP expierence ?
becuse I put the following 2 files into IXP device , can not boot

Or I missunderstood , this 2 files does not mean root filesystem and linux kernel ?
openwrt-ixp4xx-2.6-squashfs.img
openwrt-ixp4xx-2.6-zImage

Thanks !!

Loosely modified from this post:

IXP4xx (XScale) based devices do not have a standardized image format similar to the trx format for Broadcom based routers.  You will need both the kernel, openwrt-ixp4xx-2.6-zImage (or the equivalent file for your device), and the filesystem, openwrt-ixp4xx-2.6-squashfs.img.  Most of the IXP devices I have run across are running RedBoot as their bootloader.  Assuming the your device runs RedBoot, flashing consists of several steps:

Do not blindly copy and paste.
Read the RedBoot docs

1) Getting access to RedBoot, serial is typically the most straight forward method for all devices. The info on this page also applies.  You may need to configure the network and/or transfer method.

2) Loading the kernel image into memory, this can be done with

load -r -b %{FREEMEMLO} openwrt-ixp4xx-2.6-zImage

3) Writing it to flash,  replace <kernel partition name> with the proper name, this varies depending on the device.

fis create <kernel partition name>

4) Loading the filesystem image into memory

load -r -b %{FREEMEMLO} openwrt-ixp4xx-2.6-squashfs.img

5) Writing the filesystem to flash, this also varies depending on the device.

fis create <filesystem partition name>

If all goes well, you now have a working device running OpenWrt.  Parts of the hardware may not be working if your device is not a clone of an already supported device.  If this is the case, board support code will need to be added for your device.

In order to receive a more helpful answer you will have to explain what "does not boot" means in more detail, and how you "put the files into IXP device"

(Last edited by Bartman007 on 5 Sep 2007, 09:24)

Also, the problem can be simply that your router doesn't supply a mach id for the kernel, or supplies a wrong one - or simply your router isn't supported yet.

RedBoot(tm) bootstrap and debug environment [ROM]
Version 1.92p1-1.0.0 - built 11:49:14, Nov 28 2006

Platform: EST958800 (XScale)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x08000000, 0x0001e210-0x07fd1000 available
FLASH: 0x50000000 - 0x52000000, 256 blocks of 0x00020000 bytes each.
RedBoot>
RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x50000000  0x50000000  0x00040000  0x00000000
RedBoot config    0x50040000  0x50040000  0x00020000  0x00000000
FIS directory     0x50060000  0x50060000  0x00020000  0x00000000
vmlinuz           0x504C0000  0x0001E400  0x00100000  0x0001E400
rootfs            0x505C0000  0x0001E400  0x00120000  0x0001E400
^^^^ Do I have to name a specific file name ?

RedBoot> fis load rootfs
RedBoot> fis load vmlinuz
RedBoot> exec
Using base address 0x0001e400 and length 0x00100000

and it stuck ...

Your platform isn't supported, and googling for EST958800 doesn't retun any results. What router/ap is this?

the chip is Intel "PRIXP425BD" , main board is IPBX-1825

So http://www.essti.com/products.php?ser=69&ser1=L3 ? As I've mentioned in different threads, you have to add support for the hardware specific parts (PHY IDs, GPIO mappings for PCI, etc). Other parts are generic on IXP4xx (serial, flash access) so that's something you can base the support code on. Patches are always welcomed - alternatively, you can donate a box to work on.

Is this sort info helpful ?

http://ecos.sourceware.org/docs-latest/ … ml#AEN4521

#define CYGNUM_HAL_INTERRUPT_NPEA         0
#define CYGNUM_HAL_INTERRUPT_NPEB         1
#define CYGNUM_HAL_INTERRUPT_NPEC         2
#define CYGNUM_HAL_INTERRUPT_QM1          3
#define CYGNUM_HAL_INTERRUPT_QM2          4
#define CYGNUM_HAL_INTERRUPT_TIMER0       5
#define CYGNUM_HAL_INTERRUPT_GPIO0        6
#define CYGNUM_HAL_INTERRUPT_GPIO1        7
#define CYGNUM_HAL_INTERRUPT_PCI_INT      8
#define CYGNUM_HAL_INTERRUPT_PCI_DMA1     9
#define CYGNUM_HAL_INTERRUPT_PCI_DMA2     10
#define CYGNUM_HAL_INTERRUPT_TIMER1       11
#define CYGNUM_HAL_INTERRUPT_USB          12
#define CYGNUM_HAL_INTERRUPT_UART2        13
#define CYGNUM_HAL_INTERRUPT_TIMESTAMP    14
#define CYGNUM_HAL_INTERRUPT_UART1        15
#define CYGNUM_HAL_INTERRUPT_WDOG         16
#define CYGNUM_HAL_INTERRUPT_AHB_PMU      17
#define CYGNUM_HAL_INTERRUPT_XSCALE_PMU   18
#define CYGNUM_HAL_INTERRUPT_GPIO2        19
#define CYGNUM_HAL_INTERRUPT_GPIO3        20
#define CYGNUM_HAL_INTERRUPT_GPIO4        21
#define CYGNUM_HAL_INTERRUPT_GPIO5        22
#define CYGNUM_HAL_INTERRUPT_GPIO6        23
#define CYGNUM_HAL_INTERRUPT_GPIO7        24
#define CYGNUM_HAL_INTERRUPT_GPIO8        25
#define CYGNUM_HAL_INTERRUPT_GPIO9        26
#define CYGNUM_HAL_INTERRUPT_GPIO10       27
#define CYGNUM_HAL_INTERRUPT_GPIO11       28           
#define CYGNUM_HAL_INTERRUPT_GPIO12       29
#define CYGNUM_HAL_INTERRUPT_SW_INT1      30
#define CYGNUM_HAL_INTERRUPT_SW_INT2      31

X C B  Description
- - -  ---------------------------------------------
0 0 0  Uncached/Unbuffered
0 0 1  Uncached/Buffered
0 1 0  Cached/Buffered    Write Through, Read Allocate
0 1 1  Cached/Buffered    Write Back, Read Allocate
1 0 0  Invalid -- not used
1 0 1  Uncached/Buffered  No write buffer coalescing
1 1 0  Mini DCache - Policy set by Aux Ctl Register
1 1 1  Cached/Buffered    Write Back, Read/Write Allocate

Virtual Address   Physical Address  XCB  Size (MB)  Description
---------------   ----------------  ---  ---------  -----------
   0x00000000       0x00000000      010     256     SDRAM (cached)
   0x10000000       0x10000000      010     256     SDRAM (alias)
   0x20000000       0x00000000      000     256     SDRAM (uncached)
   0x48000000       0x48000000      000      64     PCI Data
   0x50000000       0x50000000      010      16     Flash (CS0)
   0x51000000       0x51000000      000     112     CS1 - CS7
   0x60000000       0x60000000      000      64     Queue Manager
   0xC0000000       0xC0000000      000       1     PCI Controller
   0xC4000000       0xC4000000      000       1     Exp. Bus Config
   0xC8000000       0xC8000000      000       1     Misc IXP425 IO
   0xCC000000       0xCC000000      000       1     SDRAM Config

Those are for the intel ixdp425 evaluation board, not yours.

about booting ixp425 boards,

this project is with a board much like the ixdpg425 intel reference board

some working result was obtained thru changes to coyote-setup.c
which is enabled thru changes to the .config

this worked via OE, booted ok and found the network devices, redboot had no problems
the network is not completely working , so i am trying openwrt.. to get clues

however the same method fails on openwrt, openwrt produces a kernel and rootfs

the kernel fails to boot "booting the kernel ."

the machine ID is 604, must this be set somewhere ?

if anyone has any clues on how the ixdpg425 would be made to work then , making any
similiar board should be possible as well , we hope

thx

The discussion might have continued from here.