TX1给eMMc扩容教程(未实践)
发布时间 - 2025-07-18 00:00:00 点击率:次背景
许多桌面和笔记本电脑都使用 SATA 驱动器。尽管本文主要介绍如何安装固态硬盘(SSD),但这些信息也适用于安装其他类型的 SATA 驱动器。对于 Jetson TX1 来说,SATA 驱动器可能是最快的外部存储接口,它们的速度通常是 USB 驱动器的两倍多。此外,SATA 驱动器在存储容量方面相对便宜。
您可以将 SATA 驱动器用作补充存储,或者选择将其作为操作系统的根目录。这意味着系统将从 SATA 驱动器而不是内部的 eMMC 闪存运行。视频中展示了如何将根目录从内部的 eMMC 复制到 SATA 驱动器,并修改启动过程以使用 SATA 驱动器作为根目录。
此方法主要使用图形用户界面(GUI)工具,但也有更复杂的命令行(CLI)替代方案。请注意,如果您寻求帮助,可能会遇到使用命令行语言的回复。
Jetson TX1 等嵌入式系统的启动顺序与 PC 不同。PC 使用称为 BIOS 的系统固件,可以轻松分配不同的设备作为启动设备。嵌入式系统通常更简单、更直接。Jetson TX1 使用 extlinux 引导加载程序,通过修改 /boot/extlinux 目录下的 extlinux.conf 文件,可以直接控制 Linux 的根目录设置为哪个设备和分区。
安装
注意:视频中的安装是在运行 L4T 24.2.1 的 Jetson TX1 上进行的,该系统是从 JetPack 2.3.1 刷新的。
由于安装演示主要使用 GUI 工具,请参考视频进行详细演练。以下是基本步骤:
确保 Jetson 已关闭电源,并使用 SATA 延长线将 SATA 驱动器连接到 Jetson。某些 SSD 驱动器可以直接连接到 Jetson TX1 的 SATA 连接器上,但这样做可能不太稳固,因为 SSD 可能会像杠杆一样,当受到撞击时可能会损坏 TX1 载板上的连接器。使用延长线可以减少这种风险。
连接 SATA 驱动器后,启动机器。
使用至少一个 ext4 格式的分区格式化 SATA 驱动器。分区大小必须至少为 16GB。一种简单的方法是使用磁盘应用程序,它提供了一个用于格式化磁盘的 GUI。
接下来,挂载 SATA 驱动器。双击侧边栏中的 SATA 驱动器图标将挂载 SATA 驱动器并打开文件浏览器。
如果您只是想为 Jetson 添加外部存储,那么您已经完成了。
SATA 驱动器作为根目录
如果您希望使用 SSD 作为根目录,您需要将内部闪存的根目录内容复制到 SATA 驱动器。在视频示例中:
$ sudo cp -ax / ‘/media/ubuntu/JetsonSSD-256’
将根目录复制到名为“JetsonSSD-256”的挂载 SSD 驱动器上。对于几乎满的内部闪存,这可能需要大约 3 分钟,具体取决于 SATA 驱动器的速度。
最后一步是修改 eMMC 上的 extlinux.conf 文件。系统会从内部的 eMMC 启动,然后内核会将根目录设置为指向 SATA 驱动器。
首先,切换到 extlinux 目录:
$ cd /boot/extlinux
接下来,备份现有的 extlinux 配置:
$ sudo cp extlinux.conf extlinux.conf.original
然后编辑配置以设置 SATA 驱动器:
$ sudo gedit /boot/extlinux/extlinux.conf
编辑器会打开配置文件。复制 eMMC 条目(通常称为主条目),并根据视频中的指示进行更改。主要变化之一是指示设备和分区,例如:
Internal eMMC root=/dev/mmcblk0p1 SSD Drive: root=/dev/sda1
样本 extlinux.conf 文件如下所示:
TIMEOUT 30
DEFAULT satassd
MENU TITLE p2371-2180 eMMC boot options
LABEL satassd
MENU LABEL primary SATA SSD
LINUX /boot/Image
INITRD /boot/initrd
FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/sda1 rw rootwait
LABEL emmc
MENU LABEL Internal eMMC
LINUX /boot/Image
INITRD /boot/initrd
FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
APPEND fbcon=map:0 console=t
ty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait确保保存文件。
现在重新启动机器,它将从 SATA 驱动器启动。
注意:如果机器未能启动,请连接串行控制台到主机并检查启动序列。您修改的条目应该会在启动选项中显示。
一旦机器启动,您应该运行一些典型的程序或编译以确保一切正常且正确安装。需要注意一些事项,例如检查系统级设置,如交换文件设置是否正确。一般来说,这是内部 eMMC 的副本,所以它应该表现得相当好。
需要注意的事项
首先是狮子、老虎和熊。獾非常危险,要小心它们。
排除常见问题后,您需要注意的一点是,如果 Jetson 无法检测到 SATA 驱动器,它将无法启动。您可能会在屏幕或控制台上看到它正在寻找启动驱动器的错误消息。
如果根 SATA 驱动器由于某种原因不可用,您可以使用串行控制台选择内部 eMMC 作为启动设备。这将允许您编辑 extlinux.conf 文件以从不同的设备启动。
建议保留一张可启动的 SD 卡,以防发生严重问题。
如果您更改了文件系统设置(如 /etc/fstab、自动挂载、交换文件等),您需要重新检查这些更改以确保它们与新的根系统兼容。
SATA 驱动器通常挂载在 /dev/sda,这意味着 USB 驱动器将向上移动一个位置,即 /dev/sda 变为 /dev/sdb。sda 后的数字(例如 /dev/sda1)表示分区。
# linux
# 操作系统
# 浏览器
# 电脑
# 工具
# ai
# lsp
# 接口
# 嵌入式系统
# 如果您
# 您需要
# 会在
# 您可以
# 可以直接
# 设置为
# 它将
# 连接到
# 需要注意
# 命令行
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在橙子建站中快速调整背景颜色?
高端建站三要素:定制模板、企业官网与响应式设计优化
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
JavaScript如何实现倒计时_时间函数如何精确控制
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何在建站主机中优化服务器配置?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
如何在IIS中新建站点并配置端口与物理路径?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
nginx修改上传文件大小限制的方法
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
如何在建站之星绑定自定义域名?
如何基于PHP生成高效IDC网络公司建站源码?
大同网页,大同瑞慈医院官网?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel如何创建自定义Facades?(详细步骤)
高端企业智能建站程序:SEO优化与响应式模板定制开发
千库网官网入口推荐 千库网设计创意平台入口
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何正确选择百度移动适配建站域名?
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
javascript中的try catch异常捕获机制用法分析
EditPlus中的正则表达式 实战(4)
Laravel模型事件有哪些_Laravel Model Event生命周期详解
无锡营销型网站制作公司,无锡网选车牌流程?
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
iOS发送验证码倒计时应用
如何快速生成ASP一键建站模板并优化安全性?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
如何在阿里云购买域名并搭建网站?
node.js报错:Cannot find module 'ejs'的解决办法
如何在腾讯云免费申请建站?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
黑客入侵网站服务器的常见手法有哪些?
微信小程序 require机制详解及实例代码
如何在Tomcat中配置并部署网站项目?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
新三国志曹操传主线渭水交兵攻略
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】


ty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait