Skip to content

Commit e591141

Browse files
authored
Updated with install instructions.
1 parent 4ec959c commit e591141

File tree

1 file changed

+45
-9
lines changed

1 file changed

+45
-9
lines changed

README.md

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
n.b. This repository is based on the [Allied Vision Alvium CSI Driver for Jetpack 6](https://github.com/alliedvision/alvium-jetson-driver-release).
1+
n.b. This repository is a mashup of the [Allied Vision Alvium CSI Driver for Jetpack 6](https://github.com/alliedvision/alvium-jetson-driver-release) and the [Vision Components MIPI driver](https://github.com/VC-MIPI-modules/vc_mipi_nvidia)
22

33
# Vision Components MIPI driver for Jetpack 6
44

55
## Submodule status:
66

77
Following the pattern from the [AVT driver package](https://github.com/alliedvision/alvium-jetson-driver-release), the four Nvidia OOT kernel packages are included as submodules:
88

9-
* `nvidia-hwpm`, `nvidia-nvethernetrm`, and `nvidia-nvgpu` use the upstream repos from _Allied VIsion_. I don't know how/if these differ from Nvidia's original source.
9+
* `nvidia-hwpm`, `nvidia-nvethernetrm`, and `nvidia-nvgpu` use the upstream repos from _Nvidia's_ git server.
1010
* `nvidia-oot` points to [my nvidia-oot repo](https://github.com/amarburg/nvidia-oot) which contains the Nvidia OOT module source with the [VC patches](https://github.com/VC-MIPI-modules/vc_mipi_nvidia/tree/master/patch/kernel_Xavier_36.2.0%2B) applied.
1111

12-
The `vc-mipi-driver` contains the VC module sources [from their repo](https://github.com/VC-MIPI-modules/vc_mipi_nvidia/tree/master/src), rearranged for this build system.
12+
The `vc-mipi-driver` contain copies the VC module sources [from their repo](https://github.com/VC-MIPI-modules/vc_mipi_nvidia/tree/master/src), rearranged for this build system.
1313

1414
## Building
1515
1. Clone this repository including all submodules
@@ -18,33 +18,69 @@ The `vc-mipi-driver` contains the VC module sources [from their repo](https://gi
1818
```shell
1919
tar -xf jetson_linux_r36*.bz2
2020
```
21-
4. Extract the kernel headers from the driver package:
21+
4. Extract the kernel headers from the driver package in the `Linux_for_Tegra/kernel` directory:
2222
```shell
2323
cd Linux_for_Tegra/kernel/
2424
tar -xf kernel_headers.tbz2
2525
```
2626
5. Extract the cross compiler **in this directory**:
2727
```shell
28+
cd ../../
2829
tar -xf aarch64--glibc--stable-2022.08-1.tar.bz2
2930
```
3031
6. Set the following environment variables ( `source setup.sh` is a convenience alias):
3132
```shell
3233
export ARCH=arm64
33-
export CROSS_COMPILE=<path to cross compiler>/bin/aarch64-buildroot-linux-gnu-
34+
export CROSS_COMPILE=$(pwd)/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
3435
export KERNEL_SRC=Linux_for_Tegra/kernel/linux-headers-*-linux_x86_64/3rdparty/canonical/linux-jammy/kernel-source/
36+
37+
export INSTALL_MOD_PATH=$(pwd)/install
3538
```
3639

37-
7. Build the kernel modules:
40+
7. Build everything:
3841
```shell
3942
make all
4043
```
41-
7. **I'm not sure what happens next...**
4244

43-
8. Install the driver modules
45+
8. Install:
4446
```shell
45-
export INSTALL_MOD_PATH=<path to install directory>
4647
make install
4748
```
49+
50+
At this point the rebuilt kernel modules -- including both the new VC modules and a few customized versions of NVidia camera handler modules -- and additional device tree overlays can be installed onto a Jetson. This can be done either by building a new set of images and flashing them to the device (essentially replacing the install process done through SDK Manager), or by installing them on an already-running module. For simplicity, my focus is the latter ....
51+
52+
## Installing on a running Nano
53+
54+
1. Copy the install directory to the device (called 'nano' in this case):
55+
56+
```shell
57+
scp -r install nano:~
58+
```
59+
60+
2. Log into the device, and copy the files into place (this could be automated!)
61+
62+
```shell
63+
ssh nano
64+
sudo cp -a install/lib/modules/5.15.148-tegra/updates /lib/modules/5.15.148-tegra
65+
sudo cp -a install/boot/* /boot/
66+
```
67+
68+
3. Instruct the bootloader to apply the device tree overlay on startup. This can be done manually by editing the `/boot/extlinux/extlinux.conf` file, though the `jetson-io` wrapper can be used to automated the process, either graphically with:
69+
70+
```shell
71+
sudo /opt/nvidio/jetson-io/jetson-io.py
72+
```
73+
74+
or
75+
76+
```shell
77+
sudo ./config-by-hardware.py -n 2="Camera VCMIPI Dual"
78+
```
79+
80+
Which instructs the scripts to install the overlay "Camera VCMIPI Dual" (this name is baked into the overlay file `tegra234-p3767-camera-p3768-vc_mipi-dual-imx.dtbo`) for header "2" (the CSI Camera header).
81+
82+
4. Confirm the changes have created a new entry in `/boot/extlinux/extlinux.conf`
83+
5. Reboot
4884

4985
# Beta Disclaimer
5086

0 commit comments

Comments
 (0)