#2359 assigned enhancement

Merge Beagle BSP support utilities with RSB

Reported by: Ben Gras Owned by: Needs Funding
Priority: normal Milestone: Indefinite
Component: tool/rsb Version: 4.10
Severity: normal Keywords:
Cc: Chris Johns Blocked By:
Blocking:

Description

I have a commit for RSB that adds building quite some tools. It is collected in a beagle bset.

The motivation is for the Beagle BSP. These tools can set up a FS image from scratch that can then boot an RTEMS application on a beagle device. This commit builds:

. qemu-linaro, simulates the bbxm
. u-boots for bbxm and beaglebones
. partition
. newfs_msdos, mtools

The commit is at:

https://github.com/bengras/rtems-source-builder/tree/beagle

Currently the uboot license is objectionable so I am happy to wait to merge this pending jcatbagan's gsoc 2015 umonfw work, or alternatively merge uboot first and replace it with umonfw once it's possible.

I should add there are some suggestions Chris has made in the past (in a private email thread) that I haven't followed up on in the commit as it is. I am pasting some of them here so Chris needn't re-evaluate from scratch. It is heavily edited/paraphrased.

Chris says:

  • create devel/qemu-linaro.bset and move most of the parts in the beagle.bset into that and have the beagle.bset include it. This means others can use the qemu-linaro as a build set.
  • devel/beagle.bset needs to be split up. There should be a bare/devel/qemu-linaro.bset which build that tool as is. There should be a bare/boards/beagle.bset that builds the qemu-linaro, and the other part such as partition, msdos and mtools.
  • There is an rtems/boards/beagle.bset that builds the RTEMS tools, uboot and then the beagle tools. The boards/beagle.bset file names may need to be different in bare and rtems to work due to the %{_configdir} searching.
  • The second part is the splitting up of each of the new tools you have added. I provide mtools back as an example. There is an mtools.bset so it can be built as is. This is the latest version and used to build the tool stand alone. Your beagle.bset should reference a specific version and not the mtools.bset so we control the configuration so updates do not skew a version.

Change History (4)

comment:1 Changed on Jun 3, 2015 at 3:08:29 PM by Ben Gras

Cc: Chris Johns added

comment:2 in reply to:  description Changed on Jun 3, 2015 at 11:34:39 PM by Chris Johns

Replying to beng:

I have a commit for RSB that adds building quite some tools. It is collected in a beagle bset.

The motivation is for the Beagle BSP. These tools can set up a FS image from scratch that can then boot an RTEMS application on a beagle device. This commit builds:

. qemu-linaro, simulates the bbxm
. u-boots for bbxm and beaglebones
. partition
. newfs_msdos, mtools

The commit is at:

https://github.com/bengras/rtems-source-builder/tree/beagle

Once we get any changes done can a suitable patch be attached here I can merge and push ?

Currently the uboot license is objectionable so I am happy to wait to merge this pending jcatbagan's gsoc 2015 umonfw work, or alternatively merge uboot first and replace it with umonfw once it's possible.

The license is an concern but building uboot within the RSB should be allowed and should be supported. It is building a 'beagle' which hides the license a little more that is a concern so if we can be clear about the license being used then I feel we can do this. Once we have an alternative we can move the Beagle support off it.

I should add there are some suggestions Chris has made in the past (in a private email thread) that I haven't followed up on in the commit as it is. I am pasting some of them here so Chris needn't re-evaluate from scratch. It is heavily edited/paraphrased.

Chris says:

  • create devel/qemu-linaro.bset and move most of the parts in the beagle.bset into that and have the beagle.bset include it. This means others can use the qemu-linaro as a build set.

This one is a little more work. It would be good to know the state of the qemu-linaro effort in relation to the qemu master repo. If the patches in qemu-linaro are upstream and in qemu's patchworks we can add those to the standard qemu build and achieve the same thing. If the patches are not upstream we should find out why not. I asked on the beagle #irc about the state of this stuff and Jason said he does not know and it is a good question so it would be a nice service to the whole community to figure this out and get it sorted. Ben, are you able to follow this up ?

My concern with 2 qemu's in the RSB is user confusion over which one they need to use. If we have BSPs supported by different versions it just becomes more complex. If we need to support the linaro variant we may have to but we should do this understand why.

  • devel/beagle.bset needs to be split up. There should be a bare/devel/qemu-linaro.bset which build that tool as is. There should be a bare/boards/beagle.bset that builds the qemu-linaro, and the other part such as partition, msdos and mtools.

Can we break down the work and get the various components split and into the RSB ?

  • There is an rtems/boards/beagle.bset that builds the RTEMS tools, uboot and then the beagle tools. The boards/beagle.bset file names may need to be different in bare and rtems to work due to the %{_configdir} searching.
  • The second part is the splitting up of each of the new tools you have added. I provide mtools back as an example. There is an mtools.bset so it can be built as is. This is the latest version and used to build the tool stand alone. Your beagle.bset should reference a specific version and not the mtools.bset so we control the configuration so updates do not skew a version.

This last point is important. We may find the RPi will use the same tools and need a specific version so we need to break these parts down.

Chris

comment:3 Changed on Jan 26, 2017 at 7:16:00 AM by Sebastian Huber

Milestone: 4.11.14.11.2

comment:4 Changed on Feb 15, 2017 at 1:37:51 PM by Sebastian Huber

Milestone: 4.11.2Indefinite
Owner: changed from Ben Gras to Needs Funding
Status: newassigned
Note: See TracTickets for help on using tickets.