diff options
author | Louai Al-Khanji <louai.al-khanji@theqtcompany.com> | 2016-03-10 23:39:46 -0800 |
---|---|---|
committer | Louai Al-Khanji <louai.al-khanji@theqtcompany.com> | 2016-03-22 14:16:00 +0000 |
commit | 431c82aefd72d6eb7a73b704bc7c6dadcd9295c5 (patch) | |
tree | 7474e42ac03bc705a772a3174c542ff8eef7032a /meta-nvidia-extras/recipes | |
parent | ccec3da8bfeef0e86a153772130212e36f68e8c8 (diff) | |
download | meta-boot2qt-431c82aefd72d6eb7a73b704bc7c6dadcd9295c5.tar.gz |
nvidia-t18x support
Steps to use this:
Set up vibrante installation, mine looks like this:
$ ls -l ~/VibranteSDK
total 234880
drwxrwxr-x 1 louai louai 298 Mar 20 2014 eclipse
-r-xr-xr-x 1 louai louai 171826846 Jan 4 09:59 NVIDIA_Tegra_Graphics_Debugger_2.1_linux-v4l_l4t-egl.run
-r--r--r-- 1 louai louai 68688729 Jan 4 09:59 NVIDIA_Tegra_System_Profiler_2.5-linux-x64.tar.gz
drwxr-xr-x 1 louai louai 262 Jan 5 14:50 toolchains
drwxrwxr-x 1 louai louai 34 Jan 5 13:55 vibrante-oss-src
drwxr-xr-x 1 louai louai 12 Jan 4 09:47 vibrante-t186ref-cuda
drwxrwxr-x 1 louai louai 264 Feb 10 10:50 vibrante-t186ref-foundation
drwxr-xr-x 1 louai louai 164 Jan 5 14:49 vibrante-t186ref-foundation_src
drwxrwxr-x 1 louai louai 228 Jan 5 13:56 vibrante-t186ref-linux
drwxr-xr-x 1 louai louai 314 Feb 10 10:58 vibrante-t186ref-linux_sr
Set up Yocto build dir:
$ mkdir ~/work
$ cd ~/work
$ ~/tqtc-b2qt/yocto-meta/b2qt-init-build-env init --device tegra-t18x
Add NVIDIA's Yocto things:
$ mkdir ~/work/sources/nvidia-layer
$ cd ~/work/sources/nvidia-layer
$ tar xf ~/VibranteSDK/vibrante-t186ref-linux_src/yocto/nvidia-layer.tgz
$ cd -
Set up build environment:
$ export MACHINE=tegra-t18x
$ . setup-environment.sh
Set the following environment variables:
$ export KERN_DIR=~/VibranteSDK/vibrante-t186ref-linux_src/kernel
$ export PLATFORM_TOPDIR=~/VibranteSDK/vibrante-t186ref-linux
$ export TOOLCHAIN_PATH=~/VibranteSDK/toolchains/tegra-4.9-nv
$ export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE TOOLCHAIN_PATH KERN_DIR PLATFORM_TOPDIR"
Add NVLAYER_DIR to local.conf:
$ echo 'NVLAYER_DIR = "${TOPDIR}/../sources/nvidia-layer"' >> conf/local.conf
Build your image:
$ bitbake b2qt-embedded-qt5-image
Flash your board:
$ cd $PLATFORM_TOPDIR
$ mv targetfs targetfs-old
$ cd targetfs && tar xf /path/to/rootfs.tar.bz2
$ cd ../../vibrante-t186ref-foundation/utils/scripts/bootburn
$ ./bootburn.sh -b p2382-t186
Change-Id: I4209cd0c19a007c4457460fd67342fc579c2a735
Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
Diffstat (limited to 'meta-nvidia-extras/recipes')
10 files changed, 154 insertions, 0 deletions
diff --git a/meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend b/meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend new file mode 100644 index 0000000..86f0571 --- /dev/null +++ b/meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend | |||
@@ -0,0 +1,32 @@ | |||
1 | ############################################################################## | ||
2 | ## | ||
3 | ## Copyright (C) 2016 The Qt Company Ltd. | ||
4 | ## Contact: http://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:COMM$ | ||
9 | ## | ||
10 | ## Commercial License Usage | ||
11 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
12 | ## accordance with the commercial license agreement provided with the | ||
13 | ## Software or, alternatively, in accordance with the terms contained in | ||
14 | ## a written agreement between you and The Qt Company. For licensing terms | ||
15 | ## and conditions see http://www.qt.io/terms-conditions. For further | ||
16 | ## information use the contact form at http://www.qt.io/contact-us. | ||
17 | ## | ||
18 | ## $QT_END_LICENSE$ | ||
19 | ## | ||
20 | ############################################################################## | ||
21 | |||
22 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
23 | |||
24 | FILES_${PN} += "etc/connman/main.conf" | ||
25 | |||
26 | SRC_URI += "file://main.conf \ | ||
27 | " | ||
28 | |||
29 | do_install_append() { | ||
30 | install -d ${D}${sysconfdir}/connman | ||
31 | install -m 0644 ${WORKDIR}/main.conf ${D}${sysconfdir}/connman/main.conf | ||
32 | } | ||
diff --git a/meta-nvidia-extras/recipes/connman-conf/connman-conf/nvidia-logan/main.conf b/meta-nvidia-extras/recipes/connman-conf/connman-conf/nvidia-logan/main.conf new file mode 100644 index 0000000..a1e45b9 --- /dev/null +++ b/meta-nvidia-extras/recipes/connman-conf/connman-conf/nvidia-logan/main.conf | |||
@@ -0,0 +1,4 @@ | |||
1 | [General] | ||
2 | PreferredTechnologies=ethernet,wifi,cellular | ||
3 | NetworkInterfaceBlacklist=eth0 | ||
4 | |||
diff --git a/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend b/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend new file mode 100644 index 0000000..f9d9cc6 --- /dev/null +++ b/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend | |||
@@ -0,0 +1,28 @@ | |||
1 | do_kernel_defconfig_prepend_tegra-t18x () { | ||
2 | } | ||
3 | |||
4 | do_install_append_tegra-t18x () { | ||
5 | s=$(readlink -m "${S}") | ||
6 | kernsrc="${STAGING_KERNEL_DIR}" | ||
7 | |||
8 | if [ "${s}" != "${kernsrc}" ]; then | ||
9 | mkdir -p "${kernsrc}" | ||
10 | rm -rf "${kernsrc}" | ||
11 | mv "${S}" "${STAGING_KERNEL_DIR}" | ||
12 | ln -sf "${kernsrc}" "${s}" | ||
13 | fi | ||
14 | } | ||
15 | |||
16 | do_compile_prepend_tegra-t18x () { | ||
17 | if [ -z "${TOOLCHAIN_PATH}" ] ; then | ||
18 | echo "TOOLCHAIN_PATH must be set" | ||
19 | exit -1 | ||
20 | fi | ||
21 | |||
22 | export PATH="${TOOLCHAIN_PATH}/usr/bin/aarch64-gnu-linux:${PATH}" | ||
23 | |||
24 | echo "CONFIG_USB_FUNCTIONFS=m" >> ${B}/.config | ||
25 | echo "CONFIG_USB_ACM=m" >> ${B}/.config | ||
26 | |||
27 | make olddefconfig | ||
28 | } | ||
diff --git a/meta-nvidia-extras/recipes/packagegroups/packagegroup-b2qt-embedded-toolchain-target.bbappend b/meta-nvidia-extras/recipes/packagegroups/packagegroup-b2qt-embedded-toolchain-target.bbappend new file mode 100644 index 0000000..1800e5e --- /dev/null +++ b/meta-nvidia-extras/recipes/packagegroups/packagegroup-b2qt-embedded-toolchain-target.bbappend | |||
@@ -0,0 +1,4 @@ | |||
1 | RDEPENDS_${PN}_remove_tegra-t18x = "\ | ||
2 | libgbm-dev \ | ||
3 | " | ||
4 | |||
diff --git a/meta-nvidia-extras/recipes/qt5/qtbase_git.bbappend b/meta-nvidia-extras/recipes/qt5/qtbase_git.bbappend new file mode 100644 index 0000000..cd74ddf --- /dev/null +++ b/meta-nvidia-extras/recipes/qt5/qtbase_git.bbappend | |||
@@ -0,0 +1,23 @@ | |||
1 | ############################################################################## | ||
2 | ## | ||
3 | ## Copyright (C) 2016 The Qt Company Ltd. | ||
4 | ## Contact: http://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:COMM$ | ||
9 | ## | ||
10 | ## Commercial License Usage | ||
11 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
12 | ## accordance with the commercial license agreement provided with the | ||
13 | ## Software or, alternatively, in accordance with the terms contained in | ||
14 | ## a written agreement between you and The Qt Company. For licensing terms | ||
15 | ## and conditions see http://www.qt.io/terms-conditions. For further | ||
16 | ## information use the contact form at http://www.qt.io/contact-us. | ||
17 | ## | ||
18 | ## $QT_END_LICENSE$ | ||
19 | ## | ||
20 | ############################################################################## | ||
21 | |||
22 | DEPENDS_nvidia-logan += "graphics-headers" | ||
23 | PACKAGECONFIG_nvidia-logan += "kms" | ||
diff --git a/meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend b/meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend new file mode 100644 index 0000000..97acf20 --- /dev/null +++ b/meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend | |||
@@ -0,0 +1,23 @@ | |||
1 | ############################################################################## | ||
2 | ## | ||
3 | ## Copyright (C) 2016 The Qt Company Ltd. | ||
4 | ## Contact: http://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:COMM$ | ||
9 | ## | ||
10 | ## Commercial License Usage | ||
11 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
12 | ## accordance with the commercial license agreement provided with the | ||
13 | ## Software or, alternatively, in accordance with the terms contained in | ||
14 | ## a written agreement between you and The Qt Company. For licensing terms | ||
15 | ## and conditions see http://www.qt.io/terms-conditions. For further | ||
16 | ## information use the contact form at http://www.qt.io/contact-us. | ||
17 | ## | ||
18 | ## $QT_END_LICENSE$ | ||
19 | ## | ||
20 | ############################################################################## | ||
21 | |||
22 | CXXFLAGS +=" -DWIN_INTERFACE_CUSTOM" | ||
23 | COMPATIBLE_MACHINE_aarch64 = "(.*)" | ||
diff --git a/meta-nvidia-extras/recipes/systemd/systemd/tegra-t18x/0001-Disable-LTO-in-LDFLAGS-and-CFLAGS.patch b/meta-nvidia-extras/recipes/systemd/systemd/tegra-t18x/0001-Disable-LTO-in-LDFLAGS-and-CFLAGS.patch new file mode 100644 index 0000000..629ccf4 --- /dev/null +++ b/meta-nvidia-extras/recipes/systemd/systemd/tegra-t18x/0001-Disable-LTO-in-LDFLAGS-and-CFLAGS.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | diff --git a/configure.ac b/configure.ac | ||
2 | index 97a29d6..b0e4060 100644 | ||
3 | --- a/configure.ac | ||
4 | +++ b/configure.ac | ||
5 | @@ -208,10 +208,6 @@ AS_CASE([$CC], [*clang*], | ||
6 | -Wno-gnu-variable-sized-type-not-at-end \ | ||
7 | ])]) | ||
8 | |||
9 | -AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], | ||
10 | - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ | ||
11 | - -flto -ffat-lto-objects])], | ||
12 | - [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) | ||
13 | AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") | ||
14 | |||
15 | AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], | ||
16 | -- | ||
17 | 2.5.0 | ||
18 | |||
diff --git a/meta-nvidia-extras/recipes/systemd/systemd_%.bbappend b/meta-nvidia-extras/recipes/systemd/systemd_%.bbappend new file mode 100644 index 0000000..d86ee9d --- /dev/null +++ b/meta-nvidia-extras/recipes/systemd/systemd_%.bbappend | |||
@@ -0,0 +1 @@ | |||
FILESEXTRAPATHS_prepend_tegra-t18x := "${THISDIR}/${PN}:" | |||
diff --git a/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend b/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend new file mode 100644 index 0000000..85a2996 --- /dev/null +++ b/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend | |||
@@ -0,0 +1,12 @@ | |||
1 | GRAPHICS_PACKAGES = " \ | ||
2 | virtual/libgles2 \ | ||
3 | virtual/libegl \ | ||
4 | virtual/egl \ | ||
5 | libgbm \ | ||
6 | libgbm-dev \ | ||
7 | " | ||
8 | |||
9 | PROVIDES_append = " ${GRAPHICS_PACKAGES}" | ||
10 | RPROVIDES_append_${PN} = " ${GRAPHICS_PACKAGES}" | ||
11 | CONFLICTS_append_${PN} = " ${GRAPHICS_PACKAGES}" | ||
12 | REPLACES_append_${PN} = " ${GRAPHICS_PACKAGES}" | ||
diff --git a/meta-nvidia-extras/recipes/wayland-nv/wayland-nv.bbappend b/meta-nvidia-extras/recipes/wayland-nv/wayland-nv.bbappend new file mode 100644 index 0000000..db0da64 --- /dev/null +++ b/meta-nvidia-extras/recipes/wayland-nv/wayland-nv.bbappend | |||
@@ -0,0 +1,9 @@ | |||
1 | EXTRA_PROVIDES = " \ | ||
2 | virtual/wayland-native \ | ||
3 | wayland-native \ | ||
4 | " | ||
5 | |||
6 | PROVIDES_append = "${EXTRA_PROVIDES}" | ||
7 | RPROVIDES_append_${PN} = "${EXTRA_PROVIDES}" | ||
8 | CONFLICTS_append_${PN} = "${EXTRA_PROVIDES}" | ||
9 | REPLACES_append_${PN} = "${EXTRA_PROVIDES}" | ||