neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Yocto/OE
Antworten
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

Sehr schön erklärt (auch am Beispiel SPARK) hat doc das im Wiki: http://wiki.tuxbox.org/wiki/index ... fe-stlinux

Weil erneut die Frage aufkam, wie denn mit Yocto zu bauen sei, hier nochmal schnell eine Kurzanleitung (am Beispiel SPARK, das image / die Software läuft sowohl auf SPARK als auch auf SPARK7162) .

Ausführlicher beschrieben wird das alles auf https://www.yoctoproject.org/documentation

Vor man anfängt sollte man folgendes bereitlegen:
  • Einen schnellen Rechner (ich mache das auf einem alten Core2 Duo E8500 und das dauert schon immer ein wenig)
  • Plattenplatz. So 50GB sollte schon frei sein. Man kann das etwas verringern mit "rm_work" etc, aber wenn einem mittendrin die Platte volläuft ist das nicht so praktisch
  • Eine schnelle Platte. SSD oder SSD-backed bcache oder dm-cache macht es auf jeden Fall nicht langsamer
Besondere Bedingungen an die Distribution des bauenden Rechners werden eigentlich nicht gestellt, auch muß nichts außergewöhnliches installiert sein, sonst meckert das bitbake gleich am Anfang rum. Ich baue momentan auf einer openSUSE 13.2 bzw. auf openSUSE Factory/Tumbleweed.

Nun gehts los, erst mal alles auschecken:

Code: Alles auswählen

git clone http://git.yoctoproject.org/git/poky
cd poky
git checkout -b dizzy origin/dizzy
git clone https://github.com/seife/meta-stlinux.git
git clone https://github.com/seife/meta-neutrino-mp.git
Wenn man nicht für SPARK bauen will, dann stat meta-stlinux halt meta-coolstream oder meta-raspberrypi auschecken.
Das environment aufsetzen mit

Code: Alles auswählen

. oe-init-build-env build-spark
Dabei landet man automatisch im Verzeichnis build-spark, was erzeugt und mit ein paar templates bestückt wird. Wenn man später eine neue shell aufmacht, wieder aus dem poky-Verzeichnis mit ". oe-init-build-env build-spark" dort rein wechseln, der Pfad wird erweitert und Umgebungsvariablen gesetzt.
Wem's schon aufgefallen ist: ich nehme noch den (inzwischen alten) dizzy Branch (yocto 1.7), weil ich das meta-stlinux noch an die Änderungen der neueren Versionen anpassen (und testen) musss.

Jetzt muß die Konfiguration angepasst werden (nur beim ersten Mal):
  • in conf/bblayers.conf müssen die beiden layer meta-stlinux und meta-neutrino-mp in BBLAYERS eingetragen werden
  • in conf/local.conf muss MACHINE gesetzt werden
Das sind die Settings, die ich immer mindestens in conf/local.conf mache:

Code: Alles auswählen

MACHINE = "spark"
PACKAGE_CLASSES = "package_ipk"
EXTRA_IMAGE_FEATURES += "package-management"
BINARY_STSLAVE_FW_PATH = "/local/seife/src/Archive/SPARK-FW"
MACHINE ist klar, das wählt die Architektur aus. PACKAGE_CLASSES sagt, daß ipkg/opkg als Paketmanagement benutzt werden soll (default wäre RPM) und EXTRA_IMAGE_FEATURES sort dafür, daß der Paketmanager auch tatsächlich im Image drin ist.
BINARY_STSLAVE_FW_PATH ist nur für SPARK, der sagt, wo die video.elf und audio.elf liegen. Achtung, die müssen dort drin in einem Unterverzeichnis "spark" liegen, also im Beispiel oben in "/local/seife/src/Archive/SPARK-FW/spark/". Der default ist "/data/stslave_fw", also kann man sie auch einfach nach /data/stslave_fw/spark legen und die Variable weg lassen.

Nun gehts los.
Wer vorab alles runterladen will, der macht:

Code: Alles auswählen

bitbake neutrino-image -c fetchall
das lädt dann so etwas 1,4GB runter und speichert alles im Unterverzeichnis "downloads/" (kann in conf/local.conf angepasst werden).
Ansonsten kann man das image bauen:

Code: Alles auswählen

bitbake neutrino-image
oder wer nur ein neutrino-paket bauen will:

Code: Alles auswählen

bitbake neutrino-mp
Beim ersten mal dauert das etwas (einige Stunden), weil alle Dependencies, die Toolchain etc. erst mal gebaut werden müssen. Später geht das schneller.

