如何将第三方的二进制文件编译进 Padavan?

2022-03-20 12:02:17 +08:00
 LxnChan

最近在自己编译 Padavan 固件,因为 hiboy 的版本是在太过繁杂,因此想从 hanwckf 的版本 zi'xing'bian'yi 自行编译一份适合自己的固件。

在编译过程中发现 hanwckf 的版本没有集成 jq ,想自己集成,想问一下大家如何在 Padavan 中集成二进制文件?

(我现在在 entware 下载了 jq 的 ipk ,原理上应该是把里面的二进制文件解压出来然后 chmod 一下就能运行了...吧)

2986 次点击
所在节点    Linux
14 条回复
geekvcn
2022-03-20 12:10:51 +08:00
集成二进制都不需要在编译这块,打包这块加入就行了,或者编译打包完解包加入再打包。或者直接刷完放 jffs2 分区里写个启动脚本跑
geekvcn
2022-03-20 12:13:30 +08:00
二进制能不能直接跑,得看是不是静态编译,而且处理器架构得匹配,如果还有其他依赖肯定跑不起来,但是一般的路由器非内核模块,基本都没其他依赖,二进制文件架构对就能跑
LxnChan
2022-03-20 12:19:45 +08:00
@geekvcn 具体怎么实现呢?我下载好其他的依赖包了,如何在打包的时候加入?这个是仓库: https://github.com/LxnChan/Padavan
geekvcn
2022-03-20 12:43:57 +08:00
@LxnChan 读下 Makefile 就行了
Damn
2022-03-20 14:40:28 +08:00
放到 /etc/storage 就可以重启不丢了。
Damn
2022-03-20 14:41:22 +08:00
@Damn 自己编译过一次,太麻烦。。后来就用这种方法规避了。
icepie
2022-03-20 14:45:11 +08:00
交叉编译一个静态的二进制文件
LxnChan
2022-03-20 15:16:22 +08:00
@Damn 但是依赖不行啊
iAcn
2022-03-20 15:28:52 +08:00
trunk/user 下找一个包参考着改就可以
duke807
2022-03-20 15:57:24 +08:00
除了交叉編譯,還可以考慮直接在路由器上編譯。

Padavan 是 arm 還是 mips ?
下載對應的 arm 或 mips gcc ,拷貝到 padavan 裏面,直接在路由器上編譯,儲存容量不夠就直接掛在外面 u 盤裡面,內存不夠就在 u 盤裡面建立一個 swap 文件,並通過 swapon 增加到內存。
Damn
2022-03-20 15:58:17 +08:00
@LxnChan jq 还是可以的,我确定,我搞的就是 jq 。
我当时还在 github 问 hanwckf 如何添加 openssl binary 的问题,回复说 CONFIG_FIRMWARE_INCLUDE_OPENSSL_EXE=y 就行了。
mt7620
2022-03-20 16:19:06 +08:00
ysc3839
2022-03-20 16:21:17 +08:00
LxnChan
2022-03-20 21:38:53 +08:00
@iAcn @mt7620 @ysc3839 谢谢!已经编译进去了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/841604

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX