Unable to build Arducam camera kernel driver after install_full.sh replaced kernel on Jetson Nano B01

Hi, I have an Arducam Jetson Nano/Xavier NX camera, model B0264, running on a Jetson Nano B01. I’m unable to build the kernel driver for the camera, and I really need either the driver source or a loadable .ko module. Can anyone help with this?

Thanks for posting. Before we go further, can you tell me which Jetpack version you’re using? The kernel version on Jetson depends on the Jetpack version, so it matters a lot for getting you the right driver or module.

I’m on Jetpack 4.6.2. The main problem is that the Arducam auto installation script changes the whole kernel image that runs on the board. I build my own custom kernel, and that script completely conflicts with what I need — I want to keep my kernel and just add the Arducam driver on top of it. So I need the driver source or a .ko that I can load against my own kernel. I haven’t been able to build the driver myself because I don’t have the source.

Got it, Jetpack 4.6.2 pins down the kernel version for the Nano B01, which is exactly what we need to check. The reason I asked is that a .ko module has to match the kernel version it’s loaded against, otherwise it won’t work. Can you confirm the auto-install script you’re referring to is the one from the Arducam MIPI Camera releases, install_full.sh v0.0.3?

Yes, that’s the one: https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh. It’s the version that replaces the whole kernel image on the board. I don’t have any build logs to share because I never actually got to a working build — I’m stuck at the point of needing the source or a prebuilt module.

Understood. Since Jetpack 4.6.2 determines the kernel version on your board, the right path here is to get you a driver source or a .ko built for that specific kernel, instead of the full kernel image replacement that install_full.sh does. I’ll check what matching driver package is available for that kernel version and follow up here. In the meantime, don’t run install_full.sh on your custom-kernel setup, since it will overwrite the kernel you’ve built.