Build new camera sensor kernel module - symbols missing

yes. I’ve updated the device tree accordingly.

Check below command.

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=BGRA, width=640, height=480' ! fpsdisplaysink video-sink=fakesink -v

If above command working without problem try below.
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=BGRA, width=640, height=480' ! videoconvert ! video/x-raw,format=I420 ! xvimagesink

Hi @ShaneCCC ,
Both commands fail:

user@ubuntu:~/Desktop$ gst-launch-1.0 v4l2src device=/dev/video0 ! ‘video/x-raw, format=BGRA, width=640, height=480’ ! fpsdisplaysink video-sink=fakesink -v
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …
user@ubuntu:~/Desktop$ gst-launch-1.0 v4l2src device=/dev/video0 ! ‘video/x-raw, format=BGRA, width=640, height=480’ ! videoconvert ! video/x-raw,format=I420 ! xvimagesink
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …