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 |