Was beim Bauen rauskommt landet in tmp/deploy/:
  • tmp/deploy/ipk/ Pakete, dieses Verzeichnis kann z.B. per http exportiert werden und direkt als Paketquelle auf der box importiert werden, dann kann man auf der box mit "opkg update; opkg upgrade" ein update durchführen. Nie wieder flashen ;)
  • tmp/deploy/images/ Images zum Flashen und zum Booten per USB
  • tmp/deploy/sdk/ Wenn es gebaut wurde, liegt dort das SDK

Edits:
20160129 Wiki-Link nachgetragen.
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

Wenn es Fragen gibt die hier im Thread stellen, ich update dann den ersten Post entsprechend.
Tann
Einsteiger
Einsteiger
Beiträge: 101
Registriert: Dienstag 6. März 2012, 13:24

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von Tann »

danke für Anleitung, das ist aber auch ne Umstellung...
hab gerätselt welche local.conf bis ich gefunden hab das das im spark-build gemeint ist

wenn man das durchgebaut bekommen hat, und in neutrino gibts was neues etc - wie muss man da vorgehn
wegen git pull und so

bei mir geht immermal Rechner einfach so aus, wenn alle Kerne voll arbeiten und man nebenbei surft

Code: Alles auswählen

thomas@thomas:~/ffteam/poky/spark-build$ bitbake neutrino-image -c fetchall
Loading cache: 100% |###########################################################################################################################| ETA:  00:00:00
Loaded 19 entries from dependency cache.
ERROR: ExpansionError during parsing /home/thomas/ffteam/poky/meta-stlinux/recipes-core/stslave/stslave_0.7.bb: Failure expanding variable do_fetch[file-checksums], expression was ${@bb.fetch.get_checksum_file_list(d)} which triggered exception MalformedUrl: The URL: '${STLINUX_SH_UPD_SRPMS}/stlinux24-target-stslave-0.7-24.src.rpm' is invalid and cannot be interpreted

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
thomas@thomas:~/ffteam/poky/spark-build$ cd
thomas@thomas:~$ cd ffteam/poky/
thomas@thomas:~/ffteam/poky$ bitbake neutrino-image -c fetchall
The BBPATH variable is not set and bitbake did not find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
DEBUG: Removed the following variables from the environment: MANDATORY_PATH, XDG_GREETER_DATA_DIR, GNOME_DESKTOP_SESSION_ID, LESSOPEN, QT_IM_MODULE, WINDOWID, XDG_VTNR, GNOME_KEYRING_CONTROL, DISPLAY, LANG, XDG_SESSION_PATH, XAUTHORITY, LANGUAGE, SESSION_MANAGER, SHLVL, QT_QPA_PLATFORMTHEME, JOB, TEXTDOMAIN, CLUTTER_IM_MODULE, SESSION, SESSIONTYPE, XMODIFIERS, GPG_AGENT_INFO, QT4_IM_MODULE, SELINUX_INIT, XDG_RUNTIME_DIR, VTE_VERSION, GDMSESSION, IM_CONFIG_PHASE, TEXTDOMAINDIR, XDG_DATA_DIRS, XDG_SEAT_PATH, XDG_CONFIG_DIRS, XDG_CURRENT_DESKTOP, XDG_SESSION_ID, DBUS_SESSION_BUS_ADDRESS, _, DEFAULTS_PATH, GTK_IM_MODULE, DESKTOP_SESSION, UPSTART_SESSION, LESSCLOSE, GNOME_KEYRING_PID, UBUNTU_MENUPROXY, OLDPWD, GDM_LANG, GTK_MODULES, INSTANCE, COLORTERM, BUILDDIR, XDG_MENU_PREFIX, LS_COLORS, XDG_SEAT
thomas@thomas:~/ffteam/poky$ git clone https://github.com/seife/meta-neutrino-mp.git
Nach »meta-neutrino-mp« wird geklont
remote: Counting objects: 1029, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 1029 (delta 1), reused 0 (delta 0), pack-reused 1019
Objekte werden empfangen: 100% (1029/1029), 544.18 KiB | 172.00 KiB/s, done.
Unterschiede werden aufgelöst: 100% (494/494), done.
Verbundenheit wird überprüft … Fertig.
thomas@thomas:~/ffteam/poky$ . oe-init-build-env build-spark
You had no conf/local.conf file. This configuration file has therefore been
created for you with some default values. You may wish to edit it to use a 
different MACHINE (target hardware) or enable parallel build options to take 
advantage of multiple cores for example. See the file for more information as 
common configuration options are commented.

