网站首页 > 编程文章 正文
需求
想升级 OpenWRT 路由器的内核,又不想每次都把 SD 卡拿下来刷,怎么办?
前提
- 本文将以 Nano Pi R4S 为例。
- 这里的“在线”指的是:不重新刷 ROM,也不用 sysupgrade,纯手动替换文件,然后 reboot 生效。
解决
1. 先查看当前版本
uname -a
Linux UMUR4S 5.10.107 #0 SMP PREEMPT Sat Mar 19 19:05:00 2022 aarch64 GNU/Linux
目前是 5.10.107,想升级到 5.10.108!
2. 下载新 ROM 到路由器
可以直接在 OpenWRT 里用 wget 下载到 /tmp 下,或者在其它机器下载好,用 scp 上传到路由器的 /tmp 下。
下载地址:https://github.com/UMU618/openwrt-config/releases
3. 解压新 ROM、挂载分区
cd /tmp/
# wget
gunzip -d openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img.gz
parted openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img
unit B
p
可以看到 img 里的两个分区:
Model: (file)
Disk /tmp/openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img: 176160768B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 33554432B 50331647B 16777216B primary ext2 boot
2 67108864B 176160767B 109051904B primary ext2
把这两个分区别分挂载:
mkdir new_boot
mount -o loop,offset=33554432 openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img new_boot
mkdir new_root
mount -o loop,offset=67108864 openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img new_root
4. 挂载待更新的 boot 分区
mkdir boot
mount /dev/mmcblk1p1 boot
检查一下,时间是不一样的:
root@UMUR4S:/tmp# ll boot/
drwxr-xr-x 3 root root 4096 Jan 1 1970 ./
drwxrwxrwt 23 root root 660 Mar 27 18:17 ../
-rw-r--r-- 1 root root 352 Mar 21 01:17 boot.scr
-rw-r--r-- 1 root root 14860296 Mar 21 01:17 kernel.img
drwx------ 2 root root 4096 Jan 1 1970 lost+found/
-rw-r--r-- 1 root root 55738 Mar 20 19:26 rockchip.dtb
root@UMUR4S:/tmp# ll new_boot/
drwxr-xr-x 3 root root 4096 Jan 1 1970 ./
drwxrwxrwt 23 root root 660 Mar 27 18:17 ../
-rw-r--r-- 1 root root 352 Mar 27 17:56 boot.scr
-rw-r--r-- 1 root root 14860296 Mar 27 17:56 kernel.img
drwx------ 2 root root 4096 Jan 1 1970 lost+found/
-rw-r--r-- 1 root root 55738 Mar 27 17:45 rockchip.dtb
开始复制文件:
cp new_boot/* boot/
cp -r new_root/lib/modules/5.10.108 /lib/modules/
检查一下,现在应该同时存在两个版本的 modules:
root@UMUR4S:/tmp# ll /lib/modules/
drwxr-xr-x 4 root root 4096 Mar 27 18:28 ./
drwxr-xr-x 10 root root 4096 Mar 21 05:24 ../
drwxr-xr-x 2 root root 4096 Mar 20 03:05 5.10.107/
drwxr-xr-x 2 root root 4096 Mar 27 18:28 5.10.108/
5. 重启验证
reboot 后查看版本,如果没问题就清理旧版本:
uname
Linux UMUR4S 5.10.108 #0 SMP PREEMPT Sun Mar 27 04:00:50 2022 aarch64 GNU/Linux
rm -rf /lib/modules/5.10.107
猜你喜欢
- 2025-01-31 自制操作系统之二:自制并启动系统
- 2025-01-31 计算机启动知识系列 - 一个UEFI例子
- 2025-01-31 华硕ROG Phone一代手机ZS600KL获取完美root详细刷机教程
- 2025-01-31 嵌入式linux新手入门手记-第一次启动am335x
- 2025-01-31 十行代码实现十亿图片检索,我们把它开源了
- 2025-01-31 更新慢?Win10预览版9860自制ISO镜像下载
- 2025-01-31 移植Linux:如何制作rootfs?详细教程
- 2025-01-31 重装系统出现file not found解决步骤
- 2025-01-31 【信创】麒麟桌面操作系统修改GRUB界面字体大小
- 2025-01-31 借助这款软件,我把 N 个系统塞进了硬盘!
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)