4分钟
用极路由4刷OpenWrt
前言
想玩openwrt了,听说极路由4刷openwrt难度较低,于是就有了这个
安装Breed
下载地址 下载breed-mt7621-hiwifi-hc5962.bin
离线root
-
获取local_token, 第一个框就是(刷新会变)
-
获取uuid,找到名字叫uuid的键,值就是uuid(固定的)
-
获取cloud_token,之后回到local_token获取的页面,填入第二个框,之后提交。如果出现
Success: ssh port is 22
,说明成功 -
用ssh登录路由器,ip是192.168.199.1,使用以下指令开启永久ssh
/etc/init.d/dropbear enable && /etc/init.d/dropbear start
刷入,配置Breed
-
上传下载的breed安装文件(.bin)
scp breed-mt7621-hiwifi-hc5962.bin root@192.168.199.1:/tmp/breed.bin
-
刷入
mtd write /tmp/breed.bin u-boot
-
之后重启路由器,完成后拔掉电源和网线,按住reset键的同时插上电源,等待5秒,看到指示灯连闪几下后松开,之后用网线插上电脑
-
192.168.1.1 进入breed,在固件备份选项中备份好eeprom和编程器固件
刷入OpenWrt
下载地址,选好版本之后进入ramips/mt7621/ 之后下载hiwifi_hc5962-squashfs-factory.bin(固件)
-
进入breed,选择固件更新点击固件更新的选择文件,选择下载的固件,之后点上传,上传完毕后更新
-
等待ip获取完成,之后重新进入后台
默认地址:192.168.1.1
默认账号:root
默认密码:password
-
防止ip冲突,可以通过以下方式修改路由地址
uci set network.lan.ipaddr='<新地址>' uci commit network uci delete dhcp.lan.dhcp_option uci add_list dhcp.lan.dhcp_option='6,<新地址>' reboot
-
配置网络
-
配置DNS
因为我这里的网比较特殊,需要配置一下dns才能用
在Network->Interfaces中找到lan,点击edit,Advanced Settings->Use custom DNS servers,填入114.114.114.114,之后再添加8.8.8.8,最后点击save保存
-
-
换源
sed -i 's_https\?://downloads.openwrt.org_https://mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf opkg update
这个源还包含版本号和架构,最好使用上面的指令换,最开始我就是没注意直接复制别人的配置导致无法正常更新
每次安装的时候安装不了就试试
opkg update
-
安装中文语言包
opkg install luci-i18n-base-zh-cn
之后刷新网页,就会变成中文了
-
设定wifi
- 网络->无线,radio0下面的是2.4G的wifi设定,radio1下面的是5G的wifi设定,点击编辑进行设定
- 无线安全里可以设定密码,加密选WPA2-PSK
- 设定后点击编辑旁的启用打开wifi
基础安装完成
主题
luci-theme-argon
-
安装依赖
opkg install luci-compat opkg install luci-lib-ipkg
-
在这里下载主题的ipk
-
在管理页面的系统->软件包里上传ipk文件,之后安装
-
之后在系统->系统->语言和界面里选择argon主题,完成
其他
OpenWrt升级
依旧是上文中的下载地址,下载hiwifi_hc5962-squashfs-sysupgrade.bin
- 进入管理页面,系统->备份与升级
- 刷写新的固件->选择下载的固件->上传
- 验证sha256,防止之后刷入错误固件,之后点击继续
- 升级完成,重新配置
使用usb存储设备扩容
这里分区格式使用ext4分区
-
给usb设备分区,使用ext4,第一个分区作为openwrt的根目录分区,这里不再阐述
-
使openwrt支持usb拓展
opkg install kmod-fs-ext4 block-mount kmod-usb-storage
-
复制当前根目录的所有文件到设备的根目录分区
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
取消挂载
-
将设备分区挂载到根目录
-
写入fstab
block detect > /etc/config/fstab
-
修改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
-
重启
-
-
修改 /var,不再指向 /tmp
rm /var mkdir /var cp -r /tmp/* /var/ reboot
-
之后就完成了,想挂载其他的盘自由发挥
Syncthing
-
安装
opkg install syncthing
-
配置服务
修改 /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
-
启动服务
/etc/init.d/syncthing enable /etc/init.d/syncthing start
-
停止服务,设置 /etc/syncthing/config.xml,找到gui部分,address改成你的路由器地址(192.168.1.1:8384)
-
重启服务
/etc/init.d/syncthing restart
-
之后就可以通过浏览器访问路由器地址:8384,进行配置,完成