On Tue, Sep 03, 2019 at 02:22:04PM +0200, Alexander Dahl wrote:
> Hello Roland,
> 
> Am Dienstag, 3. September 2019, 14:00:17 CEST schrieb Roland Hieber:
> > On Tue, Sep 03, 2019 at 01:50:25PM +0200, Alexander Dahl wrote:
> > > After discussing these topics in IRC, it seemed reasonable to add some
> > > explanation on how to create a new layer from scratch.
> > 
> > \o/ someone else did a task on my overlong todo list :D
> 
> Yes, and I just saw you already wrote a piece on that topic, but on your 
> website, not in ptxdist documentation:
> 
> https://pengutronix.de/en/blog/2019-06-18-DistroKitLayer.html
> 
> o.O
> 
> > > +
> > > +Creating a new Layer
> > > +~~~~~~~~~~~~~~~~~~~~
> > > +
> > > +Adding new layers on top of an already existing BSP is easy:
> > > +
> > > +#. Create an empty folder, e.g. next to the existing BSP.
> > > +#. The lower layer is just a folder named ``base`` (see layers_ above).
> > > You +   may do one of the following (or something else you consider
> > > convenient): +
> > > +   - Create a symbolic link ``base`` to an outside laying BSP folder. For
> > > +     an easy start, you can try this method with DistroKit_ for example:
> > > +     ``$ ln -s ../DistroKit base``
> > 
> > We have done that too sometimes in the past, but if the config files in
> > the base layer are not in the right versions, the MD5 sum in the config
> > diffs in the inherited layer will not match. I think this should be
> > mentioned here.
> 
> Sorry, I do not understand. :-/
> 
> > > +   - Use a Git submodule with a BSP in a folder ``base``.
> > > +   - Copy over your whole existing BSP to a new subfolder ``base``.
> > 
> > Subtree merges are another possibility, although I've never done one.
> 
> Same here.
> 
> > > +
> > > +#. If needed select **ptxconfig** and/or **platformconfig** after copying
> > > +   that file from the lower layer to your new layer:
> > > +
> > > +.. code-block:: text
> > > +
> > > +   $ mkdir -p configs/platform-v7a
> > > +   $ cp base/configs/platform-v7a/platformconfig configs/platform-v7a/
> > > +   $ ptxdist platform configs/platform-v7a/platformconfig
> > 
> > I think you should be able to select the config from base/ directly
> > without copying them? mol?
> 
> I did not try that. What is possible to select would be indeed an interesting 
> piece in the docs! That question came up multiple times in IRC in the last 
> days. ;-)

If there is just on platform, then ptxdist will just use that on if no
selected_platformconfig exists. This is especially useful with layers,
because it will then just pick the config from the first layer that has
one.

This means, that you can start with just the base link. Then change
something with 'ptxdist platformconfig'. PTXdist will create the
platformconfig in your new layer and use it automatically.

The same works for the ptxconfig as well.

Note: ptxdist will delete the config if it is identical to the layer below.
It does not touch the selected_* links you might need to change those if it
happens.

Michael

> > > +
> > > +#. Use ``ptxdist menu`` like usual.
> > 
> > menuconfig? platformconfig?
> 
> You reach both from `p menu` … but I don't mind changing this.



> > > +#. Put your new layer into Git and add configs and delta configs to it.
> > 
> > nit: s/Git/SCM/, or something like that
> 
> Yes.
> 
> So you already wrote on that topic. I wouldn't mind if you take my patch as 
> base for your own additions. O:-)
> 
> Greets
> Alex
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to