Xavier SPI driver issue

Hi, guys:

   I am running a program for a SPI ports hardware and I need to do the driver with L4T kernel. I have some questions below:
   1.If I want to develop the driver to drive the SPI hardware, whether I must work with the kernel.
   2.If I must, I should compile the driver and kernel on a host(with Ubuntu) or on the Jetson? If on the host, do I need a nvidia GPU on it?
   3. Below link of Nvidia guide tell me 
   Get the kernel source by running the source_sync.sh script:
   $ ./source_sync.sh 
   where is the .sh file? I can't find it.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fkernel_custom.html%23wwpID0E0RD0HA

   looking for your answers!
  1. Yes, need modify the kernel and device tree.
  2. The host doesn’t need nvidia GPU.
  3. Download the sdk manager after install you can see it. You can find the sdk manager and install instructions from below link.

Tks!
Sorry for I misoperation to spam your answer! I meant to reply to you but choose the wrong button.

If I dont misunderstand your answer, I should develop the driver as below:

  1. install jetpack(is the SDK manager refer to jetpack) on my host.
  2. download the kernel source on the host.
  3. modify the kernel to develop my driver on the host(does L4T has the same drvier devolopment process as other linux systems )
    4.Get some driver files after building the kernel.
    5.push these files to Xavier and make my hardware work.