Name
Setup — Preparing for eCos Development
Overview
In a typical development environment, the VM boots into the RedBoot ROM monitor. eCos applications are configured for RAM startup and then downloaded and run on the board via the debugger arm-eabi-gdb. Preparing the VM therefore usually involves arranging for a suitable RedBoot image to be executed on startup.
Xvisor VM Installation
This section describes how to install RedBoot into an Xvisor guest VM and start it running. The reader should be familiar with Xvisor, how to install it onto a target platform and how, in general, a guest VM is created.
          To create an eCos VM under Xvisor, it is necessary to
          instantiate a virtual machine, populate it with the
          executable of RedBoot, and then set it running. To do this a
          number of files are copied to the etc
          directory of a RedBoot installation which are used set up a
          VM to run eCos. These files are as follows:
        
evm.dts- This is a Linux device tree source file. It needs to be compiled into a device tree binary file using the dtc device tree compiler. This file is specific to use on Rockchip-based boards such as the Pine Rockpro64 or M2000.
 boot.xscript- This is a sample Xvisor boot script that instantiates a Linux guest together with a eCos VM running RedBoot. It may be used as it is, or used as a template for your own script.
 nor_flash.list- A list of addresses and file names used to populate the virtual flash in a VM. This defines the software that will run from reset in the VM. In this case the sole entry installs a binary of RedBoot at the start of flash.
 install- 
                A shell script that automates the installation of a
                RedBoot executable into a Xvisor disk image. It
                creates the necessary sub-directory in the disk image,
                compiles and installs the device tree, RedBoot binary
                and flash list. It does not copy the
                
boot.xscriptfile, which may be copied separately if required. Following this, a make should be run in the Xvisor build directory to rebuild the disk image. The image may then be transferred to the target system bootstrap medium. 
          See the next section, Rebuilding
          RedBoot, for an example of using the
          install script to install RedBoot into an
          Xvisor VM.
        
          Once the files are installed, Xvisor may be started and the
          eCos VM will be executed. Depending on the default setting
          for the initial serial connection, and whether the
          boot.xscript file has been copied, you
          may see a startup banner from RedBoot similar to the
          following:
      
XVisor# vserial bind evm1/uart0 [evm1/uart0] +No network interfaces found RedBoot(tm) bootstrap and debug environment [ROM] Non-certified release, version UNKNOWN - built 14:58:47, Jan 30 2020 Copyright (C) 2000-2009 Free Software Foundation, Inc. Copyright (C) 2003-2019 eCosCentric Limited The RedBoot bootloader is a component of the eCos real-time operating system. Want to know more? Visit www.ecoscentric.com for everything eCos & RedBoot related. This is free software, covered by the eCosPro Non-Commercial Public License and eCos Public License. You are welcome to change it and/or distribute copies of it under certain conditions. Under the license terms, RedBoot's source code and full license terms must have been made available to you. Redboot comes with ABSOLUTELY NO WARRANTY. Platform: Virtual ARM (CORTEX-A) RAM: 0x40000000-0x42000000 [0x40030000-0x42000000 available] RedBoot>
Rebuilding RedBoot
Typical users should never need to rebuild RedBoot. If you do intend to modify RedBoot then please note that rebuilding it is currently only supported from the Linux command line.
The steps needed to rebuild the ROM version of RedBoot are:
$ mkdir redboot_virtual_rom
$ cd redboot_virtual_rom
$ ecosconfig new virtual_xvisor redboot
$ ecosconfig import $ECOS_REPOSITORY/hal/arm/cortexa/virtual/VERSION/misc/redboot_ROM.ecm
$ ecosconfig resolve
$ ecosconfig tree
$ make
          At the end of the build the install/bin subdirectory should
          contain the file redboot.bin.  This
          image can now be installed into an Xvisor boot disk image
          using the install script. Assuming the root directory for
          Xvisor is in
          $XVISOR the following commands will do
          this.
        
$ cd install $ ./etc/install $XVISOR/disk Install RedBoot in disk image Done $
          If required, boot.xscript may also be
          copied into $XVISOR/disk.
        
          For convenience, eCosPro releases include a prebuilt RedBoot
          image as well as the install subdirectory resulting
          from the creation of RedBoot. These are located within the
          loaders sub-directory
          of the eCosPro installation, and the install script
          may be run from within these subdirectories. For example:
        
$ cd ecos-4.4.0/loaders/virtual_xvisor/redboot_ROM.install $ ./etc/install $XVISOR/disk Install RedBoot in disk image Done $
It is now necessary to rebuild the Xvisor RAM disk. Exactly how this is done can depend on the target host, how it boots and how that RAM disk is loaded. Usually this involves using genext2fs to make a disk image; usually an Xvisor executable and a device tree are also created. Refer to the directions for installing Xvisor on the host for details.
| 2025-10-02 | eCosPro Non-Commercial Public License | 



