Re: Image specific configuration files


Alan
 

Yes, much better phrasing:

A single bitbake invocation always builds a single distro for a specific target machine

Thanks 

On Fri, Jun 1, 2018 at 12:18 PM, Alexander Kanavin <alex.kanavin@...> wrote:
If a build is 'a single bitbake invocation', then yes - it builds for a single distro and for a specific target machine, but it can build multiple recipes (which includes multiple images, as images are defined with recipes).

Alex


2018-06-01 13:07 GMT+03:00 Alan Martinovic <alan.martinovic@...>:
Hey Alexander,
you seem to have a good understanding on the concepts.
Would you say that:

> A build always builds a single distro

is somewhat of a rule?




On Fri, Jun 1, 2018 at 11:24 AM, Alexander Kanavin <alex.kanavin@...> wrote:
I have to say defining multiple distros and then tweaking recipes according to those definitions is not a good practice, as recipes should generally only access DISTRO_FEATURES and otherwise be distro-agnostic. The above iptables scenario should be handled with different image recipes, which pull in (via packages) or create different configurations.

Alex

2018-06-01 12:04 GMT+03:00 Iván Castell <icastell@...>:
I can provide more details. My custom layer has these files related with distro:

    my_layer/conf/distro/include/common.conf
    my_layer/conf/distro/develop.conf
    my_layer/conf/distro/production.conf
    my_layer/conf/distro/integration.conf

As an example of the previous files, my_layer/conf/distro/include/develop.conf has this content:

    require conf/distro/include/common.conf
    DISTRO = "my-distro-development"
    DISTRO_NAME = "OS Development"
    DISTRO_STAGE = "development"
    # And here more customizations as setting root password, PRSERV_HOST, or PACKAGE_FEED_URIS

In common.conf I define all features common to all my distros (PACKAGE_CLASSES and so on)

I have custom iptables rules, then I have different files for that rules:

    my/layer/recipes-extended/iptables/files/iptables.rules.development
    my/layer/recipes-extended/iptables/files/iptables.rules.production
    my/layer/recipes-extended/iptables/files/iptables.rules.integration

I use a bbappend recipe for iptables, modifiying do_install_append task like this:

    install -m 0600 ${WORKDIR}/iptables.rules.${DISTRO_STAGE} ${D}/etc/iptables/iptables.rules

I use a single image recipe to define all packages installed in my final image (all of them have the same set if packages, but with different customizations)

Finally, I wrote a setup-build-env.sh script in my custom layer to configure the build easily. That script creates build-${DISTRO_STAGE}/conf/bblayers.conf and build-${DISTRO_STAGE}/conf/local.conf files with the proper setup, setting MACHINE, DISTRO and DL_DIR (shared by all distros) properly.

Hope this helps!





2018-06-01 10:21 GMT+02:00 Alan Martinovic <alan.martinovic@...>:
Hey,
would really like to see your example.
Am struggling to get creation of these types of images for a while now.

So far have avoided diving into multiple distros because would like to have the option
of building all the images at the same time (so they are basically the same distro).

On Fri, Jun 1, 2018 at 8:13 AM, Iván Castell <icastell@...> wrote:
I fixed this issue defining different distro.conf files in my custom layer, adding a custom variable DISTRO_STAGE with the name of my distro (production, rnd, retail, and so on), Then you setup DISTRO in your local.conf to the proper value you want to use. Finally you can use that DISTRO_STAGE variable in your custom .bb or .bbappend recipes to decide the proper configuration files you want to install in your final image. That works as expected. Hope this helps!




2018-06-01 7:46 GMT+02:00 Damien LEFEVRE <lefevre.da@...>:
Hi,

For the same MACHINE I create the following images:
- myimage-production
- myimage-rnd
- myimage-retail

The production one has production assisted tools for flashing peripheral HW, testing vital HW components, writing some serial numbers, etc.

The rnd one has more packages than the retail one just to help rnd work and debugging in device, but none of the rnd image extra packages. 

The retail one has the final product image.

I'm using web and FTP servers. I would like for the rnd version of the image to have a different nginx configuration to set the root directory to a development folder, or set an alias.

Furthermore, I'll have different variant of the device where only the device SW changes but the platform is identical. So I'll end up with 
- myimage2-production
- myimage2-rnd
- myimage2-retail

I know how to make MACHINE based configuration. How could I do this in my nginx.bbappend based on image name?

Thanks,
-Damien

--
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto




--




NOTA LEGAL
Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, contiene información de carácter confidencial exclusivamente dirigida a su destinatario y se encuentra protegido por Ley. Cualquier persona distinta de su destinataria tiene prohibida su reproducción, uso, divulgación, copia o impresión total o parcial. Si ha recibido este correo electrónico por error, se ruega lo notifique de inmediato al remitente borrando el mensaje original juntamente con sus ficheros anexos. Gracias.

De conformidad con lo establecido en la LOPD, NAYAR SYSTEMS SL garantiza la adopción de las medidas necesarias para asegurar el tratamiento confidencial de los datos de carácter personal. Así mismo le informamos de la inclusión de sus datos en un fichero bajo la responsabilidad de NAYAR SYSTEMS SL, con la finalidad de poder atender los compromisos derivados de la relación que mantenemos con usted. Si lo desea, puede ejercer sus derechos de acceso, rectificación, cancelación y oposición mediante un escrito a la siguiente dirección: info@...om


LEGAL NOTE
This email and any attachments to it contains is confidential information exclusively intended for the recipients. Any divulgation, copy or distribution to third parties is prohibited without written permission of NAYAR SYSTEMS SL. If you have received this e-mail in error, please notify the sender immediately. In accordance with Law 15/1999 of 13 December on the Protection of Personal Data, the NAYAR SYSTEMS SL guarantees that it has adopted the necessary measures to ensure the confidential treatment of personal information. We also inform you that you can exercise your access, rectification, cancellation and opposition rights by send us a mail to: info@...


--
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto





--




NOTA LEGAL
Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, contiene información de carácter confidencial exclusivamente dirigida a su destinatario y se encuentra protegido por Ley. Cualquier persona distinta de su destinataria tiene prohibida su reproducción, uso, divulgación, copia o impresión total o parcial. Si ha recibido este correo electrónico por error, se ruega lo notifique de inmediato al remitente borrando el mensaje original juntamente con sus ficheros anexos. Gracias.

De conformidad con lo establecido en la LOPD, NAYAR SYSTEMS SL garantiza la adopción de las medidas necesarias para asegurar el tratamiento confidencial de los datos de carácter personal. Así mismo le informamos de la inclusión de sus datos en un fichero bajo la responsabilidad de NAYAR SYSTEMS SL, con la finalidad de poder atender los compromisos derivados de la relación que mantenemos con usted. Si lo desea, puede ejercer sus derechos de acceso, rectificación, cancelación y oposición mediante un escrito a la siguiente dirección: info@...om


LEGAL NOTE
This email and any attachments to it contains is confidential information exclusively intended for the recipients. Any divulgation, copy or distribution to third parties is prohibited without written permission of NAYAR SYSTEMS SL. If you have received this e-mail in error, please notify the sender immediately. In accordance with Law 15/1999 of 13 December on the Protection of Personal Data, the NAYAR SYSTEMS SL guarantees that it has adopted the necessary measures to ensure the confidential treatment of personal information. We also inform you that you can exercise your access, rectification, cancellation and opposition rights by send us a mail to: info@...


--
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto





Join yocto@lists.yoctoproject.org to automatically receive all group messages.