Openwrt笔记4 ssh和交叉编译
打开openwrt的ssh功能
直接上图:
然后就可以使用MobaXTerm打开ssh了
openwrt的交叉编译环境搭载
- 先在openwrt的官网https://downloads.openwrt.org下载相应的sdk或者自己进行编译,sdk里面已经包含了编译工具链
- 解压出来,并进入bin目录:cd OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin
- 有可能要下载环境 sudo apt-get install ccache
- 修改环境变量(最重要):
1)输入sudo gedit ~/.bashrc
2)在打开的文件的末尾添加下面的代码:
PATH=$PATH:/path/OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin
export PATH
export STAGING_DIR=/path/OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2
export PATH=$PATH:$STAGING_DIR/bin
注意,这里的path必须修改为你的安装目录,假如我放到Desktop下面的目录就是:/home/david/Desktop/…
3)使环境变量有效就行了:source ~/.bashrc
- 直接使用工具编译c代码:mipsel-openwrt-linux-gcc hello.c -o hello
- 编译出来的文件就可以直接在openwrt里面执行了: ./hello(如果没有可执行权限的话需要执行chmod 777 hello去添加权限)
openwrt打包ipk
上面的编译环境搭载好了之后,我们需要把可执行文件打包成ipk文件,这样就可以更加方便的安装到openwrt系统当中了。
我们需要在sdk/package里面新建工程目录,helloworld,具体步骤请参考:<blog.youkuaiyun.com/yicao821/article/details/45484239>
这里需要注意一下,makefile里面每一行的后面的空格需要删除掉,不然会出错,我目前就遇到过:…has both: and :: entries这样的错误,
遇到的时候需要把空格删掉后,如果没有下载ccache的安装一次应该就没问题了
然后把ipk传到开发板上,使用命令:opkg install xxxxx.ipk,然后直接运行输入:xxxxx就可以了。
另:单独make某个package需要用到指令:make package/helloworld/complie
linux下编写批处理文件
- 可以学习一下shell,bash编程
- 直接建立一个文件,里面编写各种需要执行的指令,指令之间用;分开,不要换行,也不要有空行,保存,然后使用sh 文件名 执行.