<div dir="auto"><div>Hey guys,<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 27, 2020, 1:11 PM Paul Barker &lt;<a href="mailto:pbarker@konsulko.com">pbarker@konsulko.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, 27 Jan 2020 at 15:42, Alejandro Enedino Hernandez Samaniego<br>
&lt;<a href="mailto:alejandro@enedino.org" target="_blank" rel="noreferrer">alejandro@enedino.org</a>&gt; wrote:<br>
&gt;<br>
&gt; Hey Paul,<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Jan 27, 2020, 2:09 AM Paul Barker &lt;<a href="mailto:pbarker@konsulko.com" target="_blank" rel="noreferrer">pbarker@konsulko.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Mon, 27 Jan 2020 at 10:00, Alejandro Enedino Hernandez Samaniego<br>
&gt;&gt; &lt;<a href="mailto:alejandro@enedino.org" target="_blank" rel="noreferrer">alejandro@enedino.org</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Create HelloWorld examples that run on several of the QEMU architectures<br>
&gt;&gt; &gt; supported by the build system.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; This recipe can be used by anyone to understand how baremetal applications<br>
&gt;&gt; &gt; can be built using OpenEmbedded and how the wiring to set them up could be.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; This should also facilitate creating/extending the OE testing infrastructure<br>
&gt;&gt; &gt; to allow baremetal applications or RTOSs to be tested in the same way that<br>
&gt;&gt; &gt; Linux currently is.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; This can easily be extended to work on other MACHINES in the future.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; To run this example:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; # Source the oe environment as usual<br>
&gt;&gt; &gt; $ source oe-init-buildenv<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; # Set TCLIBC to either newlib or baremetal<br>
&gt;&gt; &gt; $ echo &quot;TCLIBC = \&quot;newlib\&quot;&quot; &gt;&gt; ./conf/local.conf<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; # Use one of the supported architectures (qemuarm64, qemuarm or qemuarmv5)<br>
&gt;&gt; &gt; $ echo &quot;MACHINE = \&quot;qemuarm64\&quot;&quot; &gt;&gt; ./conf/local.conf<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; # Build<br>
&gt;&gt; &gt; $ bitbake baremetal-helloworld<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; # Launch QEMU<br>
&gt;&gt; &gt; $ runqemu<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; runqemu - INFO - Running bitbake -e ...<br>
&gt;&gt; &gt; runqemu - INFO - Continuing with the following parameters:<br>
&gt;&gt; &gt; KERNEL: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.bin]<br>
&gt;&gt; &gt; MACHINE: [qemuarm64]<br>
&gt;&gt; &gt; FSTYPE: [bin]<br>
&gt;&gt; &gt; ROOTFS: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.bin]<br>
&gt;&gt; &gt; CONFFILE: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.qemuboot.conf]<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Hello OpenEmbedded!<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Signed-off-by: Alejandro Enedino Hernandez Samaniego &lt;<a href="mailto:alejandro@enedino.org" target="_blank" rel="noreferrer">alejandro@enedino.org</a>&gt;<br>
&gt;&gt; &gt; ---<br>
&gt;&gt; &gt;  .../baremetal-examples/<a href="http://baremetal-helloworld_git.bb" rel="noreferrer noreferrer" target="_blank">baremetal-helloworld_git.bb</a> | 114 +++++++++++++++++++++<br>
&gt;&gt; &gt;  1 file changed, 114 insertions(+)<br>
&gt;&gt; &gt;  create mode 100644 meta/recipes-extended/baremetal-examples/<a href="http://baremetal-helloworld_git.bb" rel="noreferrer noreferrer" target="_blank">baremetal-helloworld_git.bb</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; diff --git a/meta/recipes-extended/baremetal-examples/<a href="http://baremetal-helloworld_git.bb" rel="noreferrer noreferrer" target="_blank">baremetal-helloworld_git.bb</a> b/meta/recipes-extended/baremetal-examples/<a href="http://baremetal-helloworld_git.bb" rel="noreferrer noreferrer" target="_blank">baremetal-helloworld_git.bb</a><br>
&gt;&gt; &gt; new file mode 100644<br>
&gt;&gt; &gt; index 0000000..aab48b1<br>
&gt;&gt; &gt; --- /dev/null<br>
&gt;&gt; &gt; +++ b/meta/recipes-extended/baremetal-examples/<a href="http://baremetal-helloworld_git.bb" rel="noreferrer noreferrer" target="_blank">baremetal-helloworld_git.bb</a><br>
&gt;&gt; &gt; @@ -0,0 +1,114 @@<br>
&gt;&gt; &gt; +SUMMARY = &quot;Baremetal examples to work with the several QEMU architectures supported on OpenEmbedded&quot;<br>
&gt;&gt; &gt; +HOMEPAGE = &quot;<a href="https://github.com/aehs29/baremetal-helloqemu" rel="noreferrer noreferrer" target="_blank">https://github.com/aehs29/baremetal-helloqemu</a>&quot;<br>
&gt;&gt; &gt; +LICENSE = &quot;CC-BY-SA-4.0&quot;<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ve raised <a href="https://github.com/aehs29/baremetal-helloqemu/issues/1" rel="noreferrer noreferrer" target="_blank">https://github.com/aehs29/baremetal-helloqemu/issues/1</a> as<br>
&gt;&gt; CC licenses aren&#39;t recommended for software.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt; I do agree, I originally had it as MIT, although I did base this on the original work of someone who made it work for the versatile architecture and they licensed that with CC-BY-SA and as I was reading I have to use the same license as them.<br>
&gt;<br>
&gt; I thought about it and for the Hello OpenEmbedded examples it would be ok since they should serve mostly as basis for the wiring that users can use to build, run and test their baremetal apps on OE, so the license wouldn&#39;t affect them, but I&#39;m open to suggestions here.<br>
<br>
A bad license choice in a sample recipe is just going to encourage<br>
others to use it though. I&#39;d recommend reviewing<br>
<a href="https://wiki.creativecommons.org/wiki/ShareAlike_compatibility:_GPLv3" rel="noreferrer noreferrer" target="_blank">https://wiki.creativecommons.org/wiki/ShareAlike_compatibility:_GPLv3</a><br>
to see if you can use GPLv3 instead if you&#39;ve got CC-BY-SA inputs. You<br>
could also contact the original author and ask about licensing the<br>
code more cleanly.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Agreed, I took a look at that already and it looks like the compatibility starts with CC-BY-SA 4 which didn&#39;t exist when the original code was written, but that&#39;s why I chose v4 because it was compatible with the older ones and people that use this can use GPLv3 if they want to since this is CC-BY-SA v4, again this wasn&#39;t my first choice either.</div><div dir="auto"><br></div><div dir="auto">I tried contacting the author already but it&#39;s been a while and he hasn&#39;t replied yet.</div><div dir="auto"><br></div><div dir="auto">Alejandro</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks,<br>
Paul<br>
</blockquote></div></div></div>