EmbedOne Linux Installation Instructions

September 14th, 2009 Leave a comment Go to comments

Required Items

Before you start, make sure you have the following:

  • Computer with a serial port interface
  • Serial cable (type depending on the embedded hardware serial connector)
  • Terminal software [1]
  • TFTP server software [2] (recommended, TFTP transfer is much faster) or terminal software supporting xmodem, ymodem or kermit upload depending on the bootloader
  • Ethernet cable and an Ethernet port on your computer for TFTP use
  • Power supply required by the embedded board
  • EmbedOne Linux image (either from your platform supplier, EmbedOne or built by yourself)

System Setup

Connect the serial cable between the embedded board and your computer. Open the terminal program and set it up for serial connection with the speed from table below. Also review the instructions regarding the bootloader (also in the table below) beforehand.

Table 1. Hardware-specific bootloader characteristics.

Platform Speed/bps/baud rate Bootloader
ADI Pronghorn SBC-250
ADI Pronghorn Metro
Gateworks Avila 2348-4
115200 RedBoot

NOTE! The bps settings listed in Table 1 are the default settings found typically on the device. It is possible to override the bps setting by configuration on most bootloaders.

If you are using TFTP to transfer images, connect the ethernet cable to Ethernet port as well, configure your IP address to 192.168.1.1 and start the TFTP server program. Configure the TFTP program so that its directory points to the location where you have stored the EmbedOne Linux images.

Power on the board and follow the instructions specific to your bootloader type.

Image Loading Using RedBoot

After powering the unit up, you should see output on the terminal screen similar to the one below:

+No devices on IDE controller 0

Trying NPE-B...success. Using NPE-B with PHY 0.
Ethernet eth0: MAC address xx:xx:xx:xx:xx:xx
IP: 0.0.0.0/255.255.255.0, Gateway: 0.0.0.0
Default server: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROM]
Red Hat certified release, version 1.30 - built 16:50:03, Apr 25 2007

Platform: ADI Engineering Pronghorn Metro (XScale) BE
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

RAM: 0x00000000-0x04000000, [0x0002a0b8-0x01fc1000] available
FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.
== Executing boot script in 5.000 seconds - enter ^C to abort

At this point, press CTRL-C to stop bootloader from continuing the boot process. If you miss the timeout (typically 5 seconds) to press ctrl-c, reboot the board by disconnecting it from the power supply and connecting again.

The platform name, RAM and FLASH details depend on the embedded board model.

NOTE! In case you are updating an existing installation of EmbedOne Linux, you can skip step 2 to preserve the existing configuration.

Unlock the flash for writing, initialize the flash and create product, config and log partitions. The exact commands depend on the board model, see the table below.

Table 2. Commands for creating log, config and product partitions

Platform Execute Commands
ADI Pronghorn SBC-250
fis unlock -f 0x50000000 -l 0xFC0000
fis init -f
fis create -f 0x50f60000 -l 0x20000 -n product
fis create -f 0x50f80000 -l 0x20000 -n config
fis create -f 0x50fa0000 -l 0x20000 -n log
ADI Pronghorn Metro
fis unlock -f 0x50000000 -l 0xFE0000
fis init -f
fis create -f 0x50f80000 -l 0x20000 -n product
fis create -f 0x50fa0000 -l 0x20000 -n config
fis create -f 0x50fc0000 -l 0x20000 -n log
Gateworks Avila 2348-4

Gateworks Cambria GW2358-4
fis unlock -f 0x50000000 -l 0xFE0000
fis init -f
fis create -f 0x50f80000 -l 0x20000 -n product
fis create -f 0x50fa0000 -l 0x20000 -n config
fis create -f 0x50fc0000 -l 0x20000 -n log

Load kernel and image on the board using the commands on table below. In case of an existing installation, answer “y” for yes when prompted to overwrite existing kernel and rootfs partitions.

Table 3. Commands to load kernel and rootfs images using TFTP.

