{"id":985,"date":"2015-11-18T08:22:49","date_gmt":"2015-11-18T08:22:49","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=985"},"modified":"2016-04-25T15:14:04","modified_gmt":"2016-04-25T15:14:04","slug":"yocto-konzept","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/yocto-konzept\/","title":{"rendered":"yocto: Konzept und Literatur"},"content":{"rendered":"<p>Yocto ist ein <a href=\"http:\/\/coolt.ch\/notizen\/build-system\/\">Build-System <\/a>und hilft, ein embedded <strong>Linux-System<\/strong> aufzubauen.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Konzept<\/strong><\/p>\n<ul>\n<li>Yocto stellt eine <strong>Referenz-System<\/strong> (<strong>Poky<\/strong>), durch das viele Tools und Projekte leicht einbaubar sind zur Verf\u00fcgung.<\/li>\n<li>Unter den Cores besteht eine <strong>offene Struktur<\/strong> <strong>(Metadaten).<\/strong> Dadurch besteht<strong>\u00a0Kompatibilit\u00e4t<\/strong> unter diversen Projekten<\/li>\n<li>\u00a0Einfaches <strong>Buildprogramm (Bitbake),<\/strong> dass mit dieser offenen Struktur umgehen kann und Images buildet.<\/li>\n<\/ul>\n<p>Wegen dieser Offenheit, k\u00f6nnen viele BSP (<a href=\"http:\/\/coolt.ch\/notizen\/board-support-packege\/\">Board Support Packets<\/a>) der Hersteller eingebunden und weiterentickelt werden. Dadurch muss das Build-System nicht neu erfunden werden.<br \/>\nBSP: Altera stellt \u00fcber Quartus BSP f\u00fcr FPGAs her. Diese k\u00f6nnen relativ einfach in Yocto integriert werden. (Device Tree generieren, aus Datei.sof -&gt; Datei.rbf und einen Preloader hinzuf\u00fcgen.)<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Notwendige Grundlagen-Dateien<br \/>\n<\/strong>Auf dem Speichermedium, vom dem aus <a href=\"http:\/\/coolt.ch\/notizen\/booten\/\">gebootet<\/a> wird, liegen neben dem Yocto-Image weitere Dateien. Yocto erg\u00e4nzt nur diese Dateien (mit seinem zImage), bzw. hilft, die\u00a0Grundlagen-Dateiene\u00a0zu einem funktionst\u00fcchtigen Gebilde zusammenzuf\u00fcgen.<strong><br \/>\n<\/strong><\/p>\n<ul>\n<li>Bootloader (Image)<\/li>\n<li>Bootscript\u00a0 -&gt; nur so ist das System startf\u00e4hig<\/li>\n<li>Kernel mit Devicetree<\/li>\n<li>File System (Image)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Struktur Yocto Projekt<br \/>\n-&gt; Ordner build\/<br \/>\n<\/strong>conf\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0layers einstellen,<br \/>\n&#8230;.<\/p>\n<p><strong>-&gt; ordner pocky\/<br \/>\n<\/strong>bitbake\/<br \/>\ndocumentation\/<br \/>\nmeta\/<br \/>\nmeta-yocto\/<br \/>\nmeta-yocto-bsp\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 scripts\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0um neue Projekte beizuf\u00fcgen<br \/>\n(layers)<\/p>\n<p><strong>Image builden<\/strong><\/p>\n<pre class=\"lang:sh decode:true\">cd build\r\nbitbake virtual\/bootloader\r\nbitbake virtual\/kernel\r\nbitbake core-image-minimale     \/\/ root file System<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Vorteile<\/strong><\/p>\n<p>Die Vorteile von Yocto liegen laut der Linux Foundation darin, dass viele Vorlagen f\u00fcr die Unterst\u00fctzung spezifischer Hardware (<a href=\"http:\/\/coolt.ch\/notizen\/board-support-packege\/\">Board Support Packages<\/a>) vorhanden sind und es einfach ist, das System auf neue Hardware zu portieren. Auch in Lizenzfragen ist man mit Yocto auf der sicheren Seite.<\/p>\n<p><strong>B\u00fccher<\/strong><\/p>\n<ul>\n<li>Embedded Linux Projects Using Yocto Project Cookbook, March 2015<br \/>\nBy Alex Gonz\u00e1lez<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.packtpub.com\/application-development\/embedded-linux-development-yocto-project\">https:\/\/www.packtpub.com\/application-development\/embedded-linux-development-yocto-project<\/a><\/p>\n<ul>\n<li>Embedded Linux Development with Yocto Project, July 2014<br \/>\nBy Otavio Salvador and Daiane Angolini:<br \/>\n<a href=\"https:\/\/www.packtpub.com\/virtualization-and-cloud\/embedded-linux-projects-using-yocto-project-cookbook\/?utm_source=VKFreeelectrons&amp;utm_medium=referral&amp;utm_campaign=1784395186\"><u><span style=\"color: #0066cc;\">https:\/\/www.packtpub.com\/virtualization-and-cloud\/embedded-linux-projects-using-yocto-project-cookbook\/?utm_source=VKFreeelectrons&amp;utm_medium=referral&amp;utm_campaign=1784395186<\/span><\/u><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Yocto ist ein Build-System und hilft, ein embedded Linux-System aufzubauen. &nbsp; Konzept Yocto stellt eine Referenz-System (Poky), durch das viele Tools und Projekte leicht einbaubar sind zur Verf\u00fcgung. Unter den Cores besteht eine offene Struktur (Metadaten). Dadurch besteht\u00a0Kompatibilit\u00e4t unter diversen Projekten \u00a0Einfaches Buildprogramm (Bitbake), dass mit dieser offenen Struktur umgehen kann und Images buildet. Wegen &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/yocto-konzept\/\" class=\"more-link\"><span class=\"screen-reader-text\">yocto: Konzept und Literatur<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[14,20],"tags":[],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/985"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=985"}],"version-history":[{"count":8,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/985\/revisions"}],"predecessor-version":[{"id":1450,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/985\/revisions\/1450"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}