I want to port R36.5.0 to our own carrier board, but it report “linux/dma-buf-map.h: No such file or directory” in the building progress. NV_LINUX_IOSYS_MAP_H_PRESENT seems is defined in eariler version, so it go into <linux/iosys-map.h> path with those versiones.
#if defined(NV_LINUX_IOSYS_MAP_H_PRESENT)
include <linux/iosys-map.h>
#else
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)
include <linux/dma-buf-map.h>
endif
endif
I wonder whether my building enviroment is not correct and is there any detail document for the building guide.
My host os is ubuntu 20.04.
Please follow below document to build the customized kernel.
Hi ShaneCCC
Thank you for your response. Yes, i strictly follow this chapter and all R36.X version success except R36.5.0.
I compare nvidia-conftest/nvidia/conftest/headers.h created by R36.4.4 and R36.5.0 and find out that R36.5.0 undef NV_LINUX_IOSYS_MAP_H_PRESENT macro but do not add dma-buf-map.h file to kernel/kernel-jammy-src/include/ dir.
I have to say this is an amazing platform and it’s very unique and its own way you could say and I appreciate having an opportunity to implement AI
I don’t see the failed while build the kernel by below command. (make -C kernel)
Hi ShaneCCC
can you help me to check that whether nvidia-conftest/nvidia/conftest/headers.h created by conftest.sh undef the NV_LINUX_IOSYS_MAP_H_PRESENT MACRO in your side.
Hi ShaneCCC
nvidia-conftest/nvidia/conftest/headers.h is not created by make -C kernel cmd but make modules cmd.
the path should be ${KERNEL_OUTPUT}/nvidia-conftest/nvidia/conftest/headers.h
make -C kernel has no problem with me too
No problem with `make modules` too.
I download the source instead of sync by git.
LD [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia.o
LD [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-drm.o
/home/snchen/nvme/JP6/l4t-gcc/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-ld.bfd -r -o /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-modeset/nv-modeset-interface.o /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-modeset/nvidia-modeset-linux.o /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-modeset/nv-kthread-q.o
LD [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-modeset.o
MODPOST /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/Module.symvers
CC [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-drm.mod.o
CC [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-modeset.mod.o
CC [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia.mod.o
LD [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-drm.ko
LD [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-modeset.ko
LD [M] /home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia.ko
make[3]: Leaving directory '/home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/out/nvidia-linux-header'
make[2]: Leaving directory '/home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay/kernel-open'
make[1]: Leaving directory '/home/snchen/nvme/JP6/r36.5/Linux_for_Tegra/source/nvdisplay'
================================================================================
Display driver compiled successfully.
i download public_sources.tbz2 package too
i have no idea why R36.5.0’s conftest undef NV_LINUX_IOSYS_MAP_H_PRESENT while the version before R36.5.0 do not. My host OS is ubuntu 20.04.
Now, make modules cmd can go through previous node. perhaps it is due to my host os’s restarting.
thanks