Advertisement
senchuss

imx224_on_TegraJetsonTx1_workflow

Mar 20th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.08 KB | None | 0 0
  1. # Create workdir:
  2. host $ sudo mkdir -p /opt/tx1
  3. host $ sudo chmod 777 /opt/tx1
  4. host $ mkdir -p /opt/tx1/jp
  5. host $ mkdir -p /opt/tx1/r24.2.1
  6.  
  7. # Download (as registered user) JetPack_3.0 installer to '/opt/tx1/jp' and show hash and install:
  8. host $ sha1sum /opt/tx1/jp/JetPack-L4T-3.0-linux-x64.run
  9. 2f5f6bbbb1716755056a16a73c7747c952624b9b /opt/tx1/jp/JetPack-L4T-3.0-linux-x64.run
  10. host $ cd /opt/tx1/jp
  11. host $ chmod u+x JetPack-L4T-3.0-linux-x64.run
  12. host $ ./JetPack-L4T-3.0-linux-x64.run &
  13. # Select 'TX1' device, Select 'JetPack_3.0', Select 'Full' install.
  14. # When asked for flash device (put it to recovery mode), just skip this operation,
  15. # simply close this console to finish install normally.
  16.  
  17. # Show JetPack hashes for downloaded components:
  18. host $ cd /opt/tx1/jp/jetpack_download
  19. host $ sha1sum *
  20. e54c7a521ed78ed02b4fe9f3d72cafd6d2bafe9e cuda-repo-l4t-8-0-local_8.0.34-1_arm64.deb
  21. 4c292d2cf88fb785dee823ddad7f5f0920bf4e04 cuda-repo-ubuntu1404-8-0-local_8.0.34-1_amd64.deb
  22. 9b5808906733ddcbf749293c3e89277b805baf76 cuDNN-v5.1.zip
  23. bebbea04b7460671981819e26682620f909b53b6 host-x64-linux-public-3.7.224-e982b7b.tar.gz
  24. cd3ad40941846817c893cf1624822d405de52502 jetpack_docs.zip
  25. a11db10984a936dda5eab79f2ea4e433d2d184d3 libopencv4tegra-repo_2.4.13-17-g5317135_amd64_ubuntu-14.04.deb
  26. 5c7d72733937dc224c45594903e565bd19dbe2b7 libopencv4tegra-repo_2.4.13-17-g5317135_arm64_l4t-r24.deb
  27. 2abf108276b3c8976e55685fd8f41b14216ca180 libvisionworks-repo_1.6.0.193n_amd64_ubuntu-14.04.deb
  28. c74ac5c66006a356eb23123d05cd9bbafbc61bbe libvisionworks-repo_1.6.0.235n_arm64_l4t-r24.deb
  29. 2cf0b13a02a0a9520dc8914472f156ae096918e3 libvisionworks-sfm-repo_0.90.1_amd64_ubuntu-14.04.deb
  30. c12735a3e5f094fa6bd2e0537eb337ec6f5f4894 libvisionworks-sfm-repo_0.90.1_arm64_l4t-r24.deb
  31. 62f3ae1a03decfc91c9795bb705a3e18d5046cfc libvisionworks-tracking-repo_0.88.0_amd64_ubuntu-14.04.deb
  32. 0bc5a8635cb69b9bc2356a0a9e650d25948c224b libvisionworks-tracking-repo_0.88.0_arm64_l4t-r24.deb
  33. 0e6c559a308688bfb529f961a32a2c12b3e5a144 nv-gie-repo-ubuntu1604-6-rc-cuda8.0_1.0.2-1_arm64.deb
  34. df5d8c69da612c049eb928aee6537868fb1ad2af NVIDIA_Tegra_Graphics_Debugger_2.4.17023.0120_Release_NDA_tgd-l4t_linux-l4t.run
  35. 396de79798de42162ffa0045091e07765c2287dd NVIDIA_VisionWorks_1.6_Docs.zip
  36. 8af763d74417480a4108dfbcab819640dd173d58 PerfKit-4.5.1-v4l.tar.gz
  37. 16967a684902755616d66ead9c94e718b633106e Tegra210_Linux_R24.2.1_aarch64.tbz2
  38. 33d7e9bb5b26ac2ae0d35d361cd0f10696ca36a3 Tegra_Linux_Sample-Root-Filesystem_R24.2.1_aarch64.tbz2
  39. 233eac85145ca228c2244dabac243aa96a8b6d2b Tegra_Multimedia_API_R24.2.1_aarch64.tbz2
  40.  
  41. # Download other files (not included in JetPack) and check hashes:
  42. host $ cd /opt/tx1/r24.2.1
  43. host $ wget http://developer.download.nvidia.com/embedded/L4T/r24_Release_v2.1\
  44. /BSP/gcc-4.8.5-aarch64.tgz
  45. host $ wget http://developer.download.nvidia.com/embedded/L4T/r24_Release_v2.1\
  46. /BSP/gcc-4.8.5-armhf.tgz
  47. host $ wget http://developer.download.nvidia.com/embedded/L4T/r24_Release_v2.1\
  48. /BSP/sources_r24.2.1.tbz2
  49. host $ wget http://developer.download.nvidia.com/embedded/L4T/r24_Release_v2.1\
  50. /Docs/Accelerated_Gstreamer_User_Guide_Release_24.2.1.pdf
  51. host $ wget http://developer.download.nvidia.com/embedded/L4T/r24_Release_v2.1\
  52. /Docs/l4t-documentation-24-2-1.tar
  53. host $ wget http://developer.download.nvidia.com/embedded/L4T/r24_Release_v2.1\
  54. /Docs/L4TMultimediaAPIReference.zip
  55. host $ sha1sum /opt/tx1/r24.2.1/*
  56. 585524b0b96462f63ea3948a127586f1e1450f9d /opt/tx1/r24.2.1/Accelerated_GStreamer_User_Guide_Release_24.2.1.pdf
  57. 37d69372208b8a3b6c2e10194d19aff615b71f6a /opt/tx1/r24.2.1/gcc-4.8.5-aarch64.tgz
  58. 4be87b5a53476f13fc3ae0f72fed9b1467bb6783 /opt/tx1/r24.2.1/gcc-4.8.5-armhf.tgz
  59. 3d0e803e431062bdda2579650e5af29d298b53f7 /opt/tx1/r24.2.1/l4t-documentation-24-2-1.tar
  60. 8673445d08d2aa0c01b051c18dc264157abacf35 /opt/tx1/r24.2.1/L4TMultimediaAPIReference.zip
  61. 55f301507f978f23a868437515d041f0d6e8aa68 /opt/tx1/r24.2.1/sources_r24.2.1.tbz2
  62.  
  63. # Extract non-JetPack tarballs:
  64. host $ mkdir -p /opt/tx1/gcc64
  65. host $ mkdir -p /opt/tx1/gcc32
  66. host $ mkdir -p /opt/tx1/sources
  67. host $ tar -xzf /opt/tx1/r24.2.1/gcc-4.8.5-aarch64.tgz -C /opt/tx1/gcc64
  68. host $ tar -xzf /opt/tx1/r24.2.1/gcc-4.8.5-armhf.tgz -C /opt/tx1/gcc32
  69. host $ tar -xjf /opt/tx1/r24.2.1/sources_r24.2.1.tbz2 -C /opt/tx1
  70. host $ sha1sum /opt/tx1/sources/kernel_src.tbz2
  71. 2d0a81a7e3d50fde04c310b9d45cc619c992e2ed /opt/tx1/sources/kernel_src.tbz2
  72. host $ tar -xjf /opt/tx1/sources/kernel_src.tbz2 -C /opt/tx1/sources
  73.  
  74. # Place driver files to the kernel tree (before do defconfig):
  75. # copy 'imx224.dtsi' to 'arch/arm64/boot/dts/tegra210-platforms/'
  76. # copy 'imx224.h' to 'include/media/'
  77. # copy 'imx224.c' to 'drivers/media/i2c /'
  78. # copy 'imx224_mode_tbls.h' to 'drivers/media/i2c/'
  79.  
  80. # Apply patch for make possible config
  81. host $ cd /opt/tx1
  82. host $ patch -p0 < imx224_0_emerge_configs.patch
  83. patching file sources/kernel/drivers/media/i2c/Makefile
  84. patching file sources/kernel/drivers/media/i2c/Kconfig
  85. patching file sources/kernel/arch/arm64/boot/dts/Makefile
  86. patching file sources/kernel/arch/arm64/boot/dts/tegra210-plugin-manager/tegra210-jetson-cv-plugin-manager.dtsi
  87. patching file sources/kernel/arch/arm64/boot/dts/tegra210-jetson-cv-base-p2597-2180-a00.dts
  88.  
  89. # Do defconfig (after placing driver files):
  90. host $ sudo apt-get install ncurses-dev
  91. host $ sudo apt-get install device-tree-compiler
  92. host $ cd /opt/tx1
  93. host $ make kernel_defconfig
  94.  
  95. # (variant-1) patch the kernel config:
  96. host $ patch -p0 < imx224_1_config.patch
  97. patching file OUT/kernel_bld/.config
  98.  
  99. # or (variant-2) do makeconfig:
  100. host $ make kernel_config
  101. # go to 'Device Drivers / Multimedia Support / Encoders,Decoders,Sensors_and_other/' and SELECT 'Y' for IMX224.
  102.  
  103. # patch drivers/media/platform/tegra/camera/camera_common.c to fix error with raw_12_bit mode
  104. host $ patch -p0 < camera_common.patch
  105. patching file sources/kernel/drivers/media/platform/tegra/camera/camera_common.c
  106.  
  107. # Build kernel and dt:
  108. host $ cd /opt/tx1
  109. host $ make
  110.  
  111. # Prepare empty SD-card, formatted to ext4 and labeled as SdRootfs.
  112. # After mount, for example at /media/user/SdRootfs, clear card and copy rootfs from jetpack.
  113. host $ sudo rm -fr /media/user/SdRootfs/*
  114. host $ sudo cp -fpr /opt/tx1/jp/64_TX1/Linux_for_Tegra_64_tx1/rootfs/* /media/user/SdRootfs/
  115. # Create deploy dir and copy image and dts here:
  116. host $ mkdir -p /media/user/SdRootfs/home/ubuntu/deploy
  117. host $ cp -f /opt/tx1/OUT/kernel_bld/arch/arm64/boot/Image /media/user/SdRootfs/home/ubuntu/deploy/
  118. host $ cp -f \
  119. /opt/tx1/OUT/kernel_bld/arch/arm64/boot/dts/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb \
  120. /media/user/SdRootfs/home/ubuntu/deploy/
  121. host $ sudo cp -fpr /opt/tx1/OUT/kernel_rfs/lib/modules/* /media/user/SdRootfs/lib/modules/
  122. host $ sync
  123. # Unmount SD-card.
  124.  
  125. # Connect device to host via usb-cable and put device into recovery mode and flash it as 'rootfs_on_sd' mode (sda1)
  126. host $ lsusb | grep -i nvidia
  127. Bus 001 Device 008: ID 0955:7721 NVidia Corp.
  128. host $ cd /opt/tx1/jp/64_TX1/Linux_for_Tegra_64_tx1
  129. host $ sudo ./flash.sh jetson-tx1 sda1
  130.  
  131. # Disconnect usb-cable.
  132. # Connect card-reader with sd-card. Reboot device, login and update kernel & dt.
  133. target $ sudo mkdir -p /mnt/emmc
  134. target $ sudo mount /dev/mmcblk0p1 /mnt/emmc
  135. target $ sudo cp -fv /home/ubuntu/deploy/* /mnt/emmc/boot/
  136. '/home/ubuntu/deploy/Image' -> '/mnt/emmc/boot/Image'
  137. '/home/ubuntu/deploy/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb' -> '/mnt/emmc/boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb'
  138. target $ sync
  139. target $ sudo umount /mnt/emmc
  140. target $ sudo reboot
  141.  
  142. # install v4l2 utils
  143. target $ sudo add-apt-repository universe
  144. target $ sudo apt-get update
  145. target $ sudo apt-get install v4l-utils
  146.  
  147. # Some info and checks:
  148.  
  149. target $ uname -a
  150. Linux tegra-ubuntu 3.10.96 #15 SMP PREEMPT Mon Mar 20 17:26:45 MSK 2017 aarch64 aarch64 aarch64 GNU/Linux
  151.  
  152. target $ cat /etc/nv_tegra_release | grep -i release
  153. # R24 (release), REVISION: 2.1, GCID: 8028265, BOARD: t210ref, EABI: aarch64, DATE: Thu Nov 10 03:51:59 UTC 2016
  154.  
  155. target $ ps aux | grep nvcamera
  156. root 1072 0.0 0.1 37832 5556 ? Ss 05:40 0:00 /usr/sbin/nvcamera-daemon
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement