Difference between revisions of "1012 NVIDIA TK1"
(→Flashing a modified kernel image) |
|||
(14 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
+ | == Introduction == | ||
This page will guide you in using the [http://sensoray.com/1012 Sensoray Model 1012] with [https://developer.nvidia.com/linux-tegra-r214 NVIDIA tegra k1 development] boards. | This page will guide you in using the [http://sensoray.com/1012 Sensoray Model 1012] with [https://developer.nvidia.com/linux-tegra-r214 NVIDIA tegra k1 development] boards. | ||
− | + | A modified kernel is required. | |
The modified kernel can be flashed onto the TK1 from the development PC, installed by the TK1 or the modifications can be made by the TK1 and recompiled. | The modified kernel can be flashed onto the TK1 from the development PC, installed by the TK1 or the modifications can be made by the TK1 and recompiled. | ||
− | The driver needs to be | + | The driver needs to be compiled with jetson=y. |
− | + | == Flashing a modified kernel image == | |
− | |||
− | |||
− | |||
− | + | This method uses pre-compiled images of Sensoray driver 1.1.9 and Linux for Tegra R21.4, improvements in later versions will not be present. | |
− | 1 | + | |
− | + | ||
− | + | Get the modified zImage extlinux.conf and tw6869.ko files for Jetson Tegra K1 from Sensoray and put them in Downloads folder | |
+ | Follow Jetson quick-start guide from NVIDIA | ||
+ | |||
+ | quick-start step 1. Download Linux for Tegra package and sample root file system | ||
$ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra210_Linux_R23.1.1_armhf.tbz2 | $ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra210_Linux_R23.1.1_armhf.tbz2 | ||
$ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra_Linux_Sample-Root-Filesystem_R23.1.1_armhf.tbz2 | $ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra_Linux_Sample-Root-Filesystem_R23.1.1_armhf.tbz2 | ||
− | + | quick-start step 2. Untar and assemble the rootfs | |
$ sudo tar xpf ${RELEASE_NAME} | $ sudo tar xpf ${RELEASE_NAME} | ||
Line 29: | Line 28: | ||
$ cd ../ | $ cd ../ | ||
− | + | Modify the kernel to be flashed | |
− | $ sudo cp ~/Downloads/zImage ~Linux_for_Tegra/zImage | + | $ cd ~/Linux_for_Tegra/ |
− | $ sudo cp ~/Downloads/extlinux.conf ~Linux_for_Tegra/ | + | $ sudo ./applybinaries.sh |
+ | |||
+ | $ sudo cp ~/Downloads/zImage ~/Linux_for_Tegra/rootfs/boot/zImage | ||
+ | $ sudo cp ~/Downloads/extlinux.conf ~/Linux_for_Tegra/rootfs/boot/extlinux/extlinux.conf | ||
− | + | Get the driver for Sensoray 1012. | |
$ sudo cp ~/Downloads/tw6869.ko ~/Linux_for_Tegra/rootfs/lib/modules/3.10.40-gdacac96/extra/tw6869.ko | $ sudo cp ~/Downloads/tw6869.ko ~/Linux_for_Tegra/rootfs/lib/modules/3.10.40-gdacac96/extra/tw6869.ko | ||
− | + | Flash the TK1 (step 3. in Jetson's quick-start guide) | |
− | + | Put your target system into "reset recovery mode" by holding down the RECOVERY button and press RESET button once on the target main board. | |
− | + | Ensure your Linux host system is connected to the target device through the USB cable for flashing. | |
$ cd ~/Linux_for_Tegra/ | $ cd ~/Linux_for_Tegra/ | ||
− | |||
$ sudo ./flash.sh jetson-tk1 mmcblk0p1 #This will take less than 10 minutes. | $ sudo ./flash.sh jetson-tk1 mmcblk0p1 #This will take less than 10 minutes. | ||
− | + | from the TK1 load the Sensoray driver. | |
$ sudo depmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko | $ sudo depmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko | ||
$ sudo insmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko | $ sudo insmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko | ||
− | + | Restart with Sensoray 1012 attached | |
$ sudo reboot | $ sudo reboot | ||
− | + | MPlayer is used by the demo | |
$ sudo apt-add-repository universe | $ sudo apt-add-repository universe | ||
Line 64: | Line 65: | ||
$ sudo apt-get install mplayer mencoder | $ sudo apt-get install mplayer mencoder | ||
− | + | Run the demo | |
$ wget http://www.sensoray.com/downloads/sdk_812_linux_1.1.9.zip | $ wget http://www.sensoray.com/downloads/sdk_812_linux_1.1.9.zip | ||
Line 70: | Line 71: | ||
password:<not included in this doc> | password:<not included in this doc> | ||
$ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py | $ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py | ||
+ | |||
+ | == Installing a modified kernel from TK1 == | ||
+ | |||
+ | This method uses a pre-compiled image of Linux for Tegra R21.4, improvements in later versions will not be present. | ||
+ | |||
+ | Get the modified zImage and extlinux.conf files for nVIDIA Tegra K1 and put them in Downloads folder | ||
+ | |||
+ | Install kernel modifications | ||
+ | |||
+ | $ sudo cp ~/Downloads/zImage ~/boot/zImage | ||
+ | $ sudo cp ~/Downloads/extlinux.conf ~/boot/extlinux/extlinux.conf | ||
+ | |||
+ | Get Mplayer for the demo | ||
+ | |||
+ | Add universe repository | ||
+ | |||
+ | $ sudo gedit /etc/apt/sources.list | ||
+ | |||
+ | Uncomment the universe repository lines | ||
+ | |||
+ | deb http://ports.ubuntu.com/ubuntu-ports / trusty universe | ||
+ | deb-src http://ports.ubuntu.com/ubuntu-ports / trusty universe | ||
+ | deb http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe | ||
+ | deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe | ||
+ | |||
+ | Save and exit | ||
+ | |||
+ | Install dependencies | ||
+ | |||
+ | $ sudo apt-get update | ||
+ | $ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev | ||
+ | |||
+ | Install MPlayer | ||
+ | |||
+ | $ cd ~/ | ||
+ | $ wget http://mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz | ||
+ | $ tar xf ~/Mplayer-1.2.tar.xz | ||
+ | $ cd ~/Mplayer-1.2 | ||
+ | $ ./configure | ||
+ | $ make -j4 | ||
+ | $ sudo make install | ||
+ | |||
+ | Get the driver for Sensoray 1012. The listed link is for 1.1.11 there may be a newer version. | ||
+ | |||
+ | Version 1.1.11 from Sensoray | ||
+ | |||
+ | $ cd ~/ | ||
+ | $ wget http://sensoray.com/downloads/sdk_812_linux_1.1.11.zip | ||
+ | $ unzip sdk_812_linux_1.1.11.zip | ||
+ | password: <not included in this doc> | ||
+ | $ cd /usr/src/linux-headers-3.10.40-gdacac96 | ||
+ | $ sudo make modules_prepare | ||
+ | |||
+ | |||
+ | Load the driver | ||
+ | |||
+ | $ cd ~/sdk_812_1.1.11_linux/driver/vbuf2 | ||
+ | $ make jetson=y | ||
+ | $ sudo make install | ||
+ | $ sudo make load | ||
+ | |||
+ | |||
+ | Restart with the 1012 attached | ||
+ | |||
+ | $ sudo reboot | ||
+ | |||
+ | Run the demo | ||
+ | |||
+ | $ cd ~/ | ||
+ | $ ~/sdk_812_1.1.11_linux/demo-sample/PyGTK/demoSX12.py | ||
+ | |||
+ | == Compiling the kernel modifications == | ||
+ | |||
+ | |||
+ | Get the source of the kernel being used. The link is to R21.4 there may be newer versions | ||
+ | |||
+ | $ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/source/kernel_src.tbz2 | ||
+ | $ tar xf kernel.src.tbz2 | ||
+ | $ zcat /proc/config.gz > ~/kernel/.config | ||
+ | |||
+ | Add universe repository for dependencies | ||
+ | |||
+ | $ sudo gedit /etc/apt/sources.list | ||
+ | |||
+ | Uncomment the universe repository lines | ||
+ | |||
+ | deb http://ports.ubuntu.com/ubuntu-ports / trusty universe | ||
+ | deb-src http://ports.ubuntu.com/ubuntu-ports / trusty universe | ||
+ | deb http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe | ||
+ | deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe | ||
+ | |||
+ | Save and exit | ||
+ | |||
+ | Make changes to the kernel configuration | ||
+ | |||
+ | $ sudo apt-get update | ||
+ | $ sudo apt-get install libncurses5-dev | ||
+ | $ cd ~/kernel | ||
+ | $ make menuconfig | ||
+ | |||
+ | Set Contiguous Memory Allocation to 64Mb | ||
+ | |||
+ | in menuconfig "y" turns a entry on <enter> goes into sub menus | ||
+ | |||
+ | <esc><esc> gets out of sub menus | ||
+ | |||
+ | "-gdacac96" is the local version of R21.4 | ||
+ | |||
+ | General setup <enter> | ||
+ | Local version <enter> -gdacac96<enter> | ||
+ | <esc><esc> | ||
+ | Device Drivers <enter> | ||
+ | Generic Driver Options <enter> | ||
+ | Size in Mega Bytes <enter> 64 <enter> | ||
+ | <esc><esc> | ||
+ | <esc><esc> | ||
+ | <esc><esc> | ||
+ | |||
+ | Save and exit | ||
+ | |||
+ | Increase coherent memory pool | ||
+ | |||
+ | $ sudo gedit /boot/extlinux/extlinux.cof | ||
+ | |||
+ | Add to the end of the last line | ||
+ | |||
+ | coherent_pool=32M | ||
+ | |||
+ | Save and exit | ||
+ | |||
+ | Install the changes to the kernel | ||
+ | |||
+ | $ make -j4 | ||
+ | $ make modules | ||
+ | $ sudo make modules_install | ||
+ | $ sudo cp ~/kernel/arch/arm/boot/zImage /boot/zImage | ||
+ | |||
+ | Get Mplayer for the demo | ||
+ | |||
+ | $ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev | ||
+ | $ cd ~/ | ||
+ | $ wget http://mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz | ||
+ | $ tar xf ~/Mplayer-1.2.tar.xz | ||
+ | $ cd ~/Mplayer-1.2 | ||
+ | $ ./configure | ||
+ | $ make -j4 | ||
+ | $ sudo make install | ||
+ | |||
+ | Get the driver for Sensoray 1012. The listed link is for 1.1.11 there may be a newer version. | ||
+ | |||
+ | $ cd ~/ | ||
+ | $ wget http://sensoray.com/downloads/sdk_812_linux_1.1.11.zip | ||
+ | $ unzip sdk_812_linux_1.1.11.zip | ||
+ | password: <not included in this doc> | ||
+ | $ cd /usr/src/linux-headers-3.10.40-gdacac96 | ||
+ | $ sudo make modules_prepare | ||
+ | |||
+ | Load the driver | ||
+ | |||
+ | $ make jetson=y | ||
+ | $ sudo make install | ||
+ | $ sudo make load | ||
+ | |||
+ | Restart with the 1012 attached | ||
+ | |||
+ | $ sudo reboot | ||
+ | |||
+ | Run the demo | ||
+ | |||
+ | $ cd ~/ | ||
+ | $ ~/sdk_812_1.1.11_linux/demo-sample/PyGTK/demoSX12.py | ||
+ | |||
+ | [[Category:1012|Nvidia]] |
Latest revision as of 10:58, 4 June 2020
Contents |
[edit] Introduction
This page will guide you in using the Sensoray Model 1012 with NVIDIA tegra k1 development boards.
A modified kernel is required.
The modified kernel can be flashed onto the TK1 from the development PC, installed by the TK1 or the modifications can be made by the TK1 and recompiled.
The driver needs to be compiled with jetson=y.
[edit] Flashing a modified kernel image
This method uses pre-compiled images of Sensoray driver 1.1.9 and Linux for Tegra R21.4, improvements in later versions will not be present.
Get the modified zImage extlinux.conf and tw6869.ko files for Jetson Tegra K1 from Sensoray and put them in Downloads folder Follow Jetson quick-start guide from NVIDIA
quick-start step 1. Download Linux for Tegra package and sample root file system
$ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra210_Linux_R23.1.1_armhf.tbz2 $ wget http://developer.download.Jetson.com/embedded/L4T/r23_Release_v1.0/Tegra_Linux_Sample-Root-Filesystem_R23.1.1_armhf.tbz2
quick-start step 2. Untar and assemble the rootfs
$ sudo tar xpf ${RELEASE_NAME} $ cd Linux_for_Tegra/rootfs/ $ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2 $ cd ../
Modify the kernel to be flashed
$ cd ~/Linux_for_Tegra/ $ sudo ./applybinaries.sh
$ sudo cp ~/Downloads/zImage ~/Linux_for_Tegra/rootfs/boot/zImage $ sudo cp ~/Downloads/extlinux.conf ~/Linux_for_Tegra/rootfs/boot/extlinux/extlinux.conf
Get the driver for Sensoray 1012.
$ sudo cp ~/Downloads/tw6869.ko ~/Linux_for_Tegra/rootfs/lib/modules/3.10.40-gdacac96/extra/tw6869.ko
Flash the TK1 (step 3. in Jetson's quick-start guide)
Put your target system into "reset recovery mode" by holding down the RECOVERY button and press RESET button once on the target main board.
Ensure your Linux host system is connected to the target device through the USB cable for flashing.
$ cd ~/Linux_for_Tegra/ $ sudo ./flash.sh jetson-tk1 mmcblk0p1 #This will take less than 10 minutes.
from the TK1 load the Sensoray driver.
$ sudo depmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko $ sudo insmod /lib/modules/3.10.40-gdacac96/extra/tw6869.ko
Restart with Sensoray 1012 attached
$ sudo reboot
MPlayer is used by the demo
$ sudo apt-add-repository universe $ sudo apt-get update $ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev $ sudo apt-get install mplayer mencoder
Run the demo
$ wget http://www.sensoray.com/downloads/sdk_812_linux_1.1.9.zip $ unzip sdk_812_linux_1.1.9.zip password:<not included in this doc> $ ~/sdk_812_1.1.9_linux/demo-sample/PyGTK/demoSX12.py
[edit] Installing a modified kernel from TK1
This method uses a pre-compiled image of Linux for Tegra R21.4, improvements in later versions will not be present.
Get the modified zImage and extlinux.conf files for nVIDIA Tegra K1 and put them in Downloads folder
Install kernel modifications
$ sudo cp ~/Downloads/zImage ~/boot/zImage $ sudo cp ~/Downloads/extlinux.conf ~/boot/extlinux/extlinux.conf
Get Mplayer for the demo
Add universe repository
$ sudo gedit /etc/apt/sources.list
Uncomment the universe repository lines
deb http://ports.ubuntu.com/ubuntu-ports / trusty universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty universe deb http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe
Save and exit
Install dependencies
$ sudo apt-get update $ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev
Install MPlayer
$ cd ~/ $ wget http://mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz $ tar xf ~/Mplayer-1.2.tar.xz $ cd ~/Mplayer-1.2 $ ./configure $ make -j4 $ sudo make install
Get the driver for Sensoray 1012. The listed link is for 1.1.11 there may be a newer version.
Version 1.1.11 from Sensoray
$ cd ~/ $ wget http://sensoray.com/downloads/sdk_812_linux_1.1.11.zip $ unzip sdk_812_linux_1.1.11.zip password: <not included in this doc> $ cd /usr/src/linux-headers-3.10.40-gdacac96 $ sudo make modules_prepare
Load the driver
$ cd ~/sdk_812_1.1.11_linux/driver/vbuf2 $ make jetson=y $ sudo make install $ sudo make load
Restart with the 1012 attached
$ sudo reboot
Run the demo
$ cd ~/ $ ~/sdk_812_1.1.11_linux/demo-sample/PyGTK/demoSX12.py
[edit] Compiling the kernel modifications
Get the source of the kernel being used. The link is to R21.4 there may be newer versions
$ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/source/kernel_src.tbz2 $ tar xf kernel.src.tbz2 $ zcat /proc/config.gz > ~/kernel/.config
Add universe repository for dependencies
$ sudo gedit /etc/apt/sources.list
Uncomment the universe repository lines
deb http://ports.ubuntu.com/ubuntu-ports / trusty universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty universe deb http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe deb-src http://ports.ubuntu.com/ubuntu-ports / trusty-updates universe
Save and exit
Make changes to the kernel configuration
$ sudo apt-get update $ sudo apt-get install libncurses5-dev $ cd ~/kernel $ make menuconfig
Set Contiguous Memory Allocation to 64Mb
in menuconfig "y" turns a entry on <enter> goes into sub menus
<esc><esc> gets out of sub menus
"-gdacac96" is the local version of R21.4
General setup <enter> Local version <enter> -gdacac96<enter> <esc><esc> Device Drivers <enter> Generic Driver Options <enter> Size in Mega Bytes <enter> 64 <enter> <esc><esc> <esc><esc> <esc><esc>
Save and exit
Increase coherent memory pool
$ sudo gedit /boot/extlinux/extlinux.cof
Add to the end of the last line
coherent_pool=32M
Save and exit
Install the changes to the kernel
$ make -j4 $ make modules $ sudo make modules_install $ sudo cp ~/kernel/arch/arm/boot/zImage /boot/zImage
Get Mplayer for the demo
$ sudo apt-get install libasound2-dev zlib1g-dev libxv-dev $ cd ~/ $ wget http://mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz $ tar xf ~/Mplayer-1.2.tar.xz $ cd ~/Mplayer-1.2 $ ./configure $ make -j4 $ sudo make install
Get the driver for Sensoray 1012. The listed link is for 1.1.11 there may be a newer version.
$ cd ~/ $ wget http://sensoray.com/downloads/sdk_812_linux_1.1.11.zip $ unzip sdk_812_linux_1.1.11.zip password: <not included in this doc> $ cd /usr/src/linux-headers-3.10.40-gdacac96 $ sudo make modules_prepare
Load the driver
$ make jetson=y $ sudo make install $ sudo make load
Restart with the 1012 attached
$ sudo reboot
Run the demo
$ cd ~/ $ ~/sdk_812_1.1.11_linux/demo-sample/PyGTK/demoSX12.py