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

树莓派刷入OpenWrt后扩容overlay的方法

问题:

128G的SD卡刷入openwrt后发现可用空间不足100M(我用的squashfs固件,ext4也存在同样的问题,但能否用此方法需要自己尝试一下)。

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 5.0M      5.0M         0 100% /rom
tmpfs                   928.4M     64.0K    928.4M   0% /tmp
/dev/loop0               87.3M      3.3M     77.1M   4% /overlay
overlayfs:/overlay       87.3M      3.3M     77.1M   4% /
/dev/mmcblk0p1           63.9M     17.7M     46.2M  28% /boot
tmpfs                   512.0K         0    512.0K   0% /dev

其它空间用不了,随便装几个软件就会出现空间满的问题。

解决:

1 先安装必要工具:

opkg install blkid fdisk resize2fs

2 再fdisk分区:
fdisk /dev/mmcblk0
输入p先查看原有/dev/mmcblk0p2的起始位置(我的是147456)
输入d 回车 3 删除mmcblk0p3分区(如果有做这一步,如果没有不需要)
输入d 回车 2 删除mmcblk0p2分区
输入n 回车 新建一个分区,开始位置需与原来的mmcblk0p2一致(这里是147456)
root@OpenWrt:~# fdisk /dev/mmcblk0

root@OpenWrt:~# fdisk /dev/mmcblk0
 

Welcome to fdisk (util-linux 2.39).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.


Command (m for help): p

Disk /dev/mmcblk0: 119.08 GiB, 127865454592 bytes, 249737216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5452574f

Device         Boot  Start       End   Sectors   Size Id Type
/dev/mmcblk0p1 *      8192    139263    131072    64M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      147456    360447    212992   104M 83 Linux
/dev/mmcblk0p3      360448 249737215 249376768 118.9G 83 Linux

Command (m for help): d
Partition number (1-3, default 3): <----如果没有这个分区不需要删。这里删了它,是为了后面合入2做准备!

Partition 3 has been deleted.

Command (m for help): d
Partition number (1,2, default 2): <----先把2分区删了,后面会加回来的,主要是为了修改End区的值。

Partition 2 has been deleted.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (2-4, default 2):
First sector (2048-249737215, default 2048): 147456 <----这个值一定要用上面mmcblk0p2的原始值,后面就直接回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (147456-249737215, default 249737215):

Created a new partition 2 of type 'Linux' and of size 119 GiB.
Partition #2 contains a squashfs signature.

Do you want to remove the signature? [Y]es/[N]o: N <----注意这里选No!!!

Command (m for help): w  <----保存

The partition table has been altered.
Syncing disks.

 3 重启:

reboot

4 重启后resize2fs -f /dev/loop0调分区:

root@OpenWrt:~# df -h  <----先查看,没有变
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 5.0M      5.0M         0 100% /rom
tmpfs                   928.4M     64.0K    928.4M   0% /tmp
/dev/loop0               87.3M      3.3M     77.1M   4% /overlay
overlayfs:/overlay       87.3M      3.3M     77.1M   4% /
/dev/mmcblk0p1           63.9M     17.7M     46.2M  28% /boot
tmpfs                   512.0K         0    512.0K   0% /dev

root@OpenWrt:~# resize2fs -f /dev/loop0    <----调整
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/loop0 is mounted on /overlay; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 953
The filesystem on /dev/loop0 is now 124789824 (1k) blocks long.
再查看,生效:
root@OpenWrt:~#
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 5.0M      5.0M         0 100% /rom
tmpfs                   928.4M     64.0K    928.4M   0% /tmp
/dev/loop0              111.9G      3.3M    107.1G   0% /overlay
overlayfs:/overlay      111.9G      3.3M    107.1G   0% /
/dev/mmcblk0p1           63.9M     17.7M     46.2M  28% /boot
tmpfs                   512.0K         0    512.0K   0% /dev

完美搞定。网上一大堆文章全是垃圾。 

http://www.lryc.cn/news/461911.html

相关文章:

  • 【JS】Node.js读取execle表格中的数据
  • 怎么为pdf文件设置密码?几种PDF文件设置密码的方法推荐
  • Rust : FnOnce、线程池与多策略执行
  • 一个汉字占几个字节、JS中如何获得一个字符串占用多少字节?
  • CommonJS 和 ES modules
  • 计算机网络——CDN
  • 大数据治理:挑战与策略
  • 屋面通风器安装方案及流程
  • ComfyUI一键更换服装:IP-Adapter V2 + FaceDetailer(DeepFashion)
  • AWS账号与亚马逊账号的关系解析
  • Java八大基本数据类型详解
  • ChatGPT的终极指南概要
  • Android应用性能优化的方法
  • 『网络游戏』客户端发送消息到服务器【17】
  • 【系统架构设计师】专题:数据库系统考点梳理
  • Java传递对象是值传递还是引用传递?
  • 解锁C++多态的魔力:灵活与高效的编码艺术(上)
  • k8s系列-Rancher 上操作的k8s容器网络配置总结
  • 2024年【氯化工艺】考试题库及氯化工艺考试内容
  • 从commit校验失效问题探究husky原理
  • Azure OpenAI 服务上线具有音频和语音功能的 GPT-4o-Realtime-Preview,免费申请试用
  • 基于IMX6UL的EPIT的定时器实验
  • FreeMarker模板引擎入门:从基础到实践的全面指南
  • YOLOv8模型改进 第十讲 添加全维度动态卷积(Omni-dimensional Dynamic Convolution,ODConv)
  • 【环境搭建】远程服务器搭建ElasticSearch
  • 机器学习与神经网络:诺贝尔物理学奖的新篇章
  • 倍福TwinCAT程序中遇到的bug
  • R语言实现logistic回归曲线绘制
  • 零宽字符(ZWSP)
  • 作业 定时发送邮件