当前位置: 首页 > news >正文

Day14_内核编译安装

1、参考文档

微雪入门文档:

https://www.waveshare.net/wiki/JetBot_AI_Kit

微雪使用文档:

https://www.waveshare.net/wiki/JETSON-NANO-DEV-KIT#.E7.B3.BB.E7.BB.9F.E7.83.A7.E5.BD.95

nvidia官方文档:

https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3275/index.html#page/Tegra Linux Driver Package Development Guide/quick_start.html#

nvidia官方内核资源下载:

https://developer.nvidia.com/embedded/jetson-linux-archive

内核部署目录:(原地解压)

https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/t210/jetson-210_linux_r32.7.6_aarch64.tbz2

内核源码目录:(原地解压)

https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/sources/t210/public_sources.tbz2

根文件系统:(指定目录Linux_for_Tegra/rootfs解压)

https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/t210/tegra_linux_sample-root-filesystem_r32.7.6_aarch64.tbz2

jetson nano 4G版本补丁包:(原地解压)

https://developer.nvidia.com/downloads/embedded/L4T/r32_Release_v7.5/overlay_32.7.5_PCN211181.tbz2

2、基础指令

2.1内核源码指令

## 内核源码目录
# Makefile# 内核全量编译
sudo time make -j16# 导入官方jetson nano默认配置
sudo make tegra_defconfig# 安装内核模块
sudo make modules_install INSTALL_MOD_PATH="rootfs根文件路径"## u-boot源码目录
# 添加默认配置
sudo make p3450-0000_defconfig## 内核部署目录
# 根文件系统安装驱动 & 库文件 & 配置文件
sudo ./apply_binaries.sh # Force Recovery模式烧录
# jetson nano进行FC REC短接后,使用usb线连接ubuntu# emmc烧录
sudo ./flash.sh jetson-nano-emmc mmcblk0p1# emmc烧录,仅uboot分区
sudo ./flash.sh -k LNX jetson-nano-emmc mmcblk0p1# u-boot部署目录放置路径
~/Linux_for_Tegra/bootloader/t210ref/p3450-0000/u-boot.bin
# 执行拷贝,示例
sudo cp ~/test/Linux_for_Tegra/source/public/u-boot/u-boot.bin ~/test/Linux_for_Tegra/bootloader/t210ref/p3450-0000/

2.2jetson nano指令

# 设置内核启动介质(emmc有效)# emmc启动:mmcblk0p1# SD卡启动:mmcblk1p1# USB启动:sda
sudo vim /boot/extlinux/extlinux.conf# 自动扩容脚本# 根据当前可用的磁盘自动扩容
cd /usr/lib/nvidia/resizefs
sudo ./nvresizefs.sh# 设置电源模式# 10W最大功耗
sudo nvpmodel -m0# 5W功耗
sudo nvpmodel -m1# WIFI设置
sudo nmcli dev wifi connect ChinaNet-YgrH-5G password ghepmskt ifname wlan0

3、其他

3.1编译自动化脚本:

#!/bin/bashset -e# 源码根目录
PATH_ROOT="/home/linux/null/Linux_for_Tegra/"if [ $1 = "bak" ]
thensudo cp ${PATH_ROOT}kernel/Image ${PATH_ROOT}kernel/bak.Imagesudo cp ${PATH_ROOT}kernel/dtb ${PATH_ROOT}kernel/bak.dtb -rsudo cp ${PATH_ROOT}bootloader/t210ref/p3450-0000/u-boot.bin ${PATH_ROOT}bootloader/t210ref/p3450-0000/bak.u-boot.bin
fi
if [ $1 = "kbd" ]
thencd ${PATH_ROOT}source/public/kernel/kernel-4.9# 设置编译必要的环境变量export CROSS_COMPILE=aarch64-linux-gnu-export LOCALVERSION=-tegra# 导入官方默认配置,并执行源码编译sudo make ARCH=arm64 tegra_defconfigsudo time make ARCH=arm64 -j16# 将编译后的内核 & 设备树 & 根文件系统,从源码目录拷贝到内核部署目录sudo cp  arch/arm64/boot/Image   ${PATH_ROOT}kernel/sudo cp -rf arch/arm64/boot/dts/*.dt*  ${PATH_ROOT}kernel/dtb/sudo make ARCH=arm64 modules_install INSTALL_MOD_PATH=${PATH_ROOT}rootfsfi
if [ $1 = "ubd" ]
thencd ${PATH_ROOT}source/public/u-boot/export CROSS_COMPILE=aarch64-linux-gnu-sudo make p3450-0000_defconfigsudo make -j16sudo cp u-boot.bin ${PATH_ROOT}bootloader/t210ref/p3450-0000/
fi
# if [ $1 = "mv" ]
# then
#     if [ -n "$2" ]
#     then
#         # 将内核 & 设备树 & 根文件系统替换到SD卡boot目录
#         sudo cp /home/linux/kernel-4.9/arch/arm64/boot/Image "$2"boot
#         sudo cp /home/linux/kernel-4.9/arch/arm64/boot/dts/*.dt* "$2"boot
#         sudo cp -rf ${PATH_ROOT}rootfs/lib/modules "$2"lib/
#     fi
# fi

4、USB镜像烧录

为 Jetson Nano 4GB 制作 USB 启动盘是一个不错的扩展存储和提升系统性能的方法。这个过程主要是在 Ubuntu 主机(你的虚拟机)上完成的。为了让你快速了解全貌,我先用一个表格总结关键步骤和注意事项:

