前言

想玩openwrt了,听说极路由4刷openwrt难度较低,于是就有了这个

安装Breed

下载地址 下载breed-mt7621-hiwifi-hc5962.bin

离线root

  1. 获取local_token, 第一个框就是(刷新会变)

  2. 获取uuid,找到名字叫uuid的键,值就是uuid(固定的)

  3. 获取cloud_token,之后回到local_token获取的页面,填入第二个框,之后提交。如果出现Success: ssh port is 22,说明成功

  4. 用ssh登录路由器,ip是192.168.199.1,使用以下指令开启永久ssh

    /etc/init.d/dropbear enable && /etc/init.d/dropbear start
    

刷入,配置Breed

  1. 上传下载的breed安装文件(.bin)

    scp breed-mt7621-hiwifi-hc5962.bin root@192.168.199.1:/tmp/breed.bin
    
  2. 刷入

    mtd write /tmp/breed.bin u-boot
    
  3. 之后重启路由器,完成后拔掉电源和网线,按住reset键的同时插上电源,等待5秒,看到指示灯连闪几下后松开,之后用网线插上电脑

  4. 192.168.1.1 进入breed,在固件备份选项中备份好eeprom和编程器固件

刷入OpenWrt

下载地址,选好版本之后进入ramips/mt7621/ 之后下载hiwifi_hc5962-squashfs-factory.bin(固件)

  1. 进入breed,选择固件更新点击固件更新的选择文件,选择下载的固件,之后点上传,上传完毕后更新

  2. 等待ip获取完成,之后重新进入后台

    默认地址:192.168.1.1

    默认账号:root

    默认密码:password

  3. 防止ip冲突,可以通过以下方式修改路由地址

    uci set network.lan.ipaddr='<新地址>'
    uci commit network
    uci delete dhcp.lan.dhcp_option
    uci add_list dhcp.lan.dhcp_option='6,<新地址>'
    reboot
    
  4. 配置网络

    • 配置DNS

      因为我这里的网比较特殊,需要配置一下dns才能用

      在Network->Interfaces中找到lan,点击edit,Advanced Settings->Use custom DNS servers,填入114.114.114.114,之后再添加8.8.8.8,最后点击save保存

  5. 换源

    sed -i 's_https\?://downloads.openwrt.org_https://mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf
    opkg update
    

    这个源还包含版本号和架构,最好使用上面的指令换,最开始我就是没注意直接复制别人的配置导致无法正常更新

    每次安装的时候安装不了就试试opkg update

  6. 安装中文语言包

    opkg install luci-i18n-base-zh-cn
    

    之后刷新网页,就会变成中文了

  7. 设定wifi

    • 网络->无线,radio0下面的是2.4G的wifi设定,radio1下面的是5G的wifi设定,点击编辑进行设定
    • 无线安全里可以设定密码,加密选WPA2-PSK
    • 设定后点击编辑旁的启用打开wifi

基础安装完成

主题

luci-theme-argon

预览

  1. 安装依赖

    opkg install luci-compat
    opkg install luci-lib-ipkg
    
  2. 这里下载主题的ipk

  3. 在管理页面的系统->软件包里上传ipk文件,之后安装

  4. 之后在系统->系统->语言和界面里选择argon主题,完成

其他

OpenWrt升级

依旧是上文中的下载地址,下载hiwifi_hc5962-squashfs-sysupgrade.bin

  1. 进入管理页面,系统->备份与升级
  2. 刷写新的固件->选择下载的固件->上传
  3. 验证sha256,防止之后刷入错误固件,之后点击继续
  4. 升级完成,重新配置

使用usb存储设备扩容

这里分区格式使用ext4分区

  1. 给usb设备分区,使用ext4,第一个分区作为openwrt的根目录分区,这里不再阐述

  2. 使openwrt支持usb拓展

    opkg install kmod-fs-ext4 block-mount kmod-usb-storage
    
  3. 复制当前根目录的所有文件到设备的根目录分区

    mkdir /mnt/udisk
    mount /dev/sda1 /mnt/udisk
    mkdir /tmp/root
    mount --bind / /tmp/root
    tar -C /tmp/root -cvf - . | tar -C /mnt/udisk -xvf -
    sync
    umount /tmp/root
    

    命令的含义:

    创建下面设备分区要挂载的目录

    将设备中要作为根目录分区挂载到 /mnt/udisk

    创建一个临时目录,用于拷贝根目录文件

    将当前根目录以 bind 的方式挂载到临时目录,此时临时目录里可以看到和根目录一样的文件

    将临时目录的内容打包并解压到 /mnt/disk,tar 用于保留文件的属性信息

    将所有缓存写入 ROM

    取消挂载

  4. 将设备分区挂载到根目录

    1. 写入fstab

      block detect > /etc/config/fstab
      
    2. 修改fstab,编辑后如下

      config 'global'
              option  anon_swap       '0'
              option  anon_mount      '0'
              option  auto_swap       '1'
              option  auto_mount      '1'
              option  delay_root      '5'
              option  check_fs        '0'
      
      config 'mount'
              option  target  '/'
              option  uuid    'a1a350d9-cbda-403c-8681-1f88297f80a3'
              option  enabled '1'
      

      只需要修改mount部分,target改成 / (为了挂载在根目录下),uuid改成设备分区的uuid(应该不用改,因为上面的步骤已经生成了),enabled改成 1

    3. 重启

  5. 修改 /var,不再指向 /tmp

    rm /var
    mkdir /var
    cp -r /tmp/* /var/
    reboot
    
  6. 之后就完成了,想挂载其他的盘自由发挥

Syncthing

  1. 安装

    opkg install syncthing
    
  2. 配置服务

    修改 /etc/init.d/syncthing,原本的服务文件并不能正常使用

    #!/bin/sh /etc/rc.common
    
    START=95
    STOP=10
    USE_PROCD=1
    
    PROG=syncthing
    PROG_PATH=/usr/bin/syncthing
    USER=syncthing
    
    start_service() {
        logger -t "$PROG" "Starting $PROG..."
    
        procd_open_instance
        procd_set_param command $PROG_PATH --home=/etc/syncthing
        procd_set_param user $USER
        procd_set_param respawn
        procd_set_param respawn_limit 10 60
    
        procd_set_param stdout 1
        procd_set_param stderr 1
    
        procd_close_instance
    
        logger -t "$PROG" "$PROG started successfully."
    }
    
    stop_service() {
        logger -t "$PROG" "Stopping $PROG..."
        return 0
    }
    
    restart() {
        stop
        start
    }
    

    设置权限

    chown -R syncthing /etc/syncthing
    
  3. 启动服务

    /etc/init.d/syncthing enable
    /etc/init.d/syncthing start
    
  4. 停止服务,设置 /etc/syncthing/config.xml,找到gui部分,address改成你的路由器地址(192.168.1.1:8384)

  5. 重启服务

    /etc/init.d/syncthing restart
    
  6. 之后就可以通过浏览器访问路由器地址:8384,进行配置,完成

我的.stignore