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

2022 年 3 月 20 日
 LxnChan

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

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

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

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

Padavan 是 arm 還是 mips ?
下載對應的 arm 或 mips gcc ,拷貝到 padavan 裏面,直接在路由器上編譯,儲存容量不夠就直接掛在外面 u 盤裡面,內存不夠就在 u 盤裡面建立一個 swap 文件,並通過 swapon 增加到內存。
Damn
2022 年 3 月 20 日
@LxnChan jq 还是可以的,我确定,我搞的就是 jq 。
我当时还在 github 问 hanwckf 如何添加 openssl binary 的问题,回复说 CONFIG_FIRMWARE_INCLUDE_OPENSSL_EXE=y 就行了。
mt7620
2022 年 3 月 20 日
ysc3839
2022 年 3 月 20 日
LxnChan
2022 年 3 月 20 日
@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