记录一下使用orange pi pc运行openwrt的一些过程吧,先看下结果吧
- 串口页面
- 网页系统页面
1、代码获取与编译
先说下开发环境吧,这里我用的是WSL,用的是ubuntu20.04来编译的,现在编译完成的状态新编的话大概就一分钟多的样子(首次编译建议连vpn,不然会有很多依赖包很难搞定)
这里用的硬件:
硬件参数(来自orange pi官网)
下面开始
lede大源码,直接clone就行
https://github.com/coolsnowwolf/lede
之后开始拉一下子仓库
./scripts/feeds update -a
./scripts/feeds install -a
之后就是make menuconfig了(注意窗口要有一定大小,不然会失败)
make menuconfig
大概是这样的
这样选择
这里选择orange pi pc
边境的boot和文件系统选择
之后输入下面命令开始下载需要的包
make -j8 download V=s
下载完成之后就可以开始编译
make -j1 V=s
上面的命令建议首次编译用,后续可以用这个替代
make V=s -j$(nproc)
如果要单独编译某个软件包,例如我这里编译tcpdump
make package/tcpdump/{clean,compile} V=s
2、刷机
编译完之后固件在这里
使用balenaetcher直接刷机。就能把固件刷进去
之后插卡启动这个板子,openwrt就跑起来了,后续可以直接用squashfs的固件来完成升级
在系统这里选择固件进行升级
3、编译自己的软件包
首先,安装软件包是可以装一些自己的软件包的
当然,也可以自己编译,比如如果想编译一个docker,可以先进入make menuconfig
,这里提示用/来搜索
可以大致看到docker是在哪个路径下
保存后可以看到相关配置被开启
编译完成后再安装,固件被安装上
但是如果想编译的包这里面没有怎么处理,例如我如果想编译一个proftpd
,配置文件里面没有,在make menuconfig
里面搜索也搜不到,这个时候就需要自己编译。
一般openwrt采用源码包+makefile的方式来完成编译,源码包放在dl路径下,makefile放在package目录下
这里lede的固件如果是自己的习惯放在lean目录下,这里我们放一下proftpd的(可以去github上参考一些其他项目里面有用到这个package的)
编译过程可能有问题,解决一下就行
编译完成后刷到样机,可以成功看到进程起来了
4、一些问题
有遇到过支持ipv6的问题来着,后面发现lede的固件只要开了ipv6_helper
就行