Platform Execute Commands (TFTP)
ADI Pronghorn SBC-250
ip_address -l 192.168.1.101 -h 192.168.1.1
load e1-pronghornsbc250-kernel -r -b 0x01600000
fis create kernel
load e1-pronghornsbc250-rootfs.img -r -b 0x00800000
fis create -e 0 -r 0 rootfs
ADI Pronghorn Metro
ip_address -l 192.168.1.101 -h 192.168.1.1
load e1-pronghornmetro-kernel -r -b 0x01600000
fis create kernel
load e1-pronghornmetro-rootfs.img -r -b 0x00800000
fis create -e 0 -r 0 rootfs
Gateworks Avila 2348-4
ip_address -l 192.168.1.101 -h 192.168.1.1
load e1-avila-kernel -r -b 0x01600000
fis create kernel
load e1-avila-rootfs.img -r -b 0x00800000
fis create -e 0 -r 0 rootfs
Gateworks Cambria GW2358-4
ip_address -l 192.168.1.101 -h 192.168.1.1
load e1-cambria-kernel -r -b 0x01600000
fis create kernel
load e1-cambria-rootfs.img -r -b 0x00800000
fis create -e 0 -r 0 rootfs

NOTE! If you get an error message while loading image through TFTP, the probable reason is either network cable disconnection or invalid IP or firewall settings.

Table 4. Commands to load kernel and rootfs image using xmodem

Platform Execute Commands (xmodem)
ADI Pronghorn SBC-250
load e1-pronghornsbc250-kernel -r -b 0x01600000 –m xmodem
fis create kernel
load e1-pronghornsbc250-rootfs.img -r -b 0x00800000 –m xmodem
fis create -e 0 -r 0 rootfs
ADI Pronghorn Metro
load e1-pronghornmetro-kernel -r -b 0x01600000 –m xmodem
fis create kernel
load e1-pronghornmetro-rootfs -r -b 0x00800000 –m xmodem
fis create -e 0 -r 0 rootfs
Gateworks Avila 2348-4
load e1-avila-kernel -r -b 0x01600000 –m xmodem
fis create kernel
load e1-avila-rootfs.img -r -b 0x00800000 –m xmodem
fis create -e 0 -r 0 rootfs
Gateworks Cambria GW2358-4
load e1-cambria-kernel -r -b 0x01600000 –m xmodem
fis create kernel
load e1-cambria-rootfs.img -r -b 0x00800000 –m xmodem
fis create -e 0 -r 0 rootfs

After loading the images, configure the initialization commands to the bootloader using the fconfig command (leave all the other settings besides the “Boot script” as they are by pressing enter on each – boot script is written to the >> prompt as below) and finally answer “y” for yes on the prompt to update the configuration:

RedBoot> fconfig
Run script at boot: true
Boot script:
Enter script, terminate with empty line
>> fis load kernel
>> exec -c "noinitrd console=ttyS0,115200 init=/etc/preinit"
>>
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: true
Default server IP address:
Console baud rate: 115200
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Default network device: npe_eth0
Network hardware address [MAC] for NPE eth0: 0xXX:0xXX:0xXX:0xXX:0xXX:0xXX
Network hardware address [MAC] for NPE eth1: 0xXX:0xXX:0xXX:0xXX:0xXX:0xXX
Update RedBoot non-volatile configuration - continue (y/n)? y
... Unlock from 0x50fc0000-0x50fc1000: .
... Erase from 0x50fc0000-0x50fc1000: .
... Program from 0x03fd3000-0x03fd4000 at 0x50fc0000: .
... Lock from 0x50fc0000-0x50fc1000: .

Finally, type “reset” to reboot the board with the fresh software.

Congratulations! Your board should be now up and running EmbedOne Linux.

References

[1] For example PuTTy for Windows. PuTTy does not support xmodem, ymodem or kermit upload. The terminal emulation of PuTTy is also somewhat incompatible with many RedBoot bootloaders, resulting in any lines where backspace is used to be not recognized. Also note that the buffer on RedBoot is small and allows copypasting only one line at a time. On most Linux distributions, a terminal program Minicom is available.

[2] For example TFTPD32 for Windows or the tftpd service commonly found on most Linux distributions.

  1. No comments yet.
  1. No trackbacks yet.