极路由4刷Padavan后改为LEDE Openwrt安装Syncthing搭建私有云

7,361 阅读4分钟

先说原因和结论
原因:Padavan的界面看起来不美丽....
结论: LEDE OpenWRT无线信号好差,不知道什么情况...

刷入固件

一年前将极路由4刷成老毛子Padavan荒野无灯版,过程未记录,也没有备份原厂固件和MAC(MAC可以在路由器背面找到),现在准备再刷Openwrt固件,可劲儿折腾,O(∩_∩)O哈哈~

  1. 准备工作 下载BreedEnter,BreedEnter依赖Winpcap,这个用来中断breed引导,不中断的话,将会继续启动路由器固件,就没法进入breed界面刷固件

  2. ssh登录

  3. 查看CPU型号和固件分块
    cat /proc/cpuinfo |head -n 1

     system type             : MediaTek MT7621 SoC
     

    cat /proc/mtd

     dev:    size   erasesize  name
     mtd0: 00040000 00020000 "Bootloader"
     mtd1: 00040000 00020000 "BootEnv"
     mtd2: 00080000 00020000 "Config"
     mtd3: 00040000 00020000 "Factory"
     mtd4: 00180000 00020000 "Kernel"
     mtd5: 01e80000 00020000 "RootFS"
     mtd6: 00400000 00020000 "Storage"
     mtd7: 05a40000 00020000 "RWFS"
     mtd8: 02000000 00020000 "Firmware_Stub"
     

    注: 写入新的固件后以上固件分块会发生变化

  4. 重写u-boot,不确定breed是否正常工作,为保险起见重刷breed固件 winscp将breed-mt7621-hiwifi-hc5962.bin上传到/tmp目录,ssh到路由器,用户名和密码为web登录的用户名密码 mtd write提示not found,改用mtd_write命令
    mtd_write write /tmp/breed-mt7621-hiwifi-hc5962.bin Bootloader

  5. 运行BreedEnter,点击启动,然后重启路由器,BreedEnter将使路由引导过程卡在breed系统启动后

  6. 刷入你想刷入的固件
    如果提示固件刷入完成就可以等待1分钟左右(安全起见)断电重启机器了,在有多个固件的情况下可能引导有些混乱,进不了想要的固件,可以再次进breed,重新刷入想要的固件,这个时候通过还原固件是不起作用的。

安装Syncthing

  • 准备: 提前格式化为ext4分区的硬盘,接入后会自动挂载,我的挂载在/mnt/sdb1可以在路由界面系统-挂载点上查看挂载位置
    也可以通过opkg update&& opkg install fdisk e2fsporgs安装分区和格式化工具对硬盘进行处理,如果安装这两个工具提示
* check_data_file_clashes: Package libuuid1 wants to install file /usr/lib/libuuid.so.1
        But that file is already provided by package  * libuuid
* check_data_file_clashes: Package libuuid1 wants to install file /usr/lib/libuuid.so.1.3.0
       But that file is already provided by package  * libuuid`

删除/usr/lib/libuuid.so.1/usr/lib/libuuid.so.1.3.0后再进行安装
也可以在系统-挂载点中手动挂载

  • 下载: 在https://github.com/syncthing/syncthing/releases/选择对应cpu的版本,极路由4对应的是mipsle版本 用scp将解压后的文件夹传送到/mnt/sdb1/目录下,并重命名为syncthing,赋予目录下的syncthing可执行权限 连接到/usr/bin目录下
ln -s /mnt/sdb1/syncthing/syncthing /usr/bin/syncthing
  • 开机启动: 打开/etc/rc.localexit 0前添加如下内容设置开机即启动,指定配置文件目录为/mnt/sdb1/syncthing/conf,该目录会在启动后自动生成
syncthing -gui-address="0.0.0.0:8384" -home="/mnt/sdb1/syncthing/conf" -logfile="/var/log/syncthing.log" -no-browser >/dev/null &
  • 开启:将上面的内容复制到终端中执行一遍,开启syncthing
    访问http://[路由器ip]:8384,第一次打开Syncthing后台会提示创建用户名密码创建好后即可愉快玩耍

使用

Android上:

  • 在手机上安装Syncthing,有些手机官方应用市场上下载的syncthing会闪退,可以在apkpure上下载
  • 点击菜单-显示设备ID,将ID添加到Syncthing后台-远程设备上,在Syncthing后台-操作-显示ID,将ID添加到App中的设备里即可,类似互加QQ的过程
  • 点击App中你想同步的文件夹-在编辑文件夹中找到你添加的设备-点击开启
  • Syncthing后台会受到来自手机的同步请求,可以创建同步设置,注意在同步设置常规-文件夹路径时要选择/mnt/sda1/xxx目录

文中所需软件的下载地址

参考

  1. 恩山无线论坛
  2. 晨鹤小站-OpenWrt/LEDE 搭建 Syncthing p2p 私有文件同步服务