Milk-V Duo开发板之TF扩容

news2024/10/3 18:19:36

起因

开发板正式进入系统后,然后通过SSH的方案登录进入,进入以后,使用df -h命令查看,会发现ROOTFS的容量仅仅只有245.9MB,而我们的boot分区的容量也不过128MB,那么我的TF卡一共32GB,剩下的容量哪里去了?其实经常玩树莓派的人肯定都知道,这个其实是在打包IMG的时候,为了适应更多的TF卡所以都按照小容量的TF卡打包的,那么对于我们的大容量TF卡就没有解决办法了么?也不是,可以在编译好系统以后进行打包时,按照自己的TF卡容量进行打包,另外就是像树莓派有一个工具叫做raspi-config,使用这个命令也可以扩容,而且很方便,当然了我们的板子时不可能有这个命令的,那么还有别的办法么?

解决

当然是有办法的啦,使用fdisk和resize2fs就可以解决,不过在这里重要提示一下,我的32GB不能全部扩容到ROOTFS分区,如果全部扩容的话会出问题,所以,我扩容了16GB,剩下的16GB也没有浪费啦,在官方社区里,也有关于扩容方面的帖子,原理和我的都一样,但是我没有参考他的,大家如果看懂我的看我的,看懂他的看他的,[Duo]Linux 使用fdisk和resize2fs扩容 root分区!但是我为了演示方便,我重新找了一块128GB的TF卡,重新进行一遍操作。

 fdisk /dev/mmcblk0

001
fdisk的命令都会吧,不会可以输入h回车,也可以直接按照我的步骤来,我会说一下我的理解,然后输入p回车,列出当前的分区。
002
可以看到118GB的内存卡,1个Sectors512个字节,然后输入d回车,输入2回车,意思就是删除第2个分区,然后输入p回车,列出当前分区。
003
现在只剩1个分区了,接下来输入n回车,输入p回车,输入2回车,直接回车,然后输入2359296回车,最后再输入p回车。
n代表新建一个分区,p代表新建的是主分区,2代表的是分区号,这个地方直接回车是使用了默认值,即上个分区的最后一个Sector+1,最后输入的2359296代表的是本分区的最后一个Sector,可以看到我刚好分了1024MB,计算方法其实很简单2x1024x1024+262144,注意最后一个Sector不能大于硬盘的最后一个Sector,还有就是在板上不能太大,比如32GB建议最多分上16GB就可以了。
004
那么剩下的16GB也不要浪费了,我们再新建一个分区。我这里最后的分区没有进行分配,如果32GB的卡的话,可以输入n回车,输入p回车,输入3回车,直接回车,再直接回车,最后再输入p回车,也就是说最后2个直接默认选项就可以。我分配的是2GB分区。
005
最后输入w进行写入,写入以后会报错,表示资源占用,不过没关系,问题不大,我们先输入reboot让板子重启一下再说。
006
重启后,先用resize2fs进行扩容。
007
扩容以后,就是我们要使用剩余空间的时候了,在这里要感谢论坛里的这个帖子,我是按照这个帖子进行的,官方固件下USB device简单配置,但是,大神里面有一些小的疏忽,可以参照我的进行。
其实就是把/mnt/system/rndis.sh文件中的

/etc/run_usb.sh probe rndis >> /tmp/rndis.log 2>&1

后增加一行

/etc/run_usb.sh probe msc /dev/mmcblk0p3

这个代表要把第3个分区从USB上面进行读取,如果是希望把整个TF卡都挂上去也是可以的,把最后的p3删掉就可以,不过我不喜欢,因为第2个分区老提示格式化。
修改后的文件如下:

#!/bin/sh

/etc/uhubon.sh device >> /tmp/rndis.log 2>&1
/etc/run_usb.sh probe rndis >> /tmp/rndis.log 2>&1
/etc/run_usb.sh probe msc /dev/mmcblk0p3
/etc/run_usb.sh start rndis >> /tmp/rndis.log 2>&1

sleep 0.5
ifconfig usb0 192.168.42.1

count=`ps | grep dnsmasq | grep -v grep | wc -l`
if [ ${count} -lt 1 ] ;then
  echo "/etc/init.d/S80dnsmasq start" >> /tmp/rndis.log 2>&1
  /etc/init.d/S80dnsmasq start >> /tmp/rndis.log 2>&1
