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

泰山派无 eMMC 版 + YOLO(Ultralytics)YOLO环境部署完整安装指南:解决 SD 卡空间浪费 + TMPDIR 永久配置

本文针对泰山派无 eMMC 版(依赖 SD 卡启动) 的核心痛点 —— 嘉立创 Linux 镜像 “大 SD 卡空间闲置” 问题,结合 YOLO(Ultralytics)安装需求,整合「激活闲置 SD 卡空间」「TMPDIR 永久配置」「YOLO 安装」三大核心操作,彻底解决 “根分区满溢”“环境配置临时失效” 等问题,适用于 32G/64G SD 卡用户。

一、前置认知:泰山派 SD 卡分区的 “坑”

嘉立创为兼容性(适配 8G 最小 SD 卡),将 Linux 镜像设计为固定分区表,导致 32G/64G SD 卡的大部分空间被闲置,具体表现为:

  • 根分区(/dev/mmcblk1p6):仅 5-6G,系统文件 / 软件挤在这里,易满溢;
  • 闲置大分区(/dev/mmcblk1p8):32G 卡中约 23G 空间未被正确激活(默认可能挂载到/userdata或完全未挂载);
  • 其他小分区(p1-p5/p7):引导 / 缓存分区,占用空间可忽略。

所有操作的前提:先激活这 23G 闲置空间,否则后续安装 YOLO 仍会因根分区不足报错。

二、第一步:激活泰山派 SD 卡的闲置大分区(核心!)

通过 “识别分区→格式化→挂载→开机自动挂载”,让 32G/64G SD 卡的空间完全可用,目标是将闲置分区/dev/mmcblk1p8挂载到/mnt/large_storage(后续 YOLO 安装、TMPDIR 都依赖此目录)。

