OpenWrt软路由空间扩容

news2024/11/28 0:54:02

文章目录

  • 预备知识
    • OpenWrt系统固件分类
    • EXT4固件扩容方式
      • 新建分区扩容
        • 操作步骤
      • 直接扩容
        • 操作步骤
    • SQUASHFS固件扩容方式
      • 新建分区扩容
      • 直接扩容
    • EFI引导固件的额外操作
    • 参考

预备知识

OpenWrt系统固件分类

  1. EXT4固件

    固件包名称中包含有ext4关键字,可以参考固件分类关键字示意图图片。该种类型的固件硬盘空间划分如下:

    image-20230127104021941

  2. SQUASHFS固件

    固件包名称中包含有squashfs关键字,同样参考固件分类关键字示意图图片。该种类型的固件硬盘空间划分如下:

    image-20230127104108093

固件分类关键字示意图:

image-20230127103239081

EXT4固件扩容方式

新建分区扩容

新建分区,将根目录挂载到新分区;(推荐)

在未格式化区域创建新分区,然后将原来系统文件分区的所有内容拷贝到新分区,最后将系统根目录默认挂载点变成新分区即可。

image-20230127105251868

操作步骤

  1. 查看当前磁盘信息

    fdisk -l
    

    image-20230127110105047

  2. 创建新分区

    # 注意fdisk后参数是磁盘名称,是要根据实际情况填写
    fdisk /dev/mmcblk0
    # 输入p查看分区情况
    p
    # 输入n创建新分区
    n
    # 选择p,primary分区类型
    p
    # 选择分区序号,根据实际情况填写了,一般默认即可
    # 输入分区起始位置,需要大于红色下划线数字
    # 输入要创建的分区大小,例如要创建3GB,可以输入+3G即可
    # 最后输入w写入磁盘
    

    image-20230127110647824

    image-20230127111021791

  3. 查看分区效果

    fdisk -l
    

    image-20230127111348514

  4. 格式化分区

    # mkfs.ext4后参数为新分区名称
    mkfs.ext4 /dev/mmcblk0p3
    
  5. 网页登录openwrt,选择系统挂载点,选择添加

    image-20230127111549019

  6. 选择新创建的分区,并挂载至根目录,保存后应用
    image-20230127115350975

  7. 复制根目录准备区域的命令如下

    mkdir -p /tmp/introot
    mkdir -p /tmp/extroot
    mount --bind / /tmp/introot
    # mount命令后参数为新分区,该博客中的例子为/dev/mmcblk0p3
    mount /dev/sda1 /tmp/extroot
    tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
    umount /tmp/introot
    umount /tmp/extroot
    
  8. 将上述命令在命令行中粘贴执行

  9. 若固件带有efi 关键字,需要参考EFI引导固件的额外操作章节执行额外步骤(可选:仅固件中包含efi关键字需要执行)

  10. 重启软路由

    reboot
    

直接扩容

直接将原有根分区扩容,如下图:

image-20230127105057618

操作步骤

  1. 删除旧分区(需要记住旧分区的磁盘起始位置,如图下划线位置),并创建新分区

    # 注意fdisk后参数是磁盘名称,是要根据实际情况填写
    fdisk /dev/mmcblk0
    # 删除第2个分区,输入d
    d
    # 选择第2个分区,根据实际情况填写
    2
    # 输入n创建新分区
    n
    # 选择primary分区类型
    p
    # 分区编号选择2,一般默认即可
    2
    # 输入分区起始位置,该位置要与删除分区的起始位置相同
    # 输入创建分区大小,例如+3G
    # 不要删除标识!不要删除标识!不要删除标识!选择n!
    n
    # 输入w写入磁盘
    w
    

    image-20230127113027636

    image-20230127113141262

  2. 查看分区效果

    fdisk -l
    

    image-20230127113227559

  3. 设置循环设备

    losetup /dev/loop0 /dev/mmcblk0p2
    
  4. 扩展磁盘空间

    resize2fs -f /dev/loop0
    
  5. 若固件带有efi 关键字,需要参考EFI引导固件的额外操作章节执行额外步骤(可选:仅固件中包含efi关键字需要执行)

  6. 重启软路由

    reboot
    

SQUASHFS固件扩容方式

新建分区扩容

由于SQUASHFS固件安装后,会自动创建rom空间,所以可以直接扩容即可。