步骤关键操作注意事项 & 提示
1. 前提条件确认 Nano 能从 eMMC 正常启动。这是手动制作 USB 启动盘的基础。
2. 准备 U 盘在 Ubuntu 主机上使用 parted/dev/sdb 分区:1. 创建 GPT 分区表:sudo parted /dev/sdb mklabel gpt2. 创建至少 16GB 的 APP 分区:sudo parted /dev/sdb mkpart APP 0GB 16GB3. 格式化为 ext4 并挂载:sudo mkfs.ext4 /dev/sdb1sudo mount /dev/sdb1 /mnt务必确认设备是 /dev/sdb。分区后设备号为 /dev/sdb1。强烈推荐使用 ext4 格式。
3. 生成系统1. Nano 进入强制恢复模式(短接 FC REC 和 GND 引脚并连接 USB 线到主机)2. 在 Linux_for_Tegra/ 目录下执行: sudo BOOTDEV=sda1 ./flash.sh --no-flash jetson-nano-devkit sda1 sudo mkdir tmp_system sudo mount bootloader/system.img.raw ./tmp_system sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude=/proc ./tmp_system/ /mnt sync--no-flash 参数表示只生成不刷写。此过程较耗时。命令中的 sda1 是 Nano 启动后对 USB 的识别名。
4. 收尾卸载 U 盘:sudo umount /mntsudo umount ./tmp_system之后可安全移除 U 盘。
5. 启动测试将 U 盘插入 Nano,上电启动。若仍从内部存储启动,需进入 Nano 系统修改启动配置(见下文注意事项)。

🔔 操作前请注意:

  • 数据备份:此过程会清除目标 USB 存储设备上的所有数据,请提前备份重要文件。
  • 设备确认务必再三确认你在主机上操作的设备是 U 盘(此处的 /dev/sdb)而非你的主机硬盘或其他存储设备,以免造成数据丢失。可使用 lsblk 命令核对。
  • 系统修改:如表格所述,制作完成后,若 Jetson Nano 仍然从自身存储启动,你需要进入 Nano 的系统,修改 /boot/extlinux/extlinux.conf 文件,将 root= 参数的值改为 /dev/sda1 并保存,这样才能引导从 USB 启动。
  • 硬件准备:操作中需要:
    • 通过跳线帽或杜邦线短接 Jetson Nano 的 FC REC 和 GND 引脚以进入强制恢复模式。
    • 使用一根 Micro USB 数据线连接 Nano 和主机。
    • 一个 5V 4A 的电源适配器为 Nano 供电。

💡 其他烧录方式

除了上述手动方法,你也可以考虑:

  • 使用 Etcher 工具:如果你有现成的系统镜像文件(如 .img 文件),可以使用 Etcher 这类图形化工具直接烧录到 U 盘,操作更直观简单。
  • 利用 jetson-disk-image-creator.sh 脚本:在 Linux_for_Tegra/tools/ 目录下,此脚本可创建当前系统的磁盘镜像,例如:

然后再将生成的 nano_backup.img 刷写到 U 盘。

```bash
sudo ./jetson-disk-image-creator.sh -o nano_backup.img -b jetson-nano -r 300
```

希望这些信息能帮助你顺利完成 Jetson Nano 4GB 的 USB 系统烧录。如果你在操作过程中遇到其他问题,欢迎随时提问。

http://www.dtcms.com/a/457150.html

相关文章:

  • 全面SEO优化指南:网站运营与前端开发的协同策略
  • 网站整站优化公司赣州平面设计公司
  • DAY03:【DL 第一弹】神经网络
  • 2018年下半年试题四:论NoSQL数据库技术及其应用
  • 如何检查网站死链网站建设技术咨询协议
  • 【MATLAB技巧】contour|等高线图绘制,使用示例和使用技巧
  • matlab计算算法的运行时间
  • 有人情味的网站北京大数据公司排行
  • 时间箭头 量子信息的不可逆扩散
  • iPhone 17 Pro Max 的影像升级全解:从长焦、前置聊到 ProRes RAW
  • 阿里巴巴国际站费用淘宝装修做代码的网站
  • 解决comet等待网络连接的问题
  • 【开题答辩全过程】以 爱宠宠物商店管理系统的设计与实现为例,包含答辩的问题和答案
  • Spring Boot Actuator+Micrometer:高并发下 JVM 监控体系的轻量化实践
  • 建设网站 深圳石家庄企业网站建设
  • 4分15秒!高质量超长视频生成取得颠覆突破!字节Self-Forcing++超基线50倍,效果炸裂!
  • 沈阳网站建设小志企业网站备案提供什么资料
  • 机器人再冲港交所,优艾智合能否破行业困局?
  • Chromium 138 编译指南 - Android 篇:从Linux版切换到Android版(六)
  • Hugging face Transformers(5)—— Datasets
  • 大良营销网站建设精英做外贸都有哪些网站
  • 对于SpringBoot的三层缓存的思考
  • Spring Boot 中使用 Caffeine 缓存详解与案例
  • 零基础网站建设教学服务wordpress点击图片不显示不出来
  • 大模型原理与实践:第六章-大模型训练流程实践_第1部分-模型预训练(Trainer、DeepSeed)
  • 分析DAO组织如何重构开发者协作关系
  • Kotlin:现代编程语言的革新者
  • 济南集团网站建设价格专门做汽车配件的外贸网站
  • word属性解释
  • 大连网站关键字优化电脑网页游戏平台