fi

然后,再次输入reboot进行重启。
重启后,电脑就会出现弹窗了。
009
注意,如果是挂载的整块TF千万别瞎点,如果是完全按照我的来的,只挂载第3个分区,那就直接点击格式化磁盘,或者进入我的电脑或者磁盘管理里进行格式化也是可以的,我这里为了兼容性直接使用了FAT32了,如下所示。
010
格式化就完事了,现在就没有浪费空间了,值得一提的是,这个方法是完全在Linux下进行的分区操作,当然我们可以在分了第2个分区以后,就不再继续分区,而是使用读卡器,或者挂载整个TF卡到windows系统下,然后在windows系统里,使用磁盘管理或DG一类的软件继续分区也是可以的。
最后,我们要把这个分区做到windows系统和Linux系统进行打通。首先,我们windows系统已经没有问题了,往里扔一个文件,文件名不要有中文,不然全是问号,编码有问题的,但是文件里面有中文是无妨的。
然后,在Linux里面进行挂载,

mkdir /mnt/media
mount /dev/mmcblk0p3 /mnt/media/

011
相信我,这样传输文件比scp还爽,虽然我还是更喜欢scp。
对了,值得注意的是,只可以windows里可读可写,但是在Linux里只可以读,包括修改都要复制到其他地方进行修改,不然不但无法保存还得重新加载。
还有就是,这样每次打开以后都得重新挂载,我们让他自动挂载吧。vi /etc/fstab,在文件末尾添加一行:

/dev/mmcblk0p3  /mnt/media      vfat    defaults        0       0

这个其实也没啥说的,唯一注意的是我用的fat32格式,所以第3个位置是vfat即可!
012
最后,reboot一下看看挂载成功没?
013

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/769823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows mysql 自动启动bat脚本

上一篇:windows mysql服务自动启动 错误模块名称:ntdll.dll_csdn_aspnet的博客-CSDN博客 根据上一篇文章进行手动启动mysql服务补充,由于演示机器系统安装的为win11家庭版,为了安全起见,在项目演示期间,避免数据库使用…

基于 Junit 的接口自动化测试框架实现

目录 前言: 分层的自动化测试 接口测试的意义 接口测试框架选型 我们封装的接口测试框架 接口测试关键实践 测试代码规范 (仅供参考) 前言: 基于JUnit的接口自动化测试框架可以实现对接口进行自动化测试,并提供了丰富的断言和报告功能…

PALO ALTO NETWORKS 的新一代防火墙如何保护企业安全

轻松采用创新技术、阻止网络攻击得逞并专注更重要的工作 IT 的快速发展已改变网络边界的面貌。数据无处不在,用户可随时随地从各类设备访问这些数据。同时,IT 团队正在采用云、分析和自动化来加速新应用的交付以及推动业务发展。这些根本性的转变带来了…

Kakfa - 多副本架构

文章目录 基本架构Kafka 多副本架构概念优点缺点 图解多副本架构小结 基本架构 Kafka 多副本架构 概念 Kafka 是一个高性能、分布式的消息系统,被广泛应用于各种场景中。在 Kafka 中,多副本架构是保证数据可靠性的重要手段之一。 多副本架构指的是将同…

【动手学深度学习】--12.深度卷积神经网络AlexNet

文章目录 深度卷积神经网络AlexNet1.AlexNet2.模型设计3.激活函数4.模型实现5.读取数据集6.训练AlexNet 深度卷积神经网络AlexNet 学习视频:深度卷积神经网络 AlexNet【动手学深度学习v2】 官方笔记:深度卷积神经网络(AlexNet) …

Qt的三大优势,打造高效工业软件开发:

强大的跨平台特性:Qt拥有优良的跨平台支持,可以在众多操作系统上运行,包括Microsoft Windows、Linux、Solaris、HP-UX、FreeBSD、QNX等等。这使得开发者可以轻松地将应用程序部署到不同的平台上,提高开发效率和覆盖范围。 面向对…

基于R语言的水文、水环境模型优化技术及快速率定方法与多模型案例实践

在水利、环境、生态、机械以及航天等领域中,数学模型已经成为一种常用的技术手段。同时,为了提高模型的性能,减小模型误用带来的风险;模型的优化技术也被广泛用于模型的使用过程。模型参数的快速优化技术不但涉及到优化本身而且涉…

linux之Ubuntu系列(七)用户管理 终端命令 su 切换用户

# 切换用户 zenxx:su - sup # 录入sup 密码 supxx:$ 切换root用户

Bard:Google AI开始支持中文对话和看图说话了

说起时下火爆的生成式AI,并不是只有ChatGPT。Bard也是一个很优秀的产品,并且刚刚发布的很多有趣的新功能。文末告诉你如何访问Bard。 Google AI在最近的更新中发布了Bard,一个新的语言模型。Bard支持多种语言,包括中文&#xff0…

linux之Ubuntu系列(五)用户管理、查看用户信息 终端命令

创建用户 、删除用户、修改其他用户密码的终端命令都需要通过 sudo 执行 创建用户 设置密码 删除用户 sudo useradd -m -g 组名 新建用户名 添加新用户 -m:自动建立用户 家目录 -g:指定用户所在的组。否则会建立一个和用户同名的组 设置新增用户的密码&…

7、PHP语法要点2

1、or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。&&、||的优先级在赋值运算符之前,or和and在赋值运算符之后。 2、字符串变量及数组可以在echo输出时双引号内、双引号外均可引用&#xff…

Android Studio Flutter 开发配置

近来比较闲,就研究下Flutter 开发,在此记录下studio 配置过程,时间是2023.7.19 在 Windows 操作系统上安装和配置 Flutter 开发环境 1.首先下载 Flutter SDKhttps://storage.flutter-io.cn/flutter_infra_release/releases/stable/windows/…

【极简,亲测,解决】Too many levels of symbolic links

前言(与内容无关) 帖子看多了,让我产生一种错觉,就是生产这些帖子的人都是机器人吗?是活着的吗?乱七八糟的转载和明显错误的结论太多了。 原因 原因是 链接的层数过多,已经产生了回路。 大概…

【案例教程】基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用能力

Python是功能强大、免费、开源,实现面向对象的编程语言,能够在不同操作系统和平台使用,简洁的语法和解释性语言使其成为理想的脚本语言。除了标准库,还有丰富的第三方库,Python在数据处理、科学计算、数学建模、数据挖…

C++:const修饰指针

const修饰符常常需要在c中使用到&#xff0c;需要注意到他对于指针修饰的时候的不同区别。 #include<iostream> using namespace std; int main() {//1.const修饰指针int a 10;int b 10;const int* p &a;//指针指向的值不可以改&#xff0c;指针的指向可以改// …

麒麟系统开发笔记(十二):在国产麒麟系统上编译GDAL库、搭建基础开发环境和基础Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131805718 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

ifconfig不是eth0(eth1/2/3/4其他网卡)的解决办法

1. 编辑你网卡的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0&#xff0c;更改eth0中HWADDR 更改为eth1网卡的信息&#xff08;这里是16位的mac地址&#xff09; 2. 编辑配置文件 vi /etc/udev/rules.d/70-persistent-net.rules 打开该文件&#xff0c;这时你会发现&…

思政课程,如何提升学习体验?

学校思政课程是中国高等教育中的一门重要课程&#xff0c;旨在培养学生的马克思主义理论素养、思想道德素质和社会责任感。 学校思政课程的开展&#xff0c;对于培养学生的全面发展和提升社会主义核心价值观具有重要意义。它不仅帮助学生理解和把握社会历史发展规律&#xff0c…

切面+注解方式实现sql注入,实现数据权限控制

前言&#xff1a;诸君谨记&#xff0c;你知道的越多&#xff0c;你就知道越少&#xff0c;良好的代码前篇一律&#xff0c;靠谱的架构&#xff0c;可以让程序开发效率提高&#xff0c;且运行稳如老狗&#xff0c;哈哈&#xff0c;言归正传 话说面试官问你&#xff0c;你对系统数…

VideoPipe可视化视频结构化框架更新总结

新增实例分割相关支持 增加了基于mask-rcnn的实例分割插件和相关sample。 1 #include "VP.h"2 3 #include "../nodes/vp_file_src_node.h"4 #include "../nodes/infers/vp_mask_rcnn_detector_node.h"5 #include "../nodes/track/vp_sort_…