网上看了好多资料发现都很过时了,基本都是用的https://github.com/gomini/go-mips32
编译的。
但是go1.9早就支持mips了,设置好编译参数,开始build,这时在go/pkg下会出现linux_mips目录,就是编译环境,其他的一样。
- GOOS是你的应用程序将要运行平台的操作系统
- GOARCH是你的应用程序将要运行平台的处理器架构。
有效的$GOOS
和$GOARCH
组合如下:
$GOOS $GOARCH android arm darwin 386 darwin amd64 darwin arm darwin arm64 dragonfly amd64 freebsd 386 freebsd amd64 freebsd arm linux 386 linux amd64 linux arm linux arm64 linux ppc64 linux ppc64le linux mips linux mipsle linux mips64 linux mips64le netbsd 386 netbsd amd64 netbsd arm openbsd 386 openbsd amd64 openbsd arm plan9 386 plan9 amd64 solaris amd64 windows 386 windows amd64
1.首先通过putty连接到路由器,看看路由器cpu架构,我这里连接wr720n-v3,如下图,可见该路由器cpu是mips架构
cat /proc/cpuinfo
2.go可以通过GOARCH和GOOS设置编译后程序的运行架构和系统,所以在编译时设置环境如下:
我是在window7下liteide编译,直接加个环境文件(liteide32.1\share\liteide\liteenv\linux32-mips.env):
GOARCH=mips
GOOS=linux
3.golang编写如下代码,直接build,不要run:
package main import ( "fmt" "time" ) func main() { for { fmt.Println("1111") time.Sleep(1 * time.Second) for { time.Sleep(1 * time.Second) fmt.Println("2222") break } } }
4.用WinSCP将程序文件“openwrtTest“放到openwrt系统里面,这里放置到/tmp下,设置文件权限:
chmod 777 -R /tmp/openwrtTest
5.运行文件,顺利搞定。这里如果已经进入tmp目录的话用./openwrtTest
/tmp/openwrtTest
有疑问加站长微信联系(非本文作者)