最近买了个很火的路由,京东AX1800Pro,刷机神器,这篇文章记录一下改造过程的最佳实践,也是对用openwrt这么久以来的一个简单总结。
京东亚瑟AX1800Pro是一款用来挖京豆的PCDN路由器,现在各家ISP对滥用PCDN处罚越发严格,甚至是有可能导致封网,但并不妨碍刷机后干掉原路由器系统,并大大扩展路由器的功能。
正好实验室没有科学上网环境,虚拟机添加代理太麻烦,但又不太有空间实现我一贯使用的AC+AP,于是使用这台路由器实现透明代理及内网的隔离和转换。

刷机

这部分网上有各种版本的教程,很详细了,而且我买到的是已经刷好的256g版(才120!!),就简单说几句、放几个连接吧。
iStoreOS是一个修改版的openwrt系统,在原系统上做了一定的优化和bug修复,亚瑟的路由iStore固件可以在这里下载,在uboot中刷入用factory包,在iStoreOS中刷入用sysupgrade包。

  • ssh刷机(适合2204以前版本),刷CDT

小白也能看懂的京东云亚瑟 AX1800 Pro 刷机教程

  • 2204以后版本刷机

京东云AX1800 Pro亚瑟超神!免拆开启SSH刷机&看这一篇就够了
另外根据其他人的情况,这个机器内存太小,运行起来很容易出现OOM问题(暴内存),虽然加SWAP可以解决问题,但是运行速度还是会很受影响,所以强烈推荐改到1G的内存。
但我暂时没遇到这个情况,可能是我把没用的功能插件全部移除同时只用了passwall2这一个插件的原因。另外我发现此系统内存占用确实比lede高一些:
自编译lede:
屏幕截图 2024-10-24 142105.png
iStore in AX1800:
屏幕截图 2024-10-24 142313.png
差不多高了100M的样子,看看后面有没有时间编译一下ipq6000的固件吧。

扩容overlay分区

拿到手发现overlay分区只有4.5M,完全装不了插件。
解决这个问题的方法有两种,第一种是刷大分区表,这个相当于把电脑C盘空间直接调大一些,就有空间安装软件了;第二种就是不改变分区大小,想办法把软件安装到空间更大的D盘或E盘。
第一种方法看似一劳永逸,但存在以下弊端,第一风险大,操作不当有变砖风险,第二切换不同固件需要来回更换分区表或手动调整分区。比如你刷了大分区想刷回京东云官方固件的话,需要把分区改回才能刷。所以小白用户更建议用第二种方案,风险小,切换固件容易。下面我们就介绍下第二种通过扩容overlay分区的方法实现把软件安装到空间更大的分区的操作步骤。

  1. 查看当前分区表

终端输入:

fdisk -l

输出如下:

Device            Start       End   Sectors   Size Type
/dev/mmcblk0p1       34      1569      1536   768K unknown
/dev/mmcblk0p2     1570      2081       512   256K unknown
/dev/mmcblk0p3     2082      2593       512   256K unknown
/dev/mmcblk0p4     2594      6177      3584   1.8M unknown
/dev/mmcblk0p5     6178      9761      3584   1.8M unknown
/dev/mmcblk0p6     9762     10273       512   256K unknown
/dev/mmcblk0p7    10274     10785       512   256K unknown
/dev/mmcblk0p8    10786     11297       512   256K unknown
/dev/mmcblk0p9    11298     11809       512   256K unknown
/dev/mmcblk0p10   11810     12321       512   256K unknown
/dev/mmcblk0p11   12322     12833       512   256K unknown
/dev/mmcblk0p12   12834     13345       512   256K unknown
/dev/mmcblk0p13   13346     14625      1280   640K unknown
/dev/mmcblk0p14   14626     15905      1280   640K unknown
/dev/mmcblk0p15   15906     16417       512   256K unknown
/dev/mmcblk0p16   16418     28705     12288     6M unknown
/dev/mmcblk0p17   28706     40993     12288     6M unknown
/dev/mmcblk0p18   40994   2138145   2097152     1G unknown
/dev/mmcblk0p19 2138146   2146337      8192     4M unknown
/dev/mmcblk0p20 2146338   2269217    122880    60M unknown
/dev/mmcblk0p21 2269218   2277409      8192     4M unknown
/dev/mmcblk0p22 2277410   2318369     40960    20M unknown
/dev/mmcblk0p23 2318370   2319393      1024   512K unknown
/dev/mmcblk0p24 2319394   2498593    179200  87.5M unknown
/dev/mmcblk0p25 2498594   3112993    614400   300M unknown
/dev/mmcblk0p26 3112994   4161569   1048576   512M unknown
/dev/mmcblk0p27 4161570 483327966 479166397 228.5G unknown

可见EMMC中有27个分区,这个分区如果不清楚内容的话千万不要动,uboot和设备树之类的就在这些分区。

df -h

由于我的已经改好了,懒得改回去,因此借用网友的图:
664079045e6ce7656.jpg_e1080.jpg
正常25号分区是没有使用的,这里不知道他为什么挂载了,我们不管。

  1. 修改overlay位置

由于我想将27分区用于swapsamba,不想在其中有多余的文件,因此我选择将overlay改到25分区。
如果你和这位网友一样25分区已经挂载了,那么就参考原文章操作,我在文章结尾会给出链接。
如果你和我一样,25分区没有挂载,那么就按如下命令操作:

格式化P25分区:

mkfs.ext4 -F /dev/mmcblk0p25

手动挂载P25

mount /dev/mmcblk0p25 /mnt/mmcblk0p25

拷贝overlay分区文件到P25分区:

cp -r /overlay/* /mnt/mmcblk0p25

检查是否拷贝成功,输入下面的命令回车看到lost+found upper work文件夹,说明拷贝成功:

ls /mnt/mmcblk0p25

生成挂载文件:

block detect > /etc/config/fstab

p25分区挂载到overlay路径:

sed -i s#/mnt/mmcblk0p25#/overlay# /etc/config/fstab

把原来的overlay路径取消链接:

sed -i '12s/1/0/g' /etc/config/fstab

重启完成修改。

开启swap

在内存不足的时候,系统会用swap文件扩容内存,运行如下命令创建swap文件:

dd if=/dev/zero of=/mnt/mmcblk0p27/swapfile bs=1M count=102400
mkswap /opt/swapfile

创建开机脚本如下:

vim /etc/init.d/swap

粘贴:

#!/bin/sh /etc/rc.common
START=99
start() {
    swapon /opt/swapfile
}
stop() {
    swapoff /opt/swapfile
}

使swap开机启动生效:

chmod +x /etc/init.d/swap
/etc/init.d/swap enable

参考文章:
京东AX1800Pro最佳实践折腾记
京东云AX1800 PRO亚瑟openwrt玩机第一弹:扩容软件空间并安装Alist网盘神器