2.1 识别闲置分区(确认/dev/mmcblk1p8

先通过分区工具查看 SD 卡完整分区表,定位闲置大分区:

# 查看SD卡(/dev/mmcblk1,泰山派SD卡固定设备名)的分区信息
fdisk -l /dev/mmcblk1
预期输出(32G SD 卡示例):
DeviceStartEndSectorsSizeType
/dev/mmcblk1p1163842457581924M引导相关
/dev/mmcblk1p636044812943359125829126G根分区(满溢风险区)
/dev/mmcblk1p813205504623338874912838423.4G闲置大分区(重点!)

确认/dev/mmcblk1p8的 Size 为 20G 以上,即为需要激活的空间。

2.2 卸载默认挂载(若已挂载到/userdata

嘉立创镜像可能将p8默认挂载到/userdata(但未正确识别大容量),先卸载:

# 1. 查看p8当前挂载状态
mount | grep /dev/mmcblk1p8
# 2. 若输出“/dev/mmcblk1p8 on /userdata type ext2”,执行卸载
sudo umount /userdata

2.3 格式化大分区(转为 ext4,适配大容量)

p8默认可能是 ext2 格式(无日志功能,稳定性差),重新格式化为 ext4(支持大空间 + 更耐用):

# 强制格式化p8为ext4(-F跳过交互,该分区无重要数据,放心执行)
sudo mkfs.ext4 -F /dev/mmcblk1p8
格式化成功标志:

输出包含 “Creating filesystem with 6141048 4k blocks”(对应 23.4G 容量)。

2.4 挂载大分区到/mnt/large_storage

将格式化后的p8挂载到固定目录,方便后续使用:

# 1. 创建挂载目录(固定路径,后续统一用这个目录存大文件)
sudo mkdir -p /mnt/large_storage# 2. 临时挂载(立即生效,重启后失效,用于验证)
sudo mount /dev/mmcblk1p8 /mnt/large_storage# 3. 验证挂载结果(确认显示23G左右容量)
df -h /mnt/large_storage
验证成功标志:
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk1p8   23G   45M   22G   1% /mnt/large_storage

2.5 配置开机自动挂载(避免重启后失效)

通过/etc/fstab写入挂载规则,确保每次开机自动挂载p8注意:操作前建议备份/etc/fstab,避免配置错误导致无法开机

# 1. 备份fstab(重要!防止配置错误)
sudo cp /etc/fstab /etc/fstab.bak# 2. 获取p8的UUID(唯一标识,避免设备名变化导致挂载失败)
p8_uuid=$(blkid /dev/mmcblk1p8 | awk -F '"' '{print $2}')# 3. 写入fstab(添加自动挂载规则)
echo "UUID=$p8_uuid /mnt/large_storage ext4 defaults 0 2" | sudo tee -a /etc/fstab# 4. 测试自动挂载(无报错则成功)
sudo umount /mnt/large_storage  # 先卸载
sudo mount -a                   # 重新加载fstab规则
df -h /mnt/large_storage        # 再次验证,确认挂载成功

三、第二步:永久配置 TMPDIR(解决安装时临时空间不足)

之前用TMPDIR=/mnt/large_storage/tmp是临时环境变量(终端关闭后失效),现在配置永久生效,确保后续所有pip/ 编译操作都用大分区的临时目录,避免根分区/tmp满溢。

3.1 创建永久临时目录并设置权限

# 1. 在大分区下创建临时目录(与挂载目录一致)
sudo mkdir -p /mnt/large_storage/tmp# 2. 设置权限为777(确保所有用户都能读写,避免安装时权限错误)
sudo chmod 777 /mnt/large_storage/tmp

3.2 永久配置 TMPDIR(两种方案,选其一)

方案 1:仅当前用户(如 root)生效(推荐)

编辑用户的bash配置文件,仅对当前用户生效,避免影响系统其他用户:

# 1. 编辑root用户的.bashrc(若用普通用户,替换~为/home/用户名)
sudo nano ~/.bashrc# 2. 在文件末尾添加以下内容(指定TMPDIR为大分区的tmp目录)
export TMPDIR=/mnt/large_storage/tmp# 3. 让配置立即生效(无需重启终端)
source ~/.bashrc# 4. 验证配置(输出/mnt/large_storage/tmp即成功)
echo $TMPDIR
方案 2:所有用户生效(系统级配置)

若需要所有用户(包括sudo切换的用户)都使用该临时目录,编辑系统级配置文件:

# 1. 编辑/etc/profile(系统级环境变量配置文件)
sudo nano /etc/profile# 2. 在文件末尾添加
export TMPDIR=/mnt/large_storage/tmp# 3. 生效配置(所有终端重启后生效,或执行以下命令立即生效)
source /etc/profile# 4. 验证(任意用户执行echo $TMPDIR,均输出目标路径)
echo $TMPDIR

四、第三步:安装 YOLO(Ultralytics)

此时大分区已激活、TMPDIR 已永久配置,所有安装操作都会利用/mnt/large_storage的空间,彻底避开根分区不足问题。

4.1 安装依赖(确保系统工具齐全)

# 更新apt缓存(避免安装依赖时找不到包)
sudo apt update -y# 安装Python基础依赖(若未安装)
sudo apt install -y python3 python3-pip python3-dev

4.2 用 pip3 安装 YOLO(指定大分区目录)

通过--target指定安装目录、--cache-dir指定缓存目录,确保所有文件都存到/mnt/large_storage

# 1. 创建YOLO安装目录和pip缓存目录(已在大分区下)
sudo mkdir -p /mnt/large_storage/python_libs  # YOLO及依赖安装目录
sudo mkdir -p /mnt/large_storage/pip_cache    # pip下载缓存目录# 2. 安装ultralytics(TMPDIR已永久配置,无需重复写)
pip3 install ultralytics \
--target=/mnt/large_storage/python_libs \
--cache-dir=/mnt/large_storage/pip_cache
安装成功标志:

终端最后显示 “Successfully installed ultralytics-xxx”(忽略 “launchpadlib 依赖缺失” 警告,不影响 YOLO 使用)。

4.3 永久配置 PYTHONPATH(让 Python 找到 YOLO)

YOLO 安装在自定义目录,需让 Python 永久识别该目录,配置方法同 TMPDIR:

# 1. 编辑root用户的.bashrc(或/etc/profile,对应TMPDIR的配置方案)
sudo nano ~/.bashrc# 2. 在末尾添加(指定Python模块搜索路径)
export PYTHONPATH=/mnt/large_storage/python_libs:$PYTHONPATH# 3. 生效配置
source ~/.bashrc# 4. 验证(输出包含目标路径)
echo $PYTHONPATH

五、验证 YOLO 是否可用

5.1 基础导入测试(确认 Python 能找到 YOLO)

python3 -c "from ultralytics import YOLO; print('YOLO导入成功!')"
成功:输出 “YOLO 导入成功!”,无报错。

5.2 模型加载测试(确认 YOLO 功能正常)

加载 YOLOv8 预训练模型(首次运行需联网,自动下载到缓存):

python3 -c "
from ultralytics import YOLO
# 加载轻量版YOLOv8(yolov8n.pt,n代表nano,适合嵌入式设备)
model = YOLO('yolov8n.pt')
# 打印模型输入尺寸(验证加载成功)
print('YOLO模型加载成功!输入尺寸:', model.input_shape)
"
成功:输出 “YOLO模型加载成功!输入尺寸:(1, 3, 640, 640)”。

六、关键注意事项

  1. fstab 配置错误修复:若因/etc/fstab写错导致无法开机,可通过泰山派串口登录,执行sudo cp /etc/fstab.bak /etc/fstab恢复备份;
  2. 扩展根分区(可选):若需扩大根分区(p6),需用fdisk调整分区表后执行sudo resize2fs /dev/mmcblk1p6,但新手建议优先 “挂载 p8”(操作简单无风险);
  3. 定期清理:每月执行sudo apt clean && sudo rm -rf /mnt/large_storage/tmp/*,清理 APT 缓存和临时文件,避免大分区满溢。

七、总结

本文针对泰山派无 eMMC 版的硬件特性,先解决 “SD 卡空间浪费” 的根本问题,再通过 “TMPDIR+PYTHONPATH 永久配置” 确保环境稳定,最后安装 YOLO,形成 “硬件→环境→软件” 的完整闭环。核心逻辑是:所有大文件(安装包、临时文件、模型)都放到激活后的闲置分区,彻底摆脱根分区 5-6G 的限制,满足 YOLO 目标检测的存储需求。

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

相关文章:

  • 2017网站建设趋势白城百度网站建设
  • 大网站建设辖网站建设
  • 营销型网站公司排名2022世界互联网峰会
  • 扁平化设计风格的网站外贸推广是做什么的
  • 为什么要做官方网站政务网站建设和技术维护制度
  • 网站建设服务器对比广州做包包的网站
  • 网站建设栏目提纲一个vps建两个网站怎么弄数据库
  • 找做网站怎么修改wordpress模板文件路径
  • 深圳网站做的好的公司哪家好文创产品设计作品案例欣赏
  • 昆明网站建设服务至上一个完整网站开发需要什么技术
  • 亚马逊做code的网站我买了一个域名怎么做网站
  • WSL 教程:使用 Systemd 配置服务自动启动(SSH frpc)
  • wordpress什么模块深圳优化网站排名软件
  • 读写INI文件源码(点击关注)
  • ps如何做网站轮播图网站开发通过什么途径接活
  • 如何选择网站开发公司鲜花网站建设的利息分析
  • 可做生物试卷的网站网站建设多少钱兴田德润放心
  • 做网站要有策划么江都微信网站建设
  • 网站模版 模板门户网站系统有哪些平台
  • 深圳建科技有限公司网站首页wordpress投稿页面
  • 南昌网站开发培训学校设计制作生态瓶
  • 合肥房产网站建设建设网站的申请信用卡
  • 鲁中网站wordpress+park主题
  • modbus tcp 跟 modbus rtu
  • NVMe高速传输之摆脱XDMA设计43:队列管理功能验证与分析1
  • 网站开发课程软件wordpress幻灯片主题设置
  • 域名过期网站还有用吗营销型网站的推广方法
  • C++(10.4)
  • 2018什么做网站简易网页模板
  • 果洛州商城网站建设分析网站建设的体会