The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
    http://yoctoproject.org/documentation

For more information about OpenEmbedded see their website:
    http://www.openembedded.org/

You had no conf/bblayers.conf file. The configuration file has been created for
you with some default values. To add additional metadata layers into your
configuration please add entries to this file.

The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
    http://yoctoproject.org/documentation

For more information about OpenEmbedded see their website:
    http://www.openembedded.org/



### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    adt-installer
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'
thomas@thomas:~/ffteam/poky/build-spark$ bitbake neutrino-image -c fetchall
Parsing recipes: 100% |#########################################################################################################################| Time: 00:00:43
Parsing of 891 .bb files complete (0 cached, 891 parsed). 1287 targets, 40 skipped, 0 masked, 0 errors.
ERROR: Nothing PROVIDES 'neutrino-image'

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
thomas@thomas:~/ffteam/poky/build-spark$ bitbake neutrino-image -c fetchall
Loading cache: 100% |###########################################################################################################################| ETA:  00:00:00
Loaded 1288 entries from dependency cache.
ERROR: Nothing PROVIDES 'neutrino-image'

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
thomas@thomas:~/ffteam/poky/build-spark$ bitbake neutrino-image
Loading cache: 100% |###########################################################################################################################| ETA:  00:00:00
Loaded 1288 entries from dependency cache.
ERROR: Nothing PROVIDES 'neutrino-image'

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
thomas@thomas:~/ffteam/poky/build-spark$ bitbake core-image-minimal
Loading cache: 100% |###########################################################################################################################| ETA:  00:00:00
Loaded 1288 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-14.04"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7.3"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "dizzy:8ef55cc0da13c96349f665987f2bcf9e64eebf8a"

NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
Currently 6 running tasks (123 of 2058):
0: glibc-initial-2.20-r0 do_fetch (pid 23861)
1: glibc-2.20-r0 do_fetch (pid 24808)
2: pkgconfig-native-0.28-r0 do_configure (pid 16690)
3: gmp-native-6.0.0-r0 do_compile (pid 20390)
4: ncurses-native-5.9-r15.1 do_configure (pid 23493)
5: flex-native-2.5.39-r0 do_configure (pid 5275)

seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

naja, ich habe ja geschrieben "conf/local.conf", das ist ein relativer pfad, und daß man nach oe-init-build-env im buildverzeichnis landet stand zuvor, also ist alles relativ von dort :-)
Wenn du eine Idee hast wie ich das in der Anleitung noch eindeutiger Formulieren kann, dann immer her damit.

Bei dir fehlen die meta-neutrino-mp und meta-stlinux in der conf/bblayers.conf, die BBLAYERS Variable muß etwa so aussehen:

Code: Alles auswählen

BBLAYERS ?= " \
  /local/seife/src/tmp/poky-tmp/meta \
  /local/seife/src/tmp/poky-tmp/meta-yocto \
  /local/seife/src/tmp/poky-tmp/meta-yocto-bsp \
  /local/seife/src/tmp/poky-tmp/meta-stlinux \
  /local/seife/src/tmp/poky-tmp/meta-neutrino-mp \
  "
Die ersten drei sind schon da, die letzten beiden mußt du selber eintragen. Einfach die erste Zeile kopieren und zweimal einfügen und ergänzen.

Dann sieht der output beim Build etwa so aus:

Code: Alles auswählen

...
Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "openSUSE-project-13.2"
TARGET_SYS        = "sh4-poky-linux"
MACHINE           = "spark"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7.3"
TUNE_FEATURES     = "sh4"
meta
meta-yocto
meta-yocto-bsp    = "dizzy:8ef55cc0da13c96349f665987f2bcf9e64eebf8a"
meta-stlinux      = "master:08ee2062362eaf939aeed4516f89151265b08698"
meta-neutrino-mp  = "master:40b2a8ae865b02636fe4017051f19674ca295d93"
...
Beim ersten Versuch (spark-build), da hast du wohl mindestens das meta-stlinux eingetragen aber die meta-neutrino-mp nicht(?) Wobei die config anders sein muß wie meine (welche MACHINE hast du angegeben?), weil $STLINUX_SH_UPD_SRPMS nicht gesetzt war, was aber in meta-stlinux/conf/spark.conf bzw. den includes gesetzt wird...

