summaryrefslogtreecommitdiffstats
path: root/meta-nvidia-extras
diff options
context:
space:
mode:
authorLouai Al-Khanji <louai.al-khanji@theqtcompany.com>2016-03-10 23:39:46 -0800
committerLouai Al-Khanji <louai.al-khanji@theqtcompany.com>2016-03-22 14:16:00 +0000
commit431c82aefd72d6eb7a73b704bc7c6dadcd9295c5 (patch)
tree7474e42ac03bc705a772a3174c542ff8eef7032a /meta-nvidia-extras
parentccec3da8bfeef0e86a153772130212e36f68e8c8 (diff)
downloadmeta-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')
-rw-r--r--meta-nvidia-extras/conf/layer.conf32
-rw-r--r--meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend32
-rw-r--r--meta-nvidia-extras/recipes/connman-conf/connman-conf/nvidia-logan/main.conf4
-rw-r--r--meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend28
-rw-r--r--meta-nvidia-extras/recipes/packagegroups/packagegroup-b2qt-embedded-toolchain-target.bbappend4
-rw-r--r--meta-nvidia-extras/recipes/qt5/qtbase_git.bbappend23
-rw-r--r--meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend23
-rw-r--r--meta-nvidia-extras/recipes/systemd/systemd/tegra-t18x/0001-Disable-LTO-in-LDFLAGS-and-CFLAGS.patch18
-rw-r--r--meta-nvidia-extras/recipes/systemd/systemd_%.bbappend1
-rw-r--r--meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend12
-rw-r--r--meta-nvidia-extras/recipes/wayland-nv/wayland-nv.bbappend9
11 files changed, 186 insertions, 0 deletions
diff --git a/meta-nvidia-extras/conf/layer.conf b/meta-nvidia-extras/conf/layer.conf
new file mode 100644
index 0000000..aa447a5
--- /dev/null
+++ b/meta-nvidia-extras/conf/layer.conf
@@ -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# We have a conf and classes directory, append to BBPATH
23BBPATH .= ":${LAYERDIR}"
24
25# We have a recipes directory, add to BBFILES
26BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
27 ${LAYERDIR}/recipes*/*/*.bbappend \
28"
29
30BBFILE_COLLECTIONS += "b2qt_nvidia"
31BBFILE_PATTERN_b2qt_nvidia := "^${LAYERDIR}/"
32BBFILE_PRIORITY_b2qt_nvidia = "20"
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
22FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
23
24FILES_${PN} += "etc/connman/main.conf"
25
26SRC_URI += "file://main.conf \
27 "
28
29do_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]
2PreferredTechnologies=ethernet,wifi,cellular
3NetworkInterfaceBlacklist=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 @@
1do_kernel_defconfig_prepend_tegra-t18x () {
2}
3
4do_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
16do_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 @@
1RDEPENDS_${PN}_remove_tegra-t18x = "\
2libgbm-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
22DEPENDS_nvidia-logan += "graphics-headers"
23PACKAGECONFIG_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
22CXXFLAGS +=" -DWIN_INTERFACE_CUSTOM"
23COMPATIBLE_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 @@
1diff --git a/configure.ac b/configure.ac
2index 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--
172.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 @@
1GRAPHICS_PACKAGES = " \
2virtual/libgles2 \
3virtual/libegl \
4virtual/egl \
5libgbm \
6libgbm-dev \
7"
8
9PROVIDES_append = " ${GRAPHICS_PACKAGES}"
10RPROVIDES_append_${PN} = " ${GRAPHICS_PACKAGES}"
11CONFLICTS_append_${PN} = " ${GRAPHICS_PACKAGES}"
12REPLACES_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 @@
1EXTRA_PROVIDES = " \
2virtual/wayland-native \
3wayland-native \
4"
5
6PROVIDES_append = "${EXTRA_PROVIDES}"
7RPROVIDES_append_${PN} = "${EXTRA_PROVIDES}"
8CONFLICTS_append_${PN} = "${EXTRA_PROVIDES}"
9REPLACES_append_${PN} = "${EXTRA_PROVIDES}"