aboutsummaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/README
blob: dd87e65ae65f9272744fcc861c02f16627bfb9cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
meta-rcar-gen3
==============

This layer provides that evaluation board is mounted ARM SoCs of Renesas
Electronics, called the R-Car Generation 3. Currently, this supports
board and the SoCs of the following:
     - Board: Salvator-X   / SoC: R8A7795 (R-Car H3), R8A7796 (R-Car M3)
     - Board: R-Car Starter Kit premier(H3ULCB) / SoC: R8A7795 (R-Car H3)
     - Board: R-Car Starter Kit pro(M3ULCB) / SoC: R8A7796 (R-Car M3)

Patches
=======

Please submit any patches for this layer to: takamitsu.honda.pv@renesas.com
Please see the MAINTAINERS file for more details.

Dependencies
============

This layer depends on:

    URI: git://git.yoctoproject.org/poky
    layers: meta, meta-yocto, meta-yocto-bsp
    branch: krogoth

    URI: git://github.com/renesas-rcar/meta-renesas
    layers: meta-rcar-gen3
    branch: krogoth

    URI: git://git.linaro.org/openembedded/meta-linaro.git
    layers: meta-optee
    branch: krogoth

    URI: git://git.openembedded.org/meta-openembedded
    layers: meta-oe
    branch: krogoth

Build Instructions
==================

The following instructions require a Poky installation (or equivalent).

Initialize a build using the 'oe-init-build-env' script in Poky. e.g.:

    $ source poky/oe-init-build-env

After that, initialized configure bblayers.conf by adding meta-rcar-gen3 layer. e.g.:

    BBLAYERS ?= " \
        <path to layer>/poky/meta \
        <path to layer>/poky/meta-yocto \
        <path to layer>/poky/meta-yocto-bsp \
        <path to layer>/meta-renesas/meta-rcar-gen3 \
        <path to layer>/meta-linaro/meta-optee \
        <path to layer>/meta-openembedded/meta-oe \
    "

To build a specific target BSP, configure the associated machine in local.conf:

    MACHINE ??= "<supported board name>"

Select the SOC

    For H3: r8a7795
    SOC_FAMILY = "r8a7795"

    For M3: r8a7796
    SOC_FAMILY = "r8a7796"

Must change the package class to ipk files in local.conf:

    PACKAGE_CLASSES ?= "package_ipk"

Configure for systemd init in local.conf:

    DISTRO_FEATURES_append = " systemd"
    VIRTUAL-RUNTIME_init_manager = "systemd"

Build the target file system image using bitbake:

    $ bitbake core-image-minimal

After completing the images for the target machine will be available in the output
directory 'tmp/deploy/images/<supported board name>'.

Images generated:
    * Image (generic Linux Kernel binary image file)
    * Image-<machine name>.dtb (DTB for target machine)
    * core-image-minimal-<machine name>.tar.bz2 (rootfs tar+bzip2)
    * core-image-minimal-<machine name>.ext4  (rootfs ext4 format)
    * core-image-minimal-<machine name>.cpio.gz (rootfs cpio+gz format)

Build Instructions for SDK
==========================
This may be changed in the near feature. These instructions are tentative.

Should define the staticdev in SDK image feature for installing the static libs
to SDK in local.conf.

    SDKIMAGE_FEATURES_append = " staticdev-pkgs"

Use bitbake -c populate_sdk for generating the toolchain SDK:
For 64-bit target SDK (aarch64):

    $ bitbake core-image-minimal -c populate_sdk

The SDK can be found in the output directory 'tmp/deploy/sdk'
    * poky-glibc-x86_64-core-image-minimal-aarch64-toolchain-x.x.sh

Usage of toolchain SDK:
Install the SDK to the default: /opt/poky/x.x
For 64-bit target SDK:

    $ sh poky-glibc-x86_64-core-image-minimal-aarch64-toolchain-x.x.sh

For 64-bit application use environment script in /opt/poky/x.x

    $ source /opt/poky/x.x/environment-setup-aarch64-poky-linux

ULCB Information
================
Refer to the following for more information of ULCB:

    http://elinux.org/R-Car