Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
software:linux:yocto:sdk [2020-05-26 11:57] – mlammerich | software:linux:yocto:sdk [2023-07-07 14:40] – Urs Graf | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== SDK' | + | ====== SDK ====== |
- | + | ||
- | ===== Build Natively ===== | + | |
- | + | ||
- | This is the simplest but also least useful way to build packages for yocto. | + | |
- | By default, there is no toolchain installed in the image. | + | |
- | + | ||
- | To add the toolchain to an image, append '' | + | |
- | + | ||
- | < | + | |
- | CORE_IMAGE_INSTALL_append | + | |
- | </ | + | |
- | + | ||
- | Note that this will significantly increase image size and build time. | + | |
===== Cross Development SDK ===== | ===== Cross Development SDK ===== | ||
Zeile 19: | Zeile 6: | ||
Yocto provides an SDK package that can be built for an image to match possible dependencies in the image. | Yocto provides an SDK package that can be built for an image to match possible dependencies in the image. | ||
- | ==== Building | + | ==== Building |
run this command to generate a cross development SDK: | run this command to generate a cross development SDK: | ||
< | < | ||
- | bitbake <image name> -c poulate_sdk | + | bitbake <image name> -c populate_sdk |
# for example: | # for example: | ||
- | bitbake | + | bitbake |
</ | </ | ||
Zeile 31: | Zeile 18: | ||
By default the SDK is in '' | By default the SDK is in '' | ||
- | ==== Installing | + | === Changing |
- | Buildig | + | By default, the SDK is built for '' |
+ | To build the SDK for a 64bit ARM host (e.g. ARM based Apple computers), add the following to '' | ||
+ | < | ||
+ | SDKMACHINE = " | ||
+ | </ | ||
+ | |||
+ | ==== Installing the SDK ==== | ||
+ | The sdk can be built as described above or can be fetched from [[software: | ||
For example, building the SDK yields: | For example, building the SDK yields: | ||
< | < | ||
- | poky-glibc-x86_64-ntb-dev-image-armv7at2hf-neon-bblue-toolchain-3.0.2.host.manifest | + | poky-glibc-x86_64-ost-image-dev-armv7at2hf-neon-bblue-toolchain-3.0.2.host.manifest |
- | poky-glibc-x86_64-ntb-dev-image-armv7at2hf-neon-bblue-toolchain-3.0.2.sh | + | poky-glibc-x86_64-ost-image-dev-armv7at2hf-neon-bblue-toolchain-3.0.2.sh |
- | poky-glibc-x86_64-ntb-dev-image-armv7at2hf-neon-bblue-toolchain-3.0.2.target.manifest | + | poky-glibc-x86_64-ost-image-dev-armv7at2hf-neon-bblue-toolchain-3.0.2.target.manifest |
- | poky-glibc-x86_64-ntb-dev-image-armv7at2hf-neon-bblue-toolchain-3.0.2.testdata.json | + | poky-glibc-x86_64-ost-image-dev-armv7at2hf-neon-bblue-toolchain-3.0.2.testdata.json |
</ | </ | ||
Zeile 49: | Zeile 43: | ||
< | < | ||
- | ./ | + | ./ |
Poky (Yocto Project Reference Distro) SDK installer version 3.0.2 | Poky (Yocto Project Reference Distro) SDK installer version 3.0.2 | ||
================================================================= | ================================================================= | ||
Zeile 69: | Zeile 63: | ||
The SDK includes a script that needs to be sourced in order to use the SDK. | The SDK includes a script that needs to be sourced in order to use the SDK. | ||
- | This, among other thins, sets up the standard environment variables (such as '' | + | This, among other things, sets up the standard environment variables (such as '' |
The script is located in the SDK install directory and the install script tells you where to find it. | The script is located in the SDK install directory and the install script tells you where to find it. | ||
Zeile 82: | Zeile 76: | ||
The script needs to be sourced rather than executed. | The script needs to be sourced rather than executed. | ||
Now running any standard build system (eg '' | Now running any standard build system (eg '' | ||
+ | |||
+ | |||
+ | ==== Developing Kernel Modules ==== | ||
+ | |||
+ | When using [[meta-ost]], | ||
+ | However, properly compiling an out of tree module requires some additional steps: | ||
+ | |||
+ | < | ||
+ | . path/ | ||
+ | pushd path/ | ||
+ | make scripts | ||
+ | make prepare | ||
+ | </ | ||
+ | |||
+ | Source: {{ https:// | ||
+ | |||
+ | Note that depending on the location of the installed SDK, '' | ||
+ | This has been observed when installing the SDK in ''/ | ||
+ | The easiest way to work around this is installing the SDK in a location under the current user's home directory. | ||
=== Additional Information === | === Additional Information === | ||
[[ https:// | [[ https:// |