Message ID | 20230706193122.1891075-1-denis@denix.org |
---|---|
State | Accepted |
Delegated to: | Ryan Eatmon |
Headers | show |
Series | [master/kirkstone] conf: switch k3r5 multiconfig to baremetal | expand |
Foreword to the mailing list. ---------- Forwarded message --------- De: Jose Quaresma <quaresma.jose@gmail.com> Date: sexta, 7/07/2023 à(s) 10:51 Subject: Re: [meta-ti] [master/kirkstone][PATCH] conf: switch k3r5 multiconfig to baremetal To: Denys Dmytriyenko <denis@denix.org> Hi Denys, Thanks for doing that, I will do some tests with this on kirstone. Denys Dmytriyenko <denis@denix.org> escreveu no dia quinta, 6/07/2023 à(s) 20:31: > From: Denys Dmytriyenko <denys@konsulko.com> > > There are couple of k3r5 components that need to be built for the target > and they are self-contained and don't use glibc. Moreover, when building > a cross-compile toolchain for k3r5, there's no need to build glibc and > all its dependencies. While build-time speed up is nice, the main benefit > comes when packaging a nativesdk toolchain for distribution, reducing the > number of packages and the resulting size of the toolchain installer. > > To avoid potential namespace conflict in package feeds between nativesdk > binary packages of Linux glibc and k3r5 baremetal toolchains, adjust the > package suffix accordingly. > > This also requires a rather impactful change in the deployment structure, > which affects CIs and user experience. By default different TCLIBC builds > (e.g. glibc and baremetal in this case) are built in separate TMPDIRs to > avoid conflicts, especially on the nativesdk side. Also the default config > has DEPLOY_DIR residing under corresponding TMPDIR. Of course, this can be > changed by local.conf or <distro>.conf, which meta-ti-bsp has no control > over. Unlike multiconfig-image-packager example that can access deployed > artifacts across multiconfigs to package in an image, we use wic and its > IMAGE_BOOT_FILES list to package a final image. Unfortunately, wic cannot > access deployed artifacts across multiconfigs in separate TMPDIRs, as it > uses DEPLOY_DIR_IMAGE to collect the artifacts. To overcome this, we need > to set up a "common" deploy directory for images and sdks produced by > multiconfigs, which is located outside of TMPDIRs, set by TI_COMMON_DEPLOY > variable that can be changed or adjusted by distros as needed. > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > --- > meta-ti-bsp/conf/layer.conf | 4 ++++ > meta-ti-bsp/conf/multiconfig/k3r5.conf | 4 +++- > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf > index bb286c2b..db6f9de9 100644 > --- a/meta-ti-bsp/conf/layer.conf > +++ b/meta-ti-bsp/conf/layer.conf > @@ -23,3 +23,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ > " > > HOSTTOOLS_NONFATAL += "truncate xxd comm" > + > +TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" > +DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}" > +SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk" > diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf > b/meta-ti-bsp/conf/multiconfig/k3r5.conf > index deb07210..04b9a746 100644 > --- a/meta-ti-bsp/conf/multiconfig/k3r5.conf > +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf > @@ -1,5 +1,7 @@ > MAINMACHINE := "${MACHINE}" > > -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" > +DEPLOY_DIR_IMAGE:k3r5 = "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" > What is the reason to use a machine override here as this conf is already used only on k3r5 machines? > > MACHINE:append = "-k3r5" > +TCLIBC = "baremetal" > +SDKPKGSUFFIX = "k3r5-nativesdk" > -- > 2.25.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#16821): > https://lists.yoctoproject.org/g/meta-ti/message/16821 > Mute This Topic: https://lists.yoctoproject.org/mt/99992786/5052612 > Group Owner: meta-ti+owner@lists.yoctoproject.org > Unsubscribe: > https://lists.yoctoproject.org/g/meta-ti/leave/11369865/5052612/926574700/xyzzy > [quaresma.jose@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
Jose Quaresma <quaresma.jose@gmail.com> escreveu no dia sexta, 7/07/2023 à(s) 17:02: > Foreword to the mailing list. > > ---------- Forwarded message --------- > De: Jose Quaresma <quaresma.jose@gmail.com> > Date: sexta, 7/07/2023 à(s) 10:51 > Subject: Re: [meta-ti] [master/kirkstone][PATCH] conf: switch k3r5 > multiconfig to baremetal > To: Denys Dmytriyenko <denis@denix.org> > > > Hi Denys, > > Thanks for doing that, I will do some tests with this on kirstone. > Have tested this on kirkstone and have some issues when using the spdx bbclass, maybe the spdx deploy folder also needs to be adjusted. Can have another look next week. Jose > > Denys Dmytriyenko <denis@denix.org> escreveu no dia quinta, 6/07/2023 > à(s) 20:31: > >> From: Denys Dmytriyenko <denys@konsulko.com> >> >> There are couple of k3r5 components that need to be built for the target >> and they are self-contained and don't use glibc. Moreover, when building >> a cross-compile toolchain for k3r5, there's no need to build glibc and >> all its dependencies. While build-time speed up is nice, the main benefit >> comes when packaging a nativesdk toolchain for distribution, reducing the >> number of packages and the resulting size of the toolchain installer. >> >> To avoid potential namespace conflict in package feeds between nativesdk >> binary packages of Linux glibc and k3r5 baremetal toolchains, adjust the >> package suffix accordingly. >> >> This also requires a rather impactful change in the deployment structure, >> which affects CIs and user experience. By default different TCLIBC builds >> (e.g. glibc and baremetal in this case) are built in separate TMPDIRs to >> avoid conflicts, especially on the nativesdk side. Also the default config >> has DEPLOY_DIR residing under corresponding TMPDIR. Of course, this can be >> changed by local.conf or <distro>.conf, which meta-ti-bsp has no control >> over. Unlike multiconfig-image-packager example that can access deployed >> artifacts across multiconfigs to package in an image, we use wic and its >> IMAGE_BOOT_FILES list to package a final image. Unfortunately, wic cannot >> access deployed artifacts across multiconfigs in separate TMPDIRs, as it >> uses DEPLOY_DIR_IMAGE to collect the artifacts. To overcome this, we need >> to set up a "common" deploy directory for images and sdks produced by >> multiconfigs, which is located outside of TMPDIRs, set by TI_COMMON_DEPLOY >> variable that can be changed or adjusted by distros as needed. >> >> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> >> --- >> meta-ti-bsp/conf/layer.conf | 4 ++++ >> meta-ti-bsp/conf/multiconfig/k3r5.conf | 4 +++- >> 2 files changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf >> index bb286c2b..db6f9de9 100644 >> --- a/meta-ti-bsp/conf/layer.conf >> +++ b/meta-ti-bsp/conf/layer.conf >> @@ -23,3 +23,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ >> " >> >> HOSTTOOLS_NONFATAL += "truncate xxd comm" >> + >> +TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" >> +DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}" >> +SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk" >> diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf >> b/meta-ti-bsp/conf/multiconfig/k3r5.conf >> index deb07210..04b9a746 100644 >> --- a/meta-ti-bsp/conf/multiconfig/k3r5.conf >> +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf >> @@ -1,5 +1,7 @@ >> MAINMACHINE := "${MACHINE}" >> >> -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" >> +DEPLOY_DIR_IMAGE:k3r5 = "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" >> > > What is the reason to use a machine override here as this conf is already > used only on k3r5 machines? > > >> >> MACHINE:append = "-k3r5" >> +TCLIBC = "baremetal" >> +SDKPKGSUFFIX = "k3r5-nativesdk" >> -- >> 2.25.1 >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#16821): >> https://lists.yoctoproject.org/g/meta-ti/message/16821 >> Mute This Topic: https://lists.yoctoproject.org/mt/99992786/5052612 >> Group Owner: meta-ti+owner@lists.yoctoproject.org >> Unsubscribe: >> https://lists.yoctoproject.org/g/meta-ti/leave/11369865/5052612/926574700/xyzzy >> [quaresma.jose@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >> >> > > -- > Best regards, > > José Quaresma > > > -- > Best regards, > > José Quaresma >
On 7/6/2023 2:31 PM, Denys Dmytriyenko wrote: > From: Denys Dmytriyenko <denys@konsulko.com> > > There are couple of k3r5 components that need to be built for the target > and they are self-contained and don't use glibc. Moreover, when building > a cross-compile toolchain for k3r5, there's no need to build glibc and > all its dependencies. While build-time speed up is nice, the main benefit > comes when packaging a nativesdk toolchain for distribution, reducing the > number of packages and the resulting size of the toolchain installer. > > To avoid potential namespace conflict in package feeds between nativesdk > binary packages of Linux glibc and k3r5 baremetal toolchains, adjust the > package suffix accordingly. > > This also requires a rather impactful change in the deployment structure, > which affects CIs and user experience. By default different TCLIBC builds > (e.g. glibc and baremetal in this case) are built in separate TMPDIRs to > avoid conflicts, especially on the nativesdk side. Also the default config > has DEPLOY_DIR residing under corresponding TMPDIR. Of course, this can be > changed by local.conf or <distro>.conf, which meta-ti-bsp has no control > over. Unlike multiconfig-image-packager example that can access deployed > artifacts across multiconfigs to package in an image, we use wic and its > IMAGE_BOOT_FILES list to package a final image. Unfortunately, wic cannot > access deployed artifacts across multiconfigs in separate TMPDIRs, as it > uses DEPLOY_DIR_IMAGE to collect the artifacts. To overcome this, we need > to set up a "common" deploy directory for images and sdks produced by > multiconfigs, which is located outside of TMPDIRs, set by TI_COMMON_DEPLOY > variable that can be changed or adjusted by distros as needed. > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > --- > meta-ti-bsp/conf/layer.conf | 4 ++++ > meta-ti-bsp/conf/multiconfig/k3r5.conf | 4 +++- > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf > index bb286c2b..db6f9de9 100644 > --- a/meta-ti-bsp/conf/layer.conf > +++ b/meta-ti-bsp/conf/layer.conf > @@ -23,3 +23,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ > " > > HOSTTOOLS_NONFATAL += "truncate xxd comm" > + > +TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" During testing, this one threw me for a bit. None of the build scripts were copying anything... I can deal with that. But, we pull a few things out of the deploy dir. Images, sdk, ipk... should we also have something that uses this new TI_COMMON_DEPLOY for the ipk and licenses? > +DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}" > +SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk" > diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf b/meta-ti-bsp/conf/multiconfig/k3r5.conf > index deb07210..04b9a746 100644 > --- a/meta-ti-bsp/conf/multiconfig/k3r5.conf > +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf > @@ -1,5 +1,7 @@ > MAINMACHINE := "${MACHINE}" > > -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" > +DEPLOY_DIR_IMAGE:k3r5 = "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" > > MACHINE:append = "-k3r5" > +TCLIBC = "baremetal" > +SDKPKGSUFFIX = "k3r5-nativesdk" > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#16821): https://lists.yoctoproject.org/g/meta-ti/message/16821 > Mute This Topic: https://lists.yoctoproject.org/mt/99992786/6551054 > Group Owner: meta-ti+owner@lists.yoctoproject.org > Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/leave/10828724/6551054/1815494134/xyzzy [reatmon@ti.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Fri, Jul 07, 2023 at 11:33:33AM -0500, Ryan Eatmon wrote: > > > On 7/6/2023 2:31 PM, Denys Dmytriyenko wrote: > >From: Denys Dmytriyenko <denys@konsulko.com> > > > >There are couple of k3r5 components that need to be built for the target > >and they are self-contained and don't use glibc. Moreover, when building > >a cross-compile toolchain for k3r5, there's no need to build glibc and > >all its dependencies. While build-time speed up is nice, the main benefit > >comes when packaging a nativesdk toolchain for distribution, reducing the > >number of packages and the resulting size of the toolchain installer. > > > >To avoid potential namespace conflict in package feeds between nativesdk > >binary packages of Linux glibc and k3r5 baremetal toolchains, adjust the > >package suffix accordingly. > > > >This also requires a rather impactful change in the deployment structure, Should have said disruptive here instead of impactful - may have caught more attention... > >which affects CIs and user experience. By default different TCLIBC builds > >(e.g. glibc and baremetal in this case) are built in separate TMPDIRs to > >avoid conflicts, especially on the nativesdk side. Also the default config > >has DEPLOY_DIR residing under corresponding TMPDIR. Of course, this can be > >changed by local.conf or <distro>.conf, which meta-ti-bsp has no control > >over. Unlike multiconfig-image-packager example that can access deployed > >artifacts across multiconfigs to package in an image, we use wic and its > >IMAGE_BOOT_FILES list to package a final image. Unfortunately, wic cannot > >access deployed artifacts across multiconfigs in separate TMPDIRs, as it > >uses DEPLOY_DIR_IMAGE to collect the artifacts. To overcome this, we need > >to set up a "common" deploy directory for images and sdks produced by > >multiconfigs, which is located outside of TMPDIRs, set by TI_COMMON_DEPLOY > >variable that can be changed or adjusted by distros as needed. > > > >Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > >--- > > meta-ti-bsp/conf/layer.conf | 4 ++++ > > meta-ti-bsp/conf/multiconfig/k3r5.conf | 4 +++- > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > >diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf > >index bb286c2b..db6f9de9 100644 > >--- a/meta-ti-bsp/conf/layer.conf > >+++ b/meta-ti-bsp/conf/layer.conf > >@@ -23,3 +23,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ > > " > > HOSTTOOLS_NONFATAL += "truncate xxd comm" > >+ > >+TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" > > During testing, this one threw me for a bit. None of the build > scripts were copying anything... Heh, that's the lengthy explanation in the commit log above... I guess nobody reads that anyway :) > I can deal with that. But, we > pull a few things out of the deploy dir. Images, sdk, ipk... > should we also have something that uses this new TI_COMMON_DEPLOY > for the ipk and licenses? I only wanted to do the bare minimum here in meta-ti for all distros to work out of the box w/o breaking. As mentioned in the description above the correct place for this stuff is either in the distro configuration or local.conf. And I didn't want to get in the way of that. That said, it should be perfectly fine to completely switch over to this "combined" deploy dir for all the remaining pieces, but should be done in the distro, not here. > >+DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}" > >+SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk" > >diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf b/meta-ti-bsp/conf/multiconfig/k3r5.conf > >index deb07210..04b9a746 100644 > >--- a/meta-ti-bsp/conf/multiconfig/k3r5.conf > >+++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf > >@@ -1,5 +1,7 @@ > > MAINMACHINE := "${MACHINE}" > >-DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" > >+DEPLOY_DIR_IMAGE:k3r5 = "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" > > MACHINE:append = "-k3r5" > >+TCLIBC = "baremetal" > >+SDKPKGSUFFIX = "k3r5-nativesdk"
On Fri, Jul 07, 2023 at 05:02:37PM +0100, Jose Quaresma wrote: > Foreword to the mailing list. > > ---------- Forwarded message --------- > De: Jose Quaresma <quaresma.jose@gmail.com> > Date: sexta, 7/07/2023 à(s) 10:51 > Subject: Re: [meta-ti] [master/kirkstone][PATCH] conf: switch k3r5 > multiconfig to baremetal > To: Denys Dmytriyenko <denis@denix.org> > > > Hi Denys, > > Thanks for doing that, I will do some tests with this on kirstone. > > Denys Dmytriyenko <denis@denix.org> escreveu no dia quinta, 6/07/2023 à(s) > 20:31: > > > From: Denys Dmytriyenko <denys@konsulko.com> > > > > There are couple of k3r5 components that need to be built for the target > > and they are self-contained and don't use glibc. Moreover, when building > > a cross-compile toolchain for k3r5, there's no need to build glibc and > > all its dependencies. While build-time speed up is nice, the main benefit > > comes when packaging a nativesdk toolchain for distribution, reducing the > > number of packages and the resulting size of the toolchain installer. > > > > To avoid potential namespace conflict in package feeds between nativesdk > > binary packages of Linux glibc and k3r5 baremetal toolchains, adjust the > > package suffix accordingly. > > > > This also requires a rather impactful change in the deployment structure, > > which affects CIs and user experience. By default different TCLIBC builds > > (e.g. glibc and baremetal in this case) are built in separate TMPDIRs to > > avoid conflicts, especially on the nativesdk side. Also the default config > > has DEPLOY_DIR residing under corresponding TMPDIR. Of course, this can be > > changed by local.conf or <distro>.conf, which meta-ti-bsp has no control > > over. Unlike multiconfig-image-packager example that can access deployed > > artifacts across multiconfigs to package in an image, we use wic and its > > IMAGE_BOOT_FILES list to package a final image. Unfortunately, wic cannot > > access deployed artifacts across multiconfigs in separate TMPDIRs, as it > > uses DEPLOY_DIR_IMAGE to collect the artifacts. To overcome this, we need > > to set up a "common" deploy directory for images and sdks produced by > > multiconfigs, which is located outside of TMPDIRs, set by TI_COMMON_DEPLOY > > variable that can be changed or adjusted by distros as needed. > > > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > > --- > > meta-ti-bsp/conf/layer.conf | 4 ++++ > > meta-ti-bsp/conf/multiconfig/k3r5.conf | 4 +++- > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf > > index bb286c2b..db6f9de9 100644 > > --- a/meta-ti-bsp/conf/layer.conf > > +++ b/meta-ti-bsp/conf/layer.conf > > @@ -23,3 +23,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ > > " > > > > HOSTTOOLS_NONFATAL += "truncate xxd comm" > > + > > +TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" > > +DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}" > > +SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk" > > diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf > > b/meta-ti-bsp/conf/multiconfig/k3r5.conf > > index deb07210..04b9a746 100644 > > --- a/meta-ti-bsp/conf/multiconfig/k3r5.conf > > +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf > > @@ -1,5 +1,7 @@ > > MAINMACHINE := "${MACHINE}" > > > > -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" > > +DEPLOY_DIR_IMAGE:k3r5 = "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" > > What is the reason to use a machine override here as this conf is already > used only on k3r5 machines? To override the value set in the layer.conf above. > > MACHINE:append = "-k3r5" > > +TCLIBC = "baremetal" > > +SDKPKGSUFFIX = "k3r5-nativesdk" > > -- > > 2.25.1
On Fri, Jul 07, 2023 at 05:05:27PM +0100, Jose Quaresma wrote: > Jose Quaresma <quaresma.jose@gmail.com> escreveu no dia sexta, 7/07/2023 > à(s) 17:02: > > > Foreword to the mailing list. > > > > ---------- Forwarded message --------- > > De: Jose Quaresma <quaresma.jose@gmail.com> > > Date: sexta, 7/07/2023 à(s) 10:51 > > Subject: Re: [meta-ti] [master/kirkstone][PATCH] conf: switch k3r5 > > multiconfig to baremetal > > To: Denys Dmytriyenko <denis@denix.org> > > > > > > Hi Denys, > > > > Thanks for doing that, I will do some tests with this on kirstone. > > > > Have tested this on kirkstone and have some issues when using the spdx > bbclass, > maybe the spdx deploy folder also needs to be adjusted. > Can have another look next week. Thanks for testing. Please keep us posted. As I just replied to Ryan, any additional customizations outside of meta-ti may require adjustments in the distro or local.conf.
On 7/7/2023 3:51 PM, Denys Dmytriyenko wrote: > On Fri, Jul 07, 2023 at 11:33:33AM -0500, Ryan Eatmon wrote: >> >> >> On 7/6/2023 2:31 PM, Denys Dmytriyenko wrote: >>> From: Denys Dmytriyenko <denys@konsulko.com> >>> >>> There are couple of k3r5 components that need to be built for the target >>> and they are self-contained and don't use glibc. Moreover, when building >>> a cross-compile toolchain for k3r5, there's no need to build glibc and >>> all its dependencies. While build-time speed up is nice, the main benefit >>> comes when packaging a nativesdk toolchain for distribution, reducing the >>> number of packages and the resulting size of the toolchain installer. >>> >>> To avoid potential namespace conflict in package feeds between nativesdk >>> binary packages of Linux glibc and k3r5 baremetal toolchains, adjust the >>> package suffix accordingly. >>> >>> This also requires a rather impactful change in the deployment structure, > > Should have said disruptive here instead of impactful - may have caught more > attention... > > >>> which affects CIs and user experience. By default different TCLIBC builds >>> (e.g. glibc and baremetal in this case) are built in separate TMPDIRs to >>> avoid conflicts, especially on the nativesdk side. Also the default config >>> has DEPLOY_DIR residing under corresponding TMPDIR. Of course, this can be >>> changed by local.conf or <distro>.conf, which meta-ti-bsp has no control >>> over. Unlike multiconfig-image-packager example that can access deployed >>> artifacts across multiconfigs to package in an image, we use wic and its >>> IMAGE_BOOT_FILES list to package a final image. Unfortunately, wic cannot >>> access deployed artifacts across multiconfigs in separate TMPDIRs, as it >>> uses DEPLOY_DIR_IMAGE to collect the artifacts. To overcome this, we need >>> to set up a "common" deploy directory for images and sdks produced by >>> multiconfigs, which is located outside of TMPDIRs, set by TI_COMMON_DEPLOY >>> variable that can be changed or adjusted by distros as needed. >>> >>> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> >>> --- >>> meta-ti-bsp/conf/layer.conf | 4 ++++ >>> meta-ti-bsp/conf/multiconfig/k3r5.conf | 4 +++- >>> 2 files changed, 7 insertions(+), 1 deletion(-) >>> >>> diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf >>> index bb286c2b..db6f9de9 100644 >>> --- a/meta-ti-bsp/conf/layer.conf >>> +++ b/meta-ti-bsp/conf/layer.conf >>> @@ -23,3 +23,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ >>> " >>> HOSTTOOLS_NONFATAL += "truncate xxd comm" >>> + >>> +TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" >> >> During testing, this one threw me for a bit. None of the build >> scripts were copying anything... > > Heh, that's the lengthy explanation in the commit log above... I guess nobody > reads that anyway :) I read the comment. But knowing a wave is coming and experiencing the wave wash over you are two different things. =) > >> I can deal with that. But, we >> pull a few things out of the deploy dir. Images, sdk, ipk... >> should we also have something that uses this new TI_COMMON_DEPLOY >> for the ipk and licenses? > > I only wanted to do the bare minimum here in meta-ti for all distros to work > out of the box w/o breaking. As mentioned in the description above the correct > place for this stuff is either in the distro configuration or local.conf. And > I didn't want to get in the way of that. That said, it should be perfectly > fine to completely switch over to this "combined" deploy dir for all the > remaining pieces, but should be done in the distro, not here. Agreed. I was more asking from the stand point of should we pursue moving everything into deploy-ti. Which is sounds like you are in support of it. And I agree, that change belongs in meta-arago. > >>> +DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}" >>> +SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk" >>> diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf b/meta-ti-bsp/conf/multiconfig/k3r5.conf >>> index deb07210..04b9a746 100644 >>> --- a/meta-ti-bsp/conf/multiconfig/k3r5.conf >>> +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf >>> @@ -1,5 +1,7 @@ >>> MAINMACHINE := "${MACHINE}" >>> -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" >>> +DEPLOY_DIR_IMAGE:k3r5 = "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" >>> MACHINE:append = "-k3r5" >>> +TCLIBC = "baremetal" >>> +SDKPKGSUFFIX = "k3r5-nativesdk"
diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf index bb286c2b..db6f9de9 100644 --- a/meta-ti-bsp/conf/layer.conf +++ b/meta-ti-bsp/conf/layer.conf @@ -23,3 +23,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \ " HOSTTOOLS_NONFATAL += "truncate xxd comm" + +TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" +DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}" +SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk" diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf b/meta-ti-bsp/conf/multiconfig/k3r5.conf index deb07210..04b9a746 100644 --- a/meta-ti-bsp/conf/multiconfig/k3r5.conf +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf @@ -1,5 +1,7 @@ MAINMACHINE := "${MACHINE}" -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" +DEPLOY_DIR_IMAGE:k3r5 = "${TI_COMMON_DEPLOY}/images/${MAINMACHINE}" MACHINE:append = "-k3r5" +TCLIBC = "baremetal" +SDKPKGSUFFIX = "k3r5-nativesdk"