Beim zweiten Versucht (build-spark) hast du keine conf/local.conf angepasst und die conf/bblayers.conf auch nicht, deswegen wird das default-Target (qemux86) gebaut, darauf habe ich es jetzt noch nie getestet :-)

Also ich behaupte immer noch: genau nach der Anleitung und es funktioniert (habe es nämlich extra heute noch mal durchlaufen lassen, damit ich sicher bin daß es auch geht).
Ich vermute beim ersten Versuch war fast alles bis auf die MACHINE Variable korrekt.

Daß dein Rechner ausgeht wenn er mal was tun muß bedeutet, daß entweder die Kühlung zu schwach ist oder der Kühlkörper nicht richtig montiert oder so, das hat nichts mit dem OpenEmbedded zu tun :-)
Du könntest in der local.conf mit BB_NUMBER_THREADS = "X" und PARALLEL_MAKE = "-j Y" festlegen, wieviele cores maximal benutzt werden, aber das Problem zu lösen wäre wohl einfacher. Achtung: maximal werden dann ca X*Y Prozesse parallel gestartet, der default ist glaube ich X = Y = Anzahl der Cores.
Tann
Einsteiger
Einsteiger
Beiträge: 101
Registriert: Dienstag 6. März 2012, 13:24

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von Tann »

Code: Alles auswählen

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "6"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /home/thomas/ffteam/poky/meta \
  /home/thomas/ffteam/poky/meta-yocto \
  /home/thomas/ffteam/poky/meta-yocto-bsp \
  /home/thomas/ffteam/poky/meta-stlinux \
  /home/thomas/ffteam/poky/meta-neutrino-mp \
  "
BBLAYERS_NON_REMOVABLE ?= " \
  /home/thomas/ffteam/poky/meta \
  /home/thomas/ffteam/poky/meta-yocto \
  "
so sieht datei aus

ja beim ersten versuch hatte ich neutrino-mp noch nicht drinne

in local.conf hab ich

Code: Alles auswählen

MACHINE = "spark"
PACKAGE_CLASSES = "package_ipk"
EXTRA_IMAGE_FEATURES += "package-management"
BINARY_STSLAVE_FW_PATH = "/local/seife/src/Archive/SPARK-FW"
nun eben neu getestet

Code: Alles auswählen

thomas@thomas:~$ cd ffteam
thomas@thomas:~/ffteam$ cd poky
thomas@thomas:~/ffteam/poky$ . oe-init-build-env build-spark

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    adt-installer
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'
thomas@thomas:~/ffteam/poky/build-spark$ bitbake neutrino-image
Loading cache: 100% |##################################################################################################################| ETA:  00:00:00
Loaded 1288 entries from dependency cache.
ERROR: Nothing PROVIDES 'neutrino-image'

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
thomas@thomas:~/ffteam/poky/build-spark$ bitbake core-image-minimal
Loading cache: 100% |##################################################################################################################| ETA:  00:00:00
Loaded 1288 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-14.04"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7.3"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "dizzy:8ef55cc0da13c96349f665987f2bcf9e64eebf8a"

NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: write_specfile
ERROR: Logfile of failure stored in: /home/thomas/ffteam/poky/build-spark/tmp/work/i586-poky-linux/glibc/2.20-r0/temp/log.do_package_write_rpm.9305
Log data follows:
| DEBUG: Executing python function sstate_task_prefunc
| DEBUG: Python function sstate_task_prefunc finished
| DEBUG: Executing python function do_package_write_rpm
| DEBUG: Executing python function read_subpackage_metadata
| DEBUG: Python function read_subpackage_metadata finished
| DEBUG: Executing python function do_package_rpm
| DEBUG: Executing python function write_specfile
| DEBUG: Python function write_specfile finished
| DEBUG: Python function do_package_rpm finished
| DEBUG: Python function do_package_write_rpm finished
| ERROR: Function failed: write_specfile
ERROR: Task 46 (/home/thomas/ffteam/poky/meta/recipes-core/glibc/glibc_2.20.bb, do_package_write_rpm) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1317 tasks of which 1314 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:

Summary: 1 task failed:
  /home/thomas/ffteam/poky/meta/recipes-core/glibc/glibc_2.20.bb, do_package_write_rpm
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
thomas@thomas:~/ffteam/poky/build-spark$ 

seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

Hast du die richtige bblayers.conf angeschaut? Bei deinem beispiel ist kein meta-neutrino-mp und kein meta-stlinux eingetragen. Nur meta, meta-yocto und meta-yocto-bsp.

