Openwrt设置开机启动
设置开机启动原理
/etc/init.d目录下面就是系统加载的开机配置
每个配置可以设置START优先级,数字越大启动越靠后,如果有很多需要依赖网络或者USB之类的启动程序最好设置靠后一些,等其他程序启动了再启动。
系统读取etc/init.d/下的启动配置文件后,系统会根据start优先级,按照顺序执行每个文件的start()函数中的命令。
下面为myapp添加开启启动,myapp的路径是/mnt/sda1/myapp
vi /etc/init.d/mystart
输入以下内容
#!/bin/sh /etc/rc.common
START=99
start(){
/mnt/sda1/myapp
}
stop(){
/mnt/sda1/myapp -s
}
restart(){
/mnt/sda1/myapp
}
然后保存,退出
cd /etc
chmod -R 777 init.d/mystart #设置权限,否则无法激活开机启动,提示权限不足
/etc/init.d/mystart enable #激活开机启动,这里有可能出错,是因为win下面的文件有换行符,要在Linux下面用vi再编辑一次就可以了
/etc/init.d/mystart start #运行start函数启动程序
golang程序
要运行golang程序,openwrt这里主要配置fpu就可以运行了,openwrt要配置fpu的话要重新编译系统,在编译源码之前配置:make kernel_menuconfig->kernel_type->MIPS FPU Emulator 空格使能,然后保存编译就可以了。
至于golang要编译mipsl的可执行文件的话,就要在win开发好之后编译的时候用命令行编译:
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=mipsle
go build main.go
$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 |
windows |
386 |
windows |
amd64 |
solaris |
amd64 |