mirror of
https://github.com/lingble/meta-tegra.git
synced 2025-10-29 19:42:41 +00:00
tegra-binaries: refactor into multiple recipes
This commit is contained in:
@@ -18,8 +18,8 @@ KERNEL_IMAGETYPE = "Image"
|
||||
KERNEL_DEVICETREE = "tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb"
|
||||
|
||||
MACHINE_FEATURES = "alsa bluetooth ext2 ext3 vfat usbhost pci wifi rtc"
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "tegra-binaries"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "kernel-devicetree tegra-binaries-brcm"
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "tegra-firmware"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "kernel-devicetree tegra-firmware-brcm udev-rules-tegra"
|
||||
|
||||
UBOOT_MACHINE = "p2371-2180_defconfig"
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
require tegra-binaries-${PV}.inc
|
||||
require tegra-shared-binaries.inc
|
||||
|
||||
COMPATIBLE_HOST = "(arm.*)"
|
||||
|
||||
do_configure() {
|
||||
tar -C ${B} -x -f ${S}/nv_sample_apps/nvgstapps.tbz2
|
||||
}
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
LIBROOT = "${B}/usr/lib/arm-linux-gnueabihf"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${B}/usr/bin/nvgstcapture-1.0 ${D}${bindir}
|
||||
install -m 0755 ${B}/usr/bin/nvgstplayer-1.0 ${D}${bindir}
|
||||
install -d ${D}${libdir}/gstreamer-1.0
|
||||
install -m 0644 ${LIBROOT}/libgstnvegl-1.0.so.0 ${D}${libdir}
|
||||
install -m 0644 ${LIBROOT}/libsample_process.so ${D}${libdir}
|
||||
for f in ${LIBROOT}/gstreamer-1.0/lib*; do
|
||||
install -m 0644 $f ${D}${libdir}/gstreamer-1.0/
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
PACKAGES = "nvgstcapture nvgstplayer ${PN}"
|
||||
FILES_nvgstcapture = "${bindir}/nvgstcapture-1.0"
|
||||
RDEPENDS_nvcapture = "${PN}"
|
||||
FILES_nvgstplayer = "${bindir}/nvgstplayer-1.0"
|
||||
RDEPENDS_nvgstplayer = "${PN}"
|
||||
|
||||
INSANE_SKIP_${PN} = "dev-so"
|
||||
RDEPENDS_${PN} = "gstreamer1.0 gstreamer1.0-plugins-good-jpeg"
|
||||
13
recipes-bsp/tegra-binaries/tegra-binaries-23.1.1.inc
Normal file
13
recipes-bsp/tegra-binaries/tegra-binaries-23.1.1.inc
Normal file
@@ -0,0 +1,13 @@
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://nv_tegra/LICENSE;md5=60ad17cc726658e8cf73578bea47b85f \
|
||||
file://nv_tegra/LICENSE.brcm_patchram_plus;md5=38fb07f0dacf4830bc57f40a0fb7532e"
|
||||
|
||||
SRC_URI = "http://developer.download.nvidia.com/embedded/L4T/r23_Release_v1.0/Tegra210_Linux_R${PV}_armhf.tbz2"
|
||||
SRC_URI[md5sum] = "4773c4aff47f464f0a6eb2a8342b05e7"
|
||||
SRC_URI[sha256sum] = "aacb0b1e9571df43621a6fd32101f8f52f9387ecb84e96930fb5682a68676c15"
|
||||
|
||||
S = "${TMPDIR}/work-shared/tegra-binaries-${PV}-${PR}/Linux_for_Tegra"
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
@@ -1,38 +1,31 @@
|
||||
SUMMARY = "NVIDIA firmware and drivers"
|
||||
DESCRIPTION = "NVIDIA L4T proprietary binary-only firmware and drivers"
|
||||
SUMMARY = "NVIDIA L4T binaries"
|
||||
DESCRIPTION = "Downloads NVIDIA L4T binary-only packages for sharing with other recipes"
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://nv_tegra/LICENSE;md5=60ad17cc726658e8cf73578bea47b85f \
|
||||
file://nv_tegra/LICENSE.brcm_patchram_plus;md5=38fb07f0dacf4830bc57f40a0fb7532e"
|
||||
|
||||
SRC_URI = "http://developer.download.nvidia.com/embedded/L4T/r23_Release_v1.0/Tegra210_Linux_R${PV}_armhf.tbz2"
|
||||
SRC_URI[md5sum] = "4773c4aff47f464f0a6eb2a8342b05e7"
|
||||
SRC_URI[sha256sum] = "aacb0b1e9571df43621a6fd32101f8f52f9387ecb84e96930fb5682a68676c15"
|
||||
require tegra-binaries-${PV}.inc
|
||||
|
||||
COMPATIBLE_MACHINE = "(jetson-tx1)"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
WORKDIR = "${TMPDIR}/work-shared/tegra-binaries-${PV}-${PR}"
|
||||
SSTATE_SWSPEC = "sstate::tegra-binaries::${PV}:${PR}::${SSTATE_VERSION}:"
|
||||
STAMP = "${STAMPS_DIR}/work-shared/tegra-binaries-${PV}-${PR}"
|
||||
STAMPCLEAN = "${STAMPS_DIR}/work-shared/tegra-binaries-${PV}-*"
|
||||
|
||||
B = "${WORKDIR}/build"
|
||||
S = "${WORKDIR}/Linux_for_Tegra"
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
DEPENDS = ""
|
||||
PACKAGES = ""
|
||||
|
||||
do_configure() {
|
||||
tar -C ${B} -x -f ${S}/nv_tegra/nvidia_drivers.tbz2 lib/firmware usr/sbin
|
||||
deltask do_configure
|
||||
deltask do_compile
|
||||
deltask do_package
|
||||
deltask do_package_write_rpm
|
||||
deltask do_package_write_ipk
|
||||
deltask do_package_write_deb
|
||||
deltask do_install
|
||||
deltask do_populate_sysroot
|
||||
deltask do_package_qa
|
||||
deltask do_packagedata
|
||||
deltask do_rm_work
|
||||
|
||||
do_preconfigure() {
|
||||
:
|
||||
}
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/lib
|
||||
cp -R -f ${B}/lib/firmware ${D}/lib/
|
||||
install -d ${D}${sbindir}
|
||||
install -m 0755 ${B}/usr/sbin/brcm_patchram_plus ${D}${sbindir}
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}-brcm ${PN}-brcm-patchram ${PN}"
|
||||
FILES_${PN}-brcm = "/lib/firmware/brcm /lib/firmware/bcm4354.hcd"
|
||||
FILES_${PN}-brcm-patchram = "${sbindir}/brcm_patchram_plus"
|
||||
FILES_${PN} = "/lib/firmware/tegra21x*"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
INSANE_SKIP_${PN}-brcm-patchram = "arch"
|
||||
addtask preconfigure after do_patch
|
||||
|
||||
18
recipes-bsp/tegra-binaries/tegra-brcm-patchram_23.1.1.bb
Normal file
18
recipes-bsp/tegra-binaries/tegra-brcm-patchram_23.1.1.bb
Normal file
@@ -0,0 +1,18 @@
|
||||
require tegra-binaries-${PV}.inc
|
||||
require tegra-shared-binaries.inc
|
||||
|
||||
COMPATIBLE_HOST = "(arm.*)"
|
||||
|
||||
do_configure() {
|
||||
tar -C ${B} -x -f ${S}/nv_tegra/nvidia_drivers.tbz2 usr/sbin
|
||||
}
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${sbindir}
|
||||
install -m 0755 ${B}/usr/sbin/brcm_patchram_plus ${D}${sbindir}
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}"
|
||||
FILES_${PN}-brcm-patchram = "${sbindir}/brcm_patchram_plus"
|
||||
20
recipes-bsp/tegra-binaries/tegra-firmware_23.1.1.bb
Normal file
20
recipes-bsp/tegra-binaries/tegra-firmware_23.1.1.bb
Normal file
@@ -0,0 +1,20 @@
|
||||
require tegra-binaries-${PV}.inc
|
||||
require tegra-shared-binaries.inc
|
||||
|
||||
COMPATIBLE_MACHINE = "(jetson-tx1)"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
do_configure() {
|
||||
tar -C ${B} -x -f ${S}/nv_tegra/nvidia_drivers.tbz2 lib/firmware
|
||||
}
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/lib
|
||||
cp -R -f ${B}/lib/firmware ${D}/lib/
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}-brcm ${PN}"
|
||||
FILES_${PN}-brcm = "/lib/firmware/brcm /lib/firmware/bcm4354.hcd"
|
||||
FILES_${PN} = "/lib/firmware/tegra21x*"
|
||||
59
recipes-bsp/tegra-binaries/tegra-libraries_23.1.1.bb
Normal file
59
recipes-bsp/tegra-binaries/tegra-libraries_23.1.1.bb
Normal file
@@ -0,0 +1,59 @@
|
||||
require tegra-binaries-${PV}.inc
|
||||
require tegra-shared-binaries.inc
|
||||
|
||||
COMPATIBLE_HOST = "(arm.*)"
|
||||
|
||||
do_configure() {
|
||||
tar -C ${B} -x -f ${S}/nv_tegra/nvidia_drivers.tbz2 usr/lib
|
||||
}
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
DRVROOT = "${B}/usr/lib/arm-linux-gnueabihf"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${libdir}
|
||||
for f in ${DRVROOT}/tegra/lib*; do
|
||||
install -m 0644 $f ${D}${libdir}
|
||||
done
|
||||
for f in ${DRVROOT}/tegra-egl/lib*; do
|
||||
install -m 0644 $f ${D}${libdir}
|
||||
done
|
||||
ln -sf libcuda.so.1.1 ${D}${libdir}/libcuda.so
|
||||
ln -sf libGL.so.1 ${D}${libdir}/libGL.so
|
||||
ln -sf libEGL.so.1 ${D}${libdir}/libEGL.so
|
||||
ln -sf libGLESv1_CM.so.1 ${D}${libdir}/libGLESv1_CM.so
|
||||
ln -sf libGLESv2.so.2 ${D}${libdir}/libGLESv2.so
|
||||
}
|
||||
|
||||
python __anonymous() {
|
||||
for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
|
||||
("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2")):
|
||||
fullp = p[0] + "-tegra"
|
||||
pkgs = " ".join(p)
|
||||
d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
|
||||
d.appendVar("RREPLACES_" + fullp, pkgs)
|
||||
d.appendVar("RPROVIDES_" + fullp, pkgs)
|
||||
d.appendVar("RCONFLICTS_" + fullp, pkgs)
|
||||
|
||||
# For -dev, the first element is both the Debian and original name
|
||||
fullp += "-dev"
|
||||
pkgs = p[0] + "-dev"
|
||||
d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
|
||||
d.appendVar("RREPLACES_" + fullp, pkgs)
|
||||
d.appendVar("RPROVIDES_" + fullp, pkgs)
|
||||
d.appendVar("RCONFLICTS_" + fullp, pkgs)
|
||||
}
|
||||
|
||||
PACKAGES = "libegl-tegra libgl-tegra libgles1-tegra libgles2-tegra \
|
||||
libegl-tegra-dev libgl-tegra-dev libgles1-tegra-dev libgles2-tegra-dev ${PN}"
|
||||
FILES_libegl-tegra = "${libdir}/libEGL${SOLIBS}"
|
||||
FILES_libegl-tegra-dev = "${libdir}/libEGL${SOLIBSDEV}"
|
||||
FILES_libgl-tegra = "${libdir}/libGL${SOLIBS}"
|
||||
FILES_libgl-tegra-dev = "${libdir}/libGL${SOLIBSDEV}"
|
||||
FILES_libgles1-tegra = "${libdir}/libGLESv1*${SOLIBS}"
|
||||
FILES_libgles1-tegra-dev = "${libdir}/libGLESv1*${SOLIBSDEV}"
|
||||
FILES_libgles2-tegra = "${libdir}/libGLESv2*${SOLIBS}"
|
||||
FILES_libgles2-tegra-dev = "${libdir}/libGLESv2*${SOLIBSDEV}"
|
||||
|
||||
INSANE_SKIP_${PN} = "dev-so"
|
||||
10
recipes-bsp/tegra-binaries/tegra-shared-binaries.inc
Normal file
10
recipes-bsp/tegra-binaries/tegra-shared-binaries.inc
Normal file
@@ -0,0 +1,10 @@
|
||||
do_fetch() {
|
||||
:
|
||||
}
|
||||
do_fetch[noexec] = "1"
|
||||
deltask do_unpack
|
||||
deltask do_patch
|
||||
|
||||
SRC_URI = ""
|
||||
do_configure[depends] += "tegra-binaries:do_preconfigure"
|
||||
do_populate_lic[depends] += "tegra-binaries:do_unpack"
|
||||
18
recipes-bsp/tegra-binaries/udev-rules-tegra_23.1.1.bb
Normal file
18
recipes-bsp/tegra-binaries/udev-rules-tegra_23.1.1.bb
Normal file
@@ -0,0 +1,18 @@
|
||||
require tegra-binaries-${PV}.inc
|
||||
require tegra-shared-binaries.inc
|
||||
|
||||
do_configure() {
|
||||
tar -C ${B} -x -f ${S}/nv_tegra/config.tbz2
|
||||
}
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${B}/etc/udev/rules.d/99-tegra-devices.rules ${D}${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${B}/etc/udev/rules.d/99-tegra-mmc-ra.rules ${D}${sysconfdir}/udev/rules.d
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}"
|
||||
FILES_${PN} = "${sysconfdir}"
|
||||
RDEPENDS_${PN} = "udev"
|
||||
Reference in New Issue
Block a user