jetsonhacks / buildJetsonTX2Kernel

Build the NVIDIA Jetson TX2 Kernel on the device itself
MIT License
153 stars 116 forks source link

lspci does not show any PCI devices #18

Closed chrislgarry closed 6 years ago

chrislgarry commented 6 years ago

Thanks a lot for providing a simple way to flash the TX2. I followed your instructions according to this article, and now lspci does not show any devices. I did not do anything to stray from the tutorial, aside from applying a patch. I tried reflashing using your method, without the patch, and it seems unable to recover the lspci functionality. Any guidance is appreciated. Thanks!

jetsonhacks commented 6 years ago

This builds and installs a kernel Image, it does not flash the Jetson. Which version of L4T are you using, and which version of the scripts?

chrislgarry commented 6 years ago

Ah, I see. So I am missing some steps to flash the TX2? In the last step, the tutorial mentions to copy over the image using the script and then reboot for the new kernel to take effect, which I interpreted as that it would be using the new image. I lack understanding of the difference between installing the kernel and flashing the TX2. So the kernel is "in place now" or "installed", but not being used, and I have to now load that image into the flash memory itself, aka flash the TX2?

Here's the kernel version I built and installed:

git describe --tags
vL4T28.2.1

Here's the kernel version currently running on the TX2:

uname -r
4.4.38

The initial kernel I had came from JetPack, 3.3. Thanks for the help.

jetsonhacks commented 6 years ago

You use the NIVIDA program JetPack on a host PC to flash the Jetson. This flashes not only the Linux kernel Image and modules but also the supporting file system, along with 14 other disk partitions which contains system information such as the device tree. The scripts in this repository can build the Linux kernel and modules and then installs them.

On a stock system, lspci does not report anything unless you are using an additional PCIE device. Do you have a peripheral plugged in that uses PCIE?

I do not know what procedure you followed to build the kernel. You link to an older article, the newer article is here: https://www.jetsonhacks.com/2018/03/22/build-kernel-modules-nvidia-jetson-tx2-2/

You should also set the local version number, something like -tegra if you intend on using the stock kernel naming convention.

Where there issues patching? If the patch does not match the version of the kernel source and fails, that could be an issue. You should check the files that were patched to make sure that the changes are actually there.

chrislgarry commented 6 years ago

@jetsonhacks thanks, Ill give that a try! From /usr/src/kernel on the TX2 to my host PC JetPack install directories, should I copy over and replace just the Image file, or the whole kernel-4.4 directory? I suspect the directory, since it needs the new dtb and other stuff? Thanks!

jetsonhacks commented 6 years ago

You are confusing me. JetPack flashes the Jetson. If you used JetPack to flash the Jetson to L4T 28.2.1, then you can modify the kernel and modules as in these scripts onboard the Jetson itself. You do not need to flash it again. However, if you need to modify the device tree, then you must flash the device tree partition from the host PC. That is not covered in these scripts.

If you have changed the the kernel and want to use it to flash the Jetson at a later time, you can clone the board image.

chrislgarry commented 6 years ago

Apologies. This doesnt seem to be an issue with your repository, so Ill figure it out. Thanks for your help though!