直接扩容

直接扩容方式与ext4固件扩容方式相同,可以参考上述步骤。同样的,需要区分x86设备efi固件。特殊操作上文中也有提及,可以参考。

EFI引导固件的额外操作

  1. 查看分区ID

    blkid
    

    image-20230127114244639

  2. 修改系统引导

    # 编辑grub.cf文件
    vi /boot/grub/grub.cfg
    # 将下划线的两个分区ID修改成新分区的UUID即可
    

    image-20230127114608438

  3. 保存文件

    # 输入:wq即可,或者Shift + ZZ快捷键保存均可
    

参考

  1. OpenWrt的空间扩容问题,可以这么直接解决!

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

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

相关文章

设计模式 - 创建型模式_建造者模式

文章目录创建型模式概述Case模拟工程Bad ImplBetter Impl (建造者模式重构代码)小结创建型模式 创建型模式提供创建对象的机制, 能够提升已有代码的灵活性和可复⽤性。 类型实现要点工厂方法定义⼀个创建对象的接⼝,让其⼦类⾃⼰…

编写用户注册用表单

<!-- 需求&#xff1a; 用户注册&#xff1a;用户名、密码、确认密码、性别、兴趣爱好、学历、简介 --> <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>编写用户注册用表单<…

【Linux】Linux和Window下\r与\n的区别、git命令行的使用

作者&#xff1a;小卢 专栏&#xff1a;《Linux》、《Git》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 目录 1. 回车换行符在Window下和在Linux下的区别&#xff1a; 1.1回车换行符&#xff1a;…

用友U8和旺店通企业版淘宝奇门单据接口集成

用友U8和旺店通企业奇门单据接口集成对接系统&#xff1a;旺店通企业奇门慧策最先以旺店通ERP切入商家核心管理痛点——订单管理&#xff0c;之后围绕电商经营管理中的核心管理诉求&#xff0c;先后布局流量获取、会员管理、仓库管理等其他重要经营模块。慧策的产品线从旺店通E…

实现宏offsetof()

本期介绍&#x1f356; 主要介绍&#xff1a;什么是offsetof()&#xff0c;offsetof()的用法&#xff0c;如何自己实现这个宏&#x1f440;。 offsetof其实是一个宏&#xff0c;作用是&#xff1a;能够求出指定成员相对于结构体起始地址的偏移量&#xff08;单位&#xff1a;字…

(考研湖科大教书匠计算机网络)第三章数据链路层-第一节:数据链路层概述

文章目录一&#xff1a;数据链路层概述&#xff08;1&#xff09;为什么要有数据链路层&#xff08;2&#xff09;数据链路层定义&#xff08;3&#xff09;点对点信道和广播信道二&#xff1a;数据链路层需要解决的一些问题&#xff08;1&#xff09;三个最基本问题①&#xf…

深入理解Promise之一步步教你手写Promise构造函数

目录前言一&#xff0c;手写教学1.1 基本结构1.2 resolve与reject结构搭建1.3 resolve与reject代码实现1.4 throw抛出异常改变状态1.5 promise对象状态只能转换一次1.6 then方法进行回调1.7 异步任务的回调执行1.8 执行多个回调的实现1.9 同步修改状态then方法结果返回1.10 异步…

【手写 Promise 源码】第四篇 - 翻译并理解 Promise A+ 规范

一&#xff0c;前言 上一篇&#xff0c;根据对 Promise 的分析和了解&#xff0c;实现了一个简版 Promise&#xff0c;主要涉及以下内容&#xff1a; Promise 的实现思路&#xff1b;Promise A 规范&#xff08;简版&#xff09;&#xff1b;Promise 简版实现和功能测试&…

KVM虚拟化之小型虚拟机kvmtool的使用记录

根据 kvmtool github仓库文档的描述&#xff0c;类似于QEMU&#xff0c;kvmtool是一个承载KVM Guest OS的 host os用户态虚拟机&#xff0c;作为一个纯的完全虚拟化的工具&#xff0c;它不需要修改guest os即可运行, 不过&#xff0c;由于KVM基于CPU的硬件虚拟化支持&#xff0…

读《哲学的故事》

文章目录读《哲学的故事》&#x1f6a9; 遇见&#x1f33b; 简述&#x1f33e; 部分摘抄读《哲学的故事》 一本书读过后&#xff0c;我有种脑子里又被塞进了很多新东西的感觉&#xff0c;也有种想要自我抒发、宣泄的欲望。可真到要说的时候&#xff0c;又好像无话可说。总归勉…

