RSB Deployment

Chris Johns chrisj at rtems.org
Wed Nov 22 08:26:59 UTC 2017


On 22/11/17 3:42 pm, Jacob Saina wrote:
> I'm struggling to move my toolchain onto a new computer, and I'm missing some
> background knowledge. I've got some basic (i think) questions, and I'll explain
> my exact situation below that.
OK.

> 1) What is meant by "installation" of the tools? Just placing the directory
> structure with binaries at a prefix?

Yes. There is more than the bin directory, there are other directories under the
prefix that also need to be copied and kept in the same structure.

> 2) What is the difference between a "build set tar file" and "package tar
> files?" (i.e. how are these used?)

When the RSB builds a set of packages it installs the files into a special
prefix under the `build` directory. When all packages have been built without
error the files under the internal prefix are copied to the prefix you have
specified. The tar file option creates a tar file of this directory tree.

> 3) Where do the absolute paths come in that they could potentially cause problems?

Most tools can be relocated, the exception is autoconf and automake. You need to
be careful with these packages on all hosts. The prefix you build them with
using the RSB is the path they will need to see within the MSYS shell. They get
hard coded paths put in them when installed.

Note, relocation means using a different path to the prefix used to build them.

The autoconf and automake packages can be made to work in a portable way if you
mount the Windows path you have placed the tools under on the second machine and
the mount point is the prefix used to build them. Check the cygwin mount command
and syntax for details on mounting with MSYS2. It should be the same or similar.

> 4) Is sb-bootstrap part of the rsb "installation?"

No. It is a tool I placed in the RSB because it was convenient. All it does is
run the RTEMS bootstrap process in parallel on all your available cores. The
standard bootstrap script can be used, it is just slower.

> 5) If I've built and installed everything, can I prepare that build for
> deployment without rebuilding the project?

I am not sure what project means here. The tools built by the RSB and an
installed kernel can be deployed, ie copied. You can use the RSB tar command or
you can build on a specific machine under a prefix and zip or tar the prefix
tree of files.

Is the Windows path on both machines the same? Companies may want to standardise
the install path to make things simpler.

> I'm certain not that a problem is the installation of autoconf packages in my
> MSYS2 environment, but I was reading about deployment and want to make sure I'm
> not breaking something else with the way I copied RSB and RTEMS over.

I suggest looking into the mount command.

> My exact scenario (Using RTEMS/RSB 4.11.2) is:
> Source Computer (Windows 10 64b) has RSB and kernel built for zc706 (ARM).
> Destination Computer (WIndows 7 64b) has things that I've zipped and copied over
> manually: the prefix directory including the rsb binaries, the kernel source
> directory, and the rsb source directory.
> Both use MSYS2.
> I want to build the kernel and BSP on Destination Computer, but sb-bootstrap
> fails on 4/157: "Can't locate Autom4te/Channeldefs.pm in @INC (you may need to
> install the Autom4te::ChannelDefs module)

This means the MSYS2 shell's view of the installed files is not what you have on
the other machine. I suggest you have a look under the shell and see what is
different and see if you can make them the same, ie the mount command.

I should also point out:

1. If you build RTEMS on the Windows 10 machine and install it you can copy over
the installed directory tree. This leaves you to work on your "project" or
application and you can use any build system you like that works natively on
Windows.

2. Bootstrapped source can be copied and built. The bootstrap is a development
procedure. Git updates can require the bootstrap be run.

Chris


More information about the users mailing list