原来的OpenWrt运行在版本18上已经很久了,看到最新的版本24有点手痒痒,很多新的特性,包括很多插件都要更新系统才能支持,所以决定升级。但一开始用Luci界面升级,直接失败了!软路由无限重启,所以决定自己重新安装一遍。我的软路由配置是CPU J1900,内存8G,硬盘是eMMC接口的16G,这里请记得硬盘大小。
-
首先去官网下载镜像,推荐用国内中科大的节点。我是X86的软路由,所以我选择64位ext4分区,带efi启动的版本,也就是openwrt-24.10.2-x86-64-generic-ext4-combined-efi.img.gz这个版本。
-
在后续的
opkg
包管理时,请务必切换sed -i 's/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g' /etc/opkg/distfeeds.conf
,使用国内资源。 -
因为台机是windows,所以下载一个rufus用来把镜像放到U盘里去,这时候请注意,因为后面要用
dd
这个命令,所以你的U盘不要大于你的硬盘,因为我是16G的eMMC,所以我找了一个16G的U盘。 -
使用
dd
完成从U盘到硬盘的文件复制,dd if=/dev/sdb of=/dev/sda bs=1M
。请注意两点,首先openwrt带的dd是busybox里的,默认没有status,看不到传输过程,需要漫长等待,我等了40分钟。其次,我的U盘在sdb是因为我知道,如果你不知道盘符的布局,可以参考OpenWrt官方的说明,装一个lsblk
来查看!opkg update opkg install lsblk lsblk
-
关机拔掉U盘,就可以用软路由内置硬盘启动了。现在就来处理分区问题,默认的官方镜像会复制出来两个分区,一个16M负责启动,一个104M存放系统,无论路由器硬盘大小多少,都无法用到。参考官方默认的X86镜像布局,所以我们要把硬盘剩余空间分进去,此二步骤完全参考手册,因为我就挂了一个硬盘。
-
扩展root分区,记得
--fix
opkg update opkg install parted parted -l -s parted -f -s /dev/sda resizepart 2 100% --fix reboot
-
扩展root文件系统
opkg update opkg install losetup resize2fs losetup /dev/loop0 /dev/sda2 2> /dev/null resize2fs -f /dev/loop0 reboot
-
分区回来之后,让我们修改IP配置,可以
vi /etc/config/network
也可以用uci命令修改uci set network.lan.proto='dhcp' uci set network.lan.ipaddr='192.168.2.111' uci del network.lan.netmask uci commit network service network restart
-
在命令行
passwd
修改默认密码,有了网络有了密码,现在可以通过IP进入系统了。