jetson tx2移植RT-LINUX

1、make menuconfig时报错,需要在kernel(/usr/src/kernel/kernel-4.4)所在目录下输入命令

2、报错curses.h没有,执行命令sudo apt-get install libcurses5-dev,在kernel features里有preemption  model,但无fully preemption kernel,打补丁还是没有,执行脚本打补丁,有了,编译报错,nvidia论坛帮助得知,jetpack 3.x里的RT_PATCH有问题,需要升级到jetpack 4.3,下载sdkmanager在host unbutu 16.04上安装,host上软件安装错误,手动sudo apt install ./*.deb发现lock,删除lock,lock-fronted,lock后安装成功,刷系统成功,安装OPENCV失败,删除目标机lock,lock-fronted,lock还是不行,sudo apt-get update,sudo apt-get upgrade,报有安装中断的软件,apt --fix-broken install,再sudo apt-get upgrade成功,发现/home/nvidia下有tmp_NV_L4T_OPENCV_TARGET_POST_INSTALL_COMP.sh,可以手动安装,sdkmanager安装visionworks on target失败,在目标机上/home/nvidia目录下./tmp_NV_L4T_VISIONWORKS_TARGET_POST_INSTALL_COMP.sh手动安装还是失败,断开USB,手动安装成功,似乎host上sdkmanager安装失败的都会在目标机这个目录下有一个安装脚本文件,安装成功后sdkmanager会自动删除

https://blog.csdn.net/zhangyingguangails/article/details/72356771

https://blog.csdn.net/yunqiushuiman/article/details/102948163

3、TX2:32G EMMC,8G DDR,4核A57,2 Denver 64-bit CPUs,df查看空间使用情况,L4T基于ubuntu 18.04.3发行版,

4、无4.9.140对应RT-PATCH版本,只有146

https://blog.csdn.net/xiang_shao344/article/details/82185489

用脚本配置RT-LINUX,cd /usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9/scripts,./rt-patch.sh apply-patches,

https://forums.developer.nvidia.com/t/preempt-rt-patch-on-jetson-kernel/65766/4

安装vsftpd,把L4T源码放到TX2,https://www.cnblogs.com/cnshen/p/10774558.html  useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test

https://www.cnblogs.com/cocoajin/p/3761414.html匿名用户目录在srv/ftp,新建目录,更改权限

在18.04里是sudo apt-get install libncurses5-dev,

Linux nvidia-desktop 4.9.140-tegra #1 SMP PREEMPT Mon Dec 9 22:52:02 PST 2019 aarch64 aarch64 aarch64 GNU/Linux

编译内核make dep ,make clean ,make zImage,https://blog.csdn.net/zhenguo26/article/details/79641322 编译失败

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

第3节cd <kernel_source>,指的是kernel-4.9,tegra_defconfig在kernel/kernel-4.9/arch/arm64/configs里

脚本打补丁后,make menuconfig选择fully rt,编译报没有.config,查看kernel-4.9里有.config,.config里也有CONFIG_PREEMPT_RT_FULL,说明是配上的,make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig配置时.config是写到kernel_out里的,发现这种方式配置后的.config里也有CONFIG_PREEMPT_RT_FULL,ernel/kernel-4.9/arch/arm64/configs里的tegra_defconfig在./rt-patch.sh apply-patches之前是没有CONFIG_PREEMPT_RT_FULL的,所以需要./rt-patch.sh apply-patches,不需要make menuconfig,然后直接make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig,make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j4,编译成功,但把dtb和Image拷到/boot目录下后,系统不能启动了

6、查找当前目录及子目录里的指定文件find ./ -name .config,

7、在host上编译RT-LINUX并安装到TX2,要用 Linaro 7.3.1 2018.05 toolchain,不能用gcc-4.8.5-aarch64-BSP交叉编译工具链28.3.2-20191202.tgz

8、按https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fquick_start.html%23wwpID0E03D0HA刷系统,不能用sdkmanager安装,解压完内核和根文件系统后,到/opt/Linux_for_Tegra目录sudo ./apply_binaries.sh后等待,按https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fkernel_custom.html%23的To build the Jetson Linux Kernel的5、6、7(在/opt/nvidia/kernel_source/kernel/kernel-4.9目录下sudo make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=/opt/Linux_for_Tegra/rootfs/)执行完,再按上一个链接的执行sudo ./flash.sh jetson-tx2 mmcblk0p1,烧写完后会自动重启,用uname -a 查看,Linux nvidia-desktop 4.9.140-rt93-tegra #1 SMP PREEMPT RT Fri Apr 24 14:12:58 CST 2020 aarch64 aarch64 aarch64 GNU/Linux,RT-LIUNX启动成功。

内核源码、驱动包和根文件系统版本用的R32.3.1,sdkmanager的版本为sdkmanager_1.0.1-5538_amd64.deb

RT源码下载http://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值