Java转换流(InputStreamReader/OutputStreamWriter)

文章目录概述为什么会有转换流&#xff1f;InputStreamReaderOutputStreamWriter概述 转换流是字节流到字符流的桥梁&#xff0c;在转换的过程中&#xff0c;可以指定编码。转换流也是一种处理流&#xff0c;它提供了字节流和字符流之间的转换。 转换流的两个类 InputStreamR…

1.设计模式的前奏

哪些维度评判代码质量的好坏&#xff1f; 常用的评价标准 可维护性&#xff08;maintainability&#xff09;:维护代码的成本可读性&#xff08;readability&#xff09;可扩展性&#xff08;extensibility&#xff09;&#xff1a;码应对未来需求变化的能力灵活性&#xff0…

【keepass】密码管理软件-推荐插件和相关工具合集-keepass工作流分析(自动填充、美化界面、快速添加记录、安全增强、软件和数据库维护类)

Keepass有很多已经开源的插件&#xff0c;生态良好&#xff0c;在官网有专门的插件推荐区。安装插件的方法很简单&#xff0c;直接把下载好的插件文件放在plugins文件夹内&#xff0c;重启软件即可。下面我以几大功能推荐一些keepass插件或搭配使用的浏览器扩展&#xff0c;以求…

Coolify系列-手把手教学解决局域网局域网中的其他主机访问虚拟机以及docker服务

背景 我在windows电脑安装了一个VM&#xff0c;使用VM开启了Linux服务器&#xff0c;运行docker&#xff0c;下载服务镜像&#xff0c;然后运行服务,然后遇到了主机无法访问服务的问题。 问题排查 STEP1:首先要开启防火墙端口&#xff0c;这个我的Coolify系列其他文章有详细…

【c++】设置控制台窗口字体颜色和背景色(system和SetConsoleTextAttribute函数 )(内含超好玩的c++游戏链接)

目录 游戏推荐 研究初步 SetConsoleTextAttribute函数 原型 参数 举个栗子 最后 题外话 一篇游戏笔记。。。 游戏推荐 最近&#xff0c;在玩&#xff08;完&#xff09;一个c的控制台游戏。 啊&#xff0c;真的非常好玩。虽然是一个文字游戏&#xff0c;但有很多隐…

分享137个ASP源码,总有一款适合您

ASP源码 分享137个ASP源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c; 137个ASP源码下载链接&#xff1a;https://pan.baidu.com/s/13nF0yADJhSBonIFUIoymPQ?pwdmsl8 提取码&#x…

【C++】位图、布隆过滤器概念与模拟实现

目录 一、位图 1.1 位图的概念 1.2 位图的使用 1.3 位图的实现 1.4 位图的应用 二、布隆过滤器 2.1 布隆过滤器 2.2 布隆过滤器的实现 2.3 布隆过滤器练习题 一、位图 1.1 位图的概念 所谓位图&#xff0c;就是用每一位来存放某种状态&#xff0c;适用于海量数据&am…

监控Python 内存使用情况和代码执行时间

我的代码的哪些部分运行时间最长、内存最多&#xff1f;我怎样才能找到需要改进的地方&#xff1f;” 在开发过程中&#xff0c;我很确定我们大多数人都会想知道这一点&#xff0c;而且通常情况下存在开发空间。在本文中总结了一些方法来监控 Python 代码的时间和内存使用情况…

【24】C语言 | 调试技巧

目录 1、调试概念&#xff1a; 2、Debug和Release的介绍 3、windows中的快捷键 4、案例一&#xff1a;求1&#xff01; 2&#xff01;3&#xff01;...n&#xff01; 5、案例二&#xff1a;下面的代码输出什么&#xff1f; 6、案例三&#xff1a;实现一个strcopy的函数 …

零入门容器云网络实战-3->Underlay网络与Overlay网络总结

本篇文章主要用于收集、整理、总结关于Underlay网络以及overlay网络相关知识点。 1、underlay网络介绍&#xff1f; 1.1、什么是underlay网络&#xff1f; Underlay网络就是&#xff1a; 传统IT基础设施网络&#xff0c;由交换机和路由器等设备组成&#xff0c;借助以太网协议…