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

server/2024/10/20 11:01:43/

问题:

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.ppmy.cn/server/133318.html

相关文章

【描述性统计分析】

文章目录 一、描述性统计分析简介1. 定义和目的2. 与推断统计的对比 二、关键统计量1. 集中趋势的度量1.1 均值&#xff08;Mean&#xff09;1.2 中位数&#xff08;Median&#xff09;1.3 众数&#xff08;Mode&#xff09; 2. 离散程度的度量2.1 方差&#xff08;Variance&am…

使用 JAX 进行 LLM 分布式监督微调

LLM distributed supervised fine-tuning with JAX — ROCm Blogs (amd.com) 24年1月25日&#xff0c;Douglas Jia 发布在AMD ROCm 博客上的文章。 在这篇文章中&#xff0c;我们回顾了使用 JAX 对基于双向编码器表示&#xff08;BERT&#xff09;的大型语言模型&#xff08;LL…

cs61a涉及图像转换的代码注释(Lecture01)

这段代码的主要作用是计算图像的单应性矩阵&#xff0c;并使用该矩阵对图像进行透视变换。具体来说&#xff0c;它的功能包括&#xff1a; 1. **单应性矩阵估计**&#xff1a; - 使用给定的四对对应点&#xff08;通常是从源图像和目标图像提取的特征点&#xff09;&#x…

linux的随机化处理

Linux的随机化处理&#xff08;或称为地址空间布局随机化&#xff0c;ASLR&#xff09;是一种安全特性&#xff0c;旨在提高系统对抗攻击的能力&#xff0c;尤其是缓冲区溢出和代码注入攻击。随机化处理通过改变进程在内存中的布局来减少攻击者利用漏洞的可能性。 随机化处理的…

Qt优秀开源项目之二十四:EXCEL读写利器QXlsx

QXlsx是基于Qt5/Qt6的Excel文件&#xff08;*.xlsx&#xff09;的读写库。 github地址&#xff1a;https://github.com/QtExcel/QXlsx QXlsx既可以编译成库&#xff0c;也可以直接引用源码QXlsx-master\QXlsx\QXlsx.pri QXls提供了非常丰富的Examples&#xff0c;比如&#xff…

十四、行为型(观察者模式)

观察者模式&#xff08;Observer Pattern&#xff09; 概念 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了对象间的一对多依赖关系&#xff0c;当被观察的对象&#xff08;主题&#xff09;状态发生改变时&#xff0c;所有依赖…

STM32—旋转编码器控制直流电机(标准库)

本文使用 KY-040旋转编码器 通过TC1508A电机驱动模块来控制直流电机正转和反转&#xff08;Speed&#xff1a;0-100&#xff09;&#xff0c;代码部分基于标准库&#xff0c;使用定时器输出比较两个通道来控制PWM输出。 一、KY-040旋转编码器 下图为KY-040旋转编码器&#xf…

数据结构常考基础代码题-数组倒置

题目要求 将数组 (a1, a2, a3, ..., am, b1, b2, ..., bn) 转换成 (b1, b2, ..., bn, a1, a2, a3, ..., am)。 代码实现步骤 第一步&#xff1a;定义反转函数 根据题目中的“将数组中的元素顺序反转”&#xff0c;我们需要实现一个函数 Reverse&#xff0c;用于反转数组中从…