Schau mal in die in build-spark/conf/bblayer.conf
Auch die conf/layers.conf die benutzt wird ist nicht die, die du gepasted hast, denn du baust immer noch für qemux86.
Steht aber alles groß und deutlich da :-P
Tann
Einsteiger
Einsteiger
Beiträge: 101
Registriert: Dienstag 6. März 2012, 13:24

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von Tann »

/home/thomas/ffteam/poky/spark-build/conf hier die

Code: Alles auswählen

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "6"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /home/thomas/ffteam/poky/meta \
  /home/thomas/ffteam/poky/meta-yocto \
  /home/thomas/ffteam/poky/meta-yocto-bsp \
  /home/thomas/ffteam/poky/meta-stlinux \
  /home/thomas/ffteam/poky/meta-neutrino-mp \
  "
BBLAYERS_NON_REMOVABLE ?= " \
  /home/thomas/ffteam/poky/meta \
  /home/thomas/ffteam/poky/meta-yocto \
  "

Code: Alles auswählen

You can also run generated qemu images with a command like 'runqemu qemux86'
thomas@thomas:~/ffteam/poky/build-spark$ bitbake neutrino-image
Loading cache: 100% |###############################################################################################| ETA:  00:00:00
Loaded 1371 entries from dependency cache.
Parsing recipes: 100% |#############################################################################################| Time: 00:00:01
Parsing of 968 .bb files complete (961 cached, 7 parsed). 1377 targets, 56 skipped, 2 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-14.04"
TARGET_SYS        = "sh4-poky-linux"
MACHINE           = "spark"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7.3"
TUNE_FEATURES     = "sh4"
meta              
meta-yocto        
meta-yocto-bsp    = "dizzy:8ef55cc0da13c96349f665987f2bcf9e64eebf8a"
meta-stlinux      = "master:08ee2062362eaf939aeed4516f89151265b08698"
meta-neutrino-mp  = "master:40b2a8ae865b02636fe4017051f19674ca295d93"

NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
Currently 4 running tasks (542 of 2583):
0: binutils-cross-sh4-2.24-r0 do_compile (pid 14678)
1: stlinux24-spark-2.6.32.61-stm24-0217-r5 do_unpack (pid 22749)
2: u-boot-mkimage-native-v2013.07+gitAUTOINC+62c175fbb8-r0 do_unpack (pid 27616)
3: perl-5.20.0-r1 do_unpack (pid 3180)

so müsste es korrekt sein..
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

Ja, jetzt rennt es ja auch los :-)
doc
Contributor
Beiträge: 1623
Registriert: Donnerstag 10. Januar 2002, 20:03

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von doc »

Huch, es lebt ja noch was.

Zur eventuellen Ergänzung, ich hatte damals was ins Wiki geworfen: http://wiki.tuxbox.org/wiki/index ... fe-stlinux Sollte eigentlich noch passen, habe es aber schon länger nicht mehr geprüft.
(Wobei das Wiki etwas "behäbig" ist ...)
Na schönen Dank Herr Schwanke!
Ein toller Sommer! :-(
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

Das stimmt, das hatte ich schon wieder vergessen. Passen sollte das noch. Ich habe es gleich mal im Ursprungspost eingetragen :-)
flk
Contributor
Beiträge: 292
Registriert: Donnerstag 21. November 2002, 05:32
Box 1: AX HD51
Image: tuxbox
Kontaktdaten:

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von flk »

seife hat geschrieben: Wem's schon aufgefallen ist: ich nehme noch den (inzwischen alten) dizzy Branch (yocto 1.7), weil ich das meta-stlinux noch an die Änderungen der neueren Versionen anpassen (und testen) musss.
Hast Du da schon mal angefangen, bzw. hast Du schon einen Branch, auf dem man aufbauen sollte ? Ich hätte ja auch mal wieder Lust, meine alte Spark mit aktueller Software zu bestücken.
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

Es ist noch nicht schön, drum habe ich es noch nicht committed. Ausserdem habe ich noch keine Lösung gefunden, die sowohl mit altem als auch neuem Basissystem baut (vor oder nachdem die Kernelrecipes "umgeräumt" wurden) und somit müsste ich alle meine Boxen auf einmal umstellen. Ich vermute also, daß es vor dem Winter nichts mehr werden wird.

