记MT7621平台刷入OpenWRT

什么是OpenWRT?


安装luci相关

1
opkg install luci luci-base luci-i18n-base-zh-cn

开启sftp

1
2
3
4
opkg update
opkg install vsftpd openssh-sftp-server
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start

opkg 腾讯源

1
vim /etc/opkg/distfeeds.conf

写入以下文字

1
2
3
4
5
6
7
8
src/gz openwrt_core https://mirrors.cloud.tencent.com/openwrt/releases/19.07.2/targets/ramips/mt7621/packages
src/gz openwrt_base https://mirrors.cloud.tencent.com/openwrt/releases/19.07.2/packages/mipsel_24kc/base
src/gz openwrt_packages https://mirrors.cloud.tencent.com/openwrt/releases/19.07.2/packages/mipsel_24kc/packages
src/gz openwrt_luci https://mirrors.cloud.tencent.com/openwrt/releases/19.07.2/packages/mipsel_24kc/luci
src/gz openwrt_routing https://mirrors.cloud.tencent.com/openwrt/releases/19.07.2/packages/mipsel_24kc/routing
src/gz openwrt_freifunk https://mirrors.cloud.tencent.com/openwrt/releases/19.07.2/packages/mipsel_24kc/freifunk
src/gz openwrt_telephony https://mirrors.cloud.tencent.com/openwrt/releases/19.07.2/packages/mipsel_24kc/telephony

luci禁用缓存

编辑/etc/config/luci

1
2
config internal 'ccache'
option enable '0'

重启即可

扩容root分区

安装依赖

1
opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-storage kmod-usb-ohci kmod-usb-uhci e2fsprogs fdisk

查看sd卡信息

1
block info

有类似回显,其中/dev/mmcblk0p1就是sd卡

1
2
3
/dev/mtdblock5: UUID="d1f1302b-91ce24ca-2c74336e-eea51b51" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock6: MOUNT="/overlay" TYPE="jffs2"
/dev/mmcblk0p1: UUID="746ffc51-1f29-2646-b2cb-fc2c03fe3c1a" LABEL="sdcard" VERSION="1.0" TYPE="ext4"

格式化内存卡

1
mkfs.ext4 /dev/mmcblk0p1

将下面的DEVICE换成你的sd卡分区

1
2
3
4
5
6
7
DEVICE="/dev/mmcblk0p1"
eval $(block info "${DEVICE}" | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab

转移数据

如有报错请先查看否自动挂载了sd卡,挂载sd卡时也可能出现如下报错,实测不影响。

报错信息:

1
2
3
4
5
6
root@GL-MT1300:~# mount /dev/mmcblk0p1 /mnt/
NTFS signature is missing.
Failed to mount '/dev/mmcblk0p1': Invalid argument
The device '/dev/mmcblk0p1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

执行以下命令:

1
2
3
mount /dev/mmcblk0p1 /mnt
cp -f -a /overlay/. /mnt
umount /mnt

然后重启

扩展分区前

扩展分区后

单独编译openwrt ipk

先执行

1
make menuconfig 

然后选中相关组件

再执行

1
make package/feeds/luci/luci-base/compile -j1 V=s