最近买了个很火的路由,京东AX1800Pro,刷机神器,这篇文章记录一下改造过程的最佳实践,也是对用openwrt这么久以来的一个简单总结。
京东亚瑟AX1800Pro是一款用来挖京豆的PCDN路由器,现在各家ISP对滥用PCDN处罚越发严格,甚至是有可能导致封网,但并不妨碍刷机后干掉原路由器系统,并大大扩展路由器的功能。
正好实验室没有科学上网环境,虚拟机添加代理太麻烦,但又不太有空间实现我一贯使用的AC+AP,于是使用这台路由器实现透明代理及内网的隔离和转换。
刷机
这部分网上有各种版本的教程,很详细了,而且我买到的是已经刷好的256g版(才120!!),就简单说几句、放几个连接吧。
iStoreOS是一个修改版的openwrt系统,在原系统上做了一定的优化和bug修复,亚瑟的路由iStore固件可以在这里下载,在uboot中刷入用factory
包,在iStoreOS中刷入用sysupgrade
包。
- ssh刷机(适合2204以前版本),刷CDT
- 2204以后版本刷机
京东云AX1800 Pro亚瑟超神!免拆开启SSH刷机&看这一篇就够了
另外根据其他人的情况,这个机器内存太小,运行起来很容易出现OOM问题(暴内存),虽然加SWAP
可以解决问题,但是运行速度还是会很受影响,所以强烈推荐改到1G的内存。
但我暂时没遇到这个情况,可能是我把没用的功能插件全部移除同时只用了passwall2
这一个插件的原因。另外我发现此系统内存占用确实比lede高一些:
自编译lede:
iStore in AX1800:
差不多高了100M的样子,看看后面有没有时间编译一下ipq6000的固件吧。
扩容overlay分区
拿到手发现overlay
分区只有4.5M,完全装不了插件。
解决这个问题的方法有两种,第一种是刷大分区表,这个相当于把电脑C盘空间直接调大一些,就有空间安装软件了;第二种就是不改变分区大小,想办法把软件安装到空间更大的D盘或E盘。
第一种方法看似一劳永逸,但存在以下弊端,第一风险大,操作不当有变砖风险,第二切换不同固件需要来回更换分区表或手动调整分区。比如你刷了大分区想刷回京东云官方固件的话,需要把分区改回才能刷。所以小白用户更建议用第二种方案,风险小,切换固件容易。下面我们就介绍下第二种通过扩容overlay
分区的方法实现把软件安装到空间更大的分区的操作步骤。
- 查看当前分区表
终端输入:
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
由于我的已经改好了,懒得改回去,因此借用网友的图:
正常25号分区是没有使用的,这里不知道他为什么挂载了,我们不管。
- 修改overlay位置
由于我想将27
分区用于swap
和samba
,不想在其中有多余的文件,因此我选择将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网盘神器