Aber wenn du experimentieren magst, habe ich mal einen branch "test-2.0" gepushed, wo die schmutzigen Änderungen drin sind.
flk
Contributor
Beiträge: 292
Registriert: Donnerstag 21. November 2002, 05:32
Box 1: AX HD51
Image: tuxbox
Kontaktdaten:

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von flk »

cool :)

Vielen Dank. Dann werde ich die spark demnächst mal wieder anschließen
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

glibc-2.22 läßt sich mit gcc-5 wohl nicht ohne weiters für sh4 kompilieren, mit

Code: Alles auswählen

GCCVERSION_spark = "4.9%"
in conf/local.conf scheint es weiter zu kommen.
flk
Contributor
Beiträge: 292
Registriert: Donnerstag 21. November 2002, 05:32
Box 1: AX HD51
Image: tuxbox
Kontaktdaten:

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von flk »

Lässt sich der sh4 kernel denn ohne Weiteres mit gcc5 bauen ?
Wie siehts mit neutrino-mp aus ? neutrino-hd bzw. die cst libs haben noch Probleme mit der CXX11_ABI
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

flk hat geschrieben:Lässt sich der sh4 kernel denn ohne Weiteres mit gcc5 bauen ?
Wie siehts mit neutrino-mp aus ? neutrino-hd bzw. die cst libs haben noch Probleme mit der CXX11_ABI
Die glibc ließ sich schon nicht bauen, deswegen bin ich ja oben auf 4.9 ausgewichen.

Der Kernel ist schon älter (2.6.32), da würde ich nicht erwarten daß das noch lange problemlos funktioniert. Andererseits habe ich bei den vorigen Updates noch keine echten GCC-Probleme mit kernel & co gefunden, zumindest erinnere ich mich nicht dran. Die Sache die am ehesten auf sh4 komisch war, war die glibc (getXXbyYY ging immer erst beim 2. mal, keine ahnung warum).

neutrino-mp geht mit 5.2, das baue ich oft auf dem PC.
flk
Contributor
Beiträge: 292
Registriert: Donnerstag 21. November 2002, 05:32
Box 1: AX HD51
Image: tuxbox
Kontaktdaten:

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von flk »

Mit der glibc 2.22 hatte ich bisher keine Probleme für cst Boxen. Baut mit gcc 5.3 anstandslos durch. Aber der 2.6.32 Kernel macht einige Zicken.
War mir dann zu blöd, deshalb baue ich für die hd1 auch mit gcc 4.9.

So wie das aussieht, wird yocto poky 2.1 sowieso die letzte Version sein, die out of the box mit dem alten Kernel laufen wird.

Zitat aus der mailing list:
This is FYI, as I have sent a RFT for glibc 2.24, there might be another change
coming which is under discussion on glibc mailing lists which is on
supported minimum
kernel version bump to 3.2 since 2.6.32 will be EOLed this summer [1]

If anyone is planning on using upcoming yocto/OE release and sticking
to kernels older than 3.2 then please plan for upgrading your kernel.
seife
Developer
Beiträge: 4187
Registriert: Sonntag 2. November 2003, 12:36

Re: neutrino-MP bauen mit Yocto/OpenEmbedded, Kurzanleitung

Beitrag von seife »

seife hat geschrieben:Andererseits habe ich bei den vorigen Updates noch keine echten GCC-Probleme mit kernel & co gefunden, zumindest erinnere ich mich nicht dran.
Tja, mit meiner Erinnerung ist es wohl so eine Sache... gcc-4.9 hat schon bei dizzy nicht problemlos funktioniert, deswegen habe ich damals extra den 4.8.4+STLinux patch ins meta-stlinux importiert. Dummerweise habe ich das nie im meta-layer als default gemacht, sondern nur in meiner conf/local.conf mit GCCVERSION="4.8%"
Mit jethro ließ sich mit gcc-4.9 kein funktionierender Kernel bauen, bzw. die Treiber waren irgendwie "seltsam". Und genaueres beobachten der Kisten daheim zeigt auch daß die eine, welche mit dizzy/gcc-4.9.1 betankt wurde wesentlich mehr seltsame Sachen zeigt als die, welche noch mit dizzy/gcc-4.8.4 läuft.

Lange Rede, kurzer Sinn: ich habe jetzt im meta-stlinux auf 4.8.4 downgraded, wenn STM für SH4 keinen neueren Compiler anbietet, dann wird das schon einen Grund haben.

Den test-2.0 branch habe ich wieder gelöscht, meta-stlinux master sollte wieder mit dizzy und jethro funktionieren.
Antworten