EmbedOne Linux Installation Instructions
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.
