mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
In NvSciIpcEndpointValidateAuthTokenLinuxCurrent(), It returns incorrect VUID due to partial string match in corner case. If string length of device node name is different from the size return of snprintf(), it skips comparing strings. Enable debug cmd to test NvSciIpcEndpointValidateAuthTokenLinuxCurrent() and NvSciIpcEndpointMapVuid() since they're kernel APIs. remove one time update limit of SET DB cmd. Added missing updates in nvidia-oot. Bug 3928121 Change-Id: I13cc1927e817a124722156cffa0b391c95c7d28e Signed-off-by: Joshua Cha <joshuac@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2850945 Reviewed-by: Simon Je <sje@nvidia.com> Reviewed-by: Kurt Yi <kyi@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Build NvSciIpc KMD for DRIVE x86
================================
1) install kernel header package
sudo apt-get install linux-headers-`uname -r`
check version of desktop using "uname -r" command.
kernel version must be 5.4.0+.
2) link common header files (NVIDIA internal dev only)
export NVSCIIPC_INCLUDE=${PWD}/../../../include
ln -s ${NVSCIIPC_INCLUDE}/linux ./
ln -s ${NVSCIIPC_INCLUDE}/uapi ./
3) build
make -C /lib/modules/`uname -r`/build M=${PWD} CONFIG_TEGRA_OOT_MODULE=m modules
4) install NvSciIpc KMD
sudo make -C /lib/modules/`uname -r`/build M=${PWD} CONFIG_TEGRA_OOT_MODULE=m modules_install
sudo depmod -a
nvsciipc.ko will be installed in /lib/modules/`uname -r`/extra/nvsciipc.ko
[NOTE] If kernel module installation is failed by missing signing key, follow steps below
** create x509.genkey
echo -e "[ req ] \n\
default_bits = 4096 \n\
distinguished_name = req_distinguished_name \n\
prompt = no \n\
x509_extensions = myexts \n\
\n\
[ req_distinguished_name ] \n\
CN = Modules \n\
\n\
[ myexts ] \n\
basicConstraints=critical,CA:FALSE \n\
keyUsage=digitalSignature \n\
subjectKeyIdentifier=hash \n\
authorityKeyIdentifier=keyid" > x509.genkey
** generate signing key
openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem
** move signing key to kernel module folder of desktop
sudo mv signing_key.* /lib/modules/`uname -r`/build/certs/
5) clean
make -C /lib/modules/`uname -r`/build M=${PWD} CONFIG_TEGRA_OOT_MODULE=m clean
6) load NvSciIpc KMD
You can load NvSciIpc KMD during desktop boot.
sudo vi /etc/modules-load.d/modules.conf
add "nvsciipc" to this file
For manual loading KMD, do "sudo insmod nvsciipc.ko"