宽带技术网

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 429|回复: 8

烽火HG6201M交叉编译transmission成功!!

[复制链接]
发表于 2020-4-13 17:49:54 | 显示全部楼层 |阅读模式
本帖最后由 beiwjk 于 2020-4-13 20:46 编辑
5 Q0 w6 {8 x* z" F0 U4 z4 U. b! g& W5 R/ }4 R4 B7 B) R9 F
我家本来wifi是靠二楼的路由器的,后来发现光猫可以发射wifi,没想到三楼的光猫信号比二楼的wifi还好!!
' ~0 m1 k' X/ `8 y& q) k& {, Q( t自从看到了这个光猫的账号密码,而且光猫带usb接口,登进去发现内存和cpu都很不错,而且自带samba文件共享!!顿时我对这款光猫就陷入了无尽的崇拜

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2020-4-14 15:51:48 | 显示全部楼层
discuz这辣鸡,好像emoji后面的所有字都会消失,无语,我发个帖子不仅卡死,还发不出来昨天我发帖保存草稿,然后再修改再保存草稿的时候直接进入审核了!!难道discuz的bug全被我踩了??1L本来是这里的内容的,但因为我加了一个emoji就后面的字都没了!!!
7 G8 @: g4 A$ r我家本来wifi是靠二楼的路由器的,后来发现光猫可以发射wifi,没想到三楼的光猫信号比二楼的wifi还好!!' U" W* o' y1 g
自从看到了这个光猫的账号密码,而且光猫带usb接口,登进去发现内存和cpu都很不错,而且自带samba文件共享!!顿时我对这款光猫就陷入了无尽的崇拜,甚至想再买一块来当开发板玩。
  v2 c0 B# V7 D$ b9 a! A) L5 B- T( h
最近用惯了samba共享硬盘做nas,而且手头刚好有一个功率更大的和光猫电源相同dc头的12v电源,也不用怕硬盘供电不足了哈哈哈。正好硬盘盒有多,直接一个usb接上去。1 Q% J1 z+ A; w$ \1 O. e3 R

2 [. O' W* d; c1 nbt做种本来有很多大文件,我用fat32的文件系统被4g的限制卡住肯定不行,我直接接我的硬盘,NTFS分区不能识别,我就想着编译一个ntfs-3g进去,但是后来没想到这光猫居然支持ntfs!!只不过不支持GPT的分区表,我改成MBR的分区表就成了,插上去自动识别!!连接后自动挂载到/mnt下,usb1_n这种格式!!不过没想到它似乎不支持ext系列文件系统。
0 {, k7 x1 ^' [, Y0 z
8 g$ A( _' T, S' D; k% {# |接下来就是编译transmission了,为了transmission,还要编译各种它的依赖,curl,openssl什么的。openssl的动态库在光猫里有,但是因为没有头文件不能用在transmission里。。。我只能从头开始,先想办法安装旧版本的gcc,然后还不能直接上最新版本,各种挑选合适的旧版本,编译zlib,openssl,curl,libevent,百度解决各种报错,最后终于编译出来了transmission。而且我想着有了curl就可以自己写脚本搞ddns了!最近光猫有了ipv6,这样我无论在哪里都可以访问我的NAS了哈哈哈(后来发现这个ipv6虽然是公网的,但经常ping不通,无语。不知道为什么,可能移动的ipv6的路由没做好?)- ^. }2 |1 x3 [* _- a
然而我高兴得太早了,一运行curl就说invalid instruction。依赖curl的transmission也是,会报错不能运行。现在看感觉可能和openssl没选好架构,没加-mtune 34kc这个编译选项有关系。0 P# |# t: n1 K) R9 W6 T
最简单的交叉编译还是GO语言的,windows下一个环境变量就搞定了,可以直接放过去跑。
' r2 Z; w- H! q8 F: C( k4 W7 U9 `- x. m; M
最后我还是失去了兴趣,入了openwrt的设备做nas。) d$ @7 v1 E) b0 y0 A; t

1 P* G5 v5 W/ h% h0 C1 S, G之前了解到buildroot这个东西,听说它先要编译一个gcc,再用新的gcc去编译libc,整个linux系统等等东西,感觉它编译的太多了会很麻烦,没想到这才是真正方便的方法啊!!!这几天搞了一下,很容易就成功了。然而我已经买了其他设备做nas了。只能希望能帮到其他想拿这个光猫做NAS的人吧。7 J2 ^1 b# Q2 C  F  J& O
- ~" S1 j1 p4 s% T! I1 u
这光猫的web端用的是java,印象里java是很大一个,很占内存的,它居然能跑起来,虽然不知道是不是标准版的。而且这光猫的cpu使用率感觉从来都是20%以下,一般只有个位数。内存好像也挺大的。我之前网有一段时间很卡,而且光猫的samba也,就一直在怀疑是不是光猫,后来发现是蓝牙, I" ?/ [- p7 `' C' h) q% s( Q

/ p% L, }8 A0 w, g. \) H------------光猫相关信息------
9 u. }$ f# `4 x  n# Jhttps://www.right.com.cn/forum/thread-783839-1-1.html7 }4 J. Y0 i' N  W; Q
光猫各个挂载点都满了,几M的空间都没有,除了/osgi目录,大概有50M的空间?不记得了。编译好的东西可以放在这里或者直接放在挂载的硬盘或者优盘上面。/ N% w0 m" v; X* q7 M- ]' D

/ G$ r$ I; ?: \% |4 t" ?在根目录下面到处翻,还是能找到很多他们开发系统的信息的,要是没找到他们用的buildroot和linux内核版本,我可能就不会搞这个编译了。
2 [3 }" s& K) l" F+ N: r# X! l' H: l1 s( e% L% H% F. x3 G
好像是MTK的什么CPU,没有什么路由器用同款。
* Z9 l4 E  E1 j( Q+ d6 ?光猫是MIPS架构 大端序 mips32v2 34kc架构+ h; \1 e4 y( @, \4 ~
" b; ~# T% |9 s6 ?% |" f' b
下面是翻到的一些关键信息:
- n0 }; q3 T) n7 d8 S* I1 }2017108-SmartHG_MTK7526_Engineering_CMCC-coverity$ ?" M% |* x- P+ Z* u
Linux (none) 2.6.36-svn159641 #15 SMP Thu Nov 2 10:18:12 CST 2017 mips unknown+ i0 C9 p$ E% b( P: D
mips-linux-glibc-4.9.3* s" F- |' I) W( q. V( s
proj/mtk04854/glibc-4.9.3/buildroot-2015.08.1/output/build/glibc-2.20/build/csu/start.o7 m$ q" h- _; }2 j

) H0 Y: N, `0 }& p) w( C: I4 w+ j

2 D8 X6 ^8 m' z3 f+ T9 ]--------编译过程------------* v) d$ I5 T( S
我顺便上传下我的build-root的.config文件。) |6 ^# R8 [1 }- r+ }
用别人的二进制文件确实不好,万一被下了毒呢。不过我还是把我编译好的上传一下,毕竟自己之前也想下载别人编译好的。* k& @4 T2 l4 M+ z3 {
总之用ubuntu,去buildroot官网下载2015.08.1的版本,然后解压,把.config文件覆盖进去,就可以编译了。主要是选择对mips32,再选v2架构,toolchain里选2.6.36内核头文件
8 A0 O' I+ ?# e# _如果选glibc-4.9.3,它要求动态编译,我想了想还是选了静态编译,用uglibc,反正静态编译不需要加载库,这个版本不一样没关系。! q9 u$ u) q2 b1 q, v" V
gcc里面我勾选了c++支持和宽字符支持(不选宽字符可以少一个报错),nano需要宽字符。然后再勾选想要的包。直接选transmission,我还选了nano,vi一直懒得学用得不习惯。然后看什么顺眼就选了什么。我瞎选了很多包,导致要下载很多东西。
, z4 A2 ]+ z. u* X0 o8 K& S还有一个地方选并行数,根据cpu线程数选吧,我选了8。类似于make -j8吧。9 T; |8 u" T: w% r2 @  @
buildroot真是强啊,想要什么包选什么包3 n' ]# G" [3 I. U% a
或者把我上传的.config文件放到目录下,相当于使用我的配置了,可以看着上面的图片在配置里删。然后直接make。
! t' o! s6 u' `0 W9 o) Q接下来就是解决下载国外网站的网速问题了。可以考虑先全部下载好放到dl文件夹里面。省的卡在那里。不过这些源码包都挺小的。
' g) v5 c" E. ?# Z( h. o或者有条件的直接proxychains -q make: W7 S6 X% r+ K5 b! c/ ?) v

# H2 K$ W( z9 g/ G3 u  i. J这里会遇到几个报错,直接按顺序给出对应的解决网址:大家见招拆招吧
1 p# Y7 p5 p6 P3 I$ H1 f2 a4 h/ J' \6 S+ B9 o( _' g2 f
1. 一开头就遇到的host-m4什么的错误& T9 x0 l1 }% Q8 r; w$ Z& [
https://blog.csdn.net/Jun626/article/details/1048704303 b/ x/ [% B6 C0 a1 [; r2 |* `
2. uclibc的宽字符的报错(不选宽字符就不会有吧):7 @1 k) |  r/ g( ]% d3 M
https://dev.archive.openwrt.org/ticket/13095.html
% Q' q1 P2 o; M3 p! [& t$ M5 r这个需要下载patch打patch -p1% C7 ^& V; X6 G) y- z( P
3. gcc-final的/ R( y* h0 C. C4 [: \# P9 r5 w
https://unix.stackexchange.com/questions/335717/how-to-handle-error-compiling-gcc-4-7-0-using-gcc-6-2-1. d3 i- P- }8 U' u' o/ h
; s. R( ~3 q6 K7 o2 T* s0 b0 r8 H* }

: t. m; R7 v+ I* T! f我编译了算是2.5次,一次是编译的动态库,顺便也发出来吧,后面又觉得要选宽字符。大概率不会遇到什么其他的报错了。
+ s2 Y5 p% A+ I. w: w跑起来挺快的。不包括解决报错的时间只花了半小时不到。3 N+ x9 v- `0 s, q- z8 R

. N! d$ x, i! p2 i--------光猫的samba-------
( h2 D6 ?) H- r2 ops一下就可以看到运行的smbd的路径,也可以找到改密码的smbpasswd。这里的用户好像要和linux系统中的用户对应,但是不好创建用户,所以推荐使用root用户,好像是smbpasswd-aroot然后就可以设置密码。然后在配置文件里面允许下root登录。因为感觉不设密码还是不安全
* E' d% e! O) r1 A  d- p$ K, o
下面贴出我光猫samba的配置文件。之前配的时候看日志发现不能设置charset,因为编译的时候就不支持其他charset。我也不记得改了哪里了,应该能用吧
5 e- t1 a0 c& X" T' Y/ @```. X: B5 d3 m' M+ H0 }
[global]
, |( u9 z9 k! d8 Gsmbpasswdfile=/flash/cfg/app_conf/samba/smbpasswd
4 x4 c" S8 _4 B: V3 q1 uworkgroup=WORKGROUP
6 i( {* o! s" v" ]guestaccount=root! ~! A6 C0 C+ n& I8 y2 z! N4 B- q
netbiosname=Fiberhome-samba_test
9 W& [0 Q3 `# Rserverstring=SambaServer* |/ T$ L. R. S3 |& u
dnsproxy=no: ~. J6 P; F0 |$ ^; W8 {
#displaycharset=cp936
' C( m0 k8 j- e7 A  M) p# v#unixcharset=UTF-8: Y: J% R/ p$ n: E2 L7 [
#doscharset=cp9369 V1 x  n! k0 H
loglevel=05 A: |6 X, w) @
logfile=/dev/null
6 a' ?: x& F$ `# s8 Y- Qinterfaces=0.0.0.0/0[::]/0
% M1 J' I9 s( D% t4 J; J8 vloadprinters=no
  n* r/ `* P( P$ Z! [security=user' k+ W: z3 X* `1 J. d
socketoptions=TCP_NODELAYSO_RCVBUF=65536SO_SNDBUF=65536' c& @  P4 f# I1 R
usesendfile=yes& @5 k$ f: P7 a! ?- ]. u. Y% |: P, M
deadtime=5) [6 r2 m# ]7 ~! b  z# `$ E* e
[usbshare]
: |: a1 k' ^; K; a0 acomment=AllStoragedevices" h6 c2 Y7 r. _0 i
forceuser=root! e8 N, U9 o0 s& W
forcegroup=root
9 V. w6 k. }% S  r9 }public=no
  g5 Z2 Z% l3 J" y' [% e% |2 jwritable=yes
: M- `/ B" W! Mbrowseable=yes
; _! k9 @- H7 i& P1 J5 J```
, J, t" u+ r4 I9 U6 b
: h  ?9 N( U: j- @( H* M1 @8 f. b2 N6 _# q5 E8 i9 A& v
-----------! f& D+ P3 S, i0 a8 r, s" k0 i
其实这些编译的东西我没有全部测试,毕竟已经买了openwrt做NAS,我就用了下curl是正常的,使用https需要设置-cacert到旁边的etc/ssl/certs/ca-certificates.crt。感觉应该能用,不会真的打脸翻车,又报invalid instruction吧,不过跑transmission需要自己搞一个配置文件,启动的时候设置好配置文件夹的路径。9 h5 z' \7 k. V+ N/ Q
顺便还编译了nginx* O: D# P* a  ~
建议使用前做好备份,万一误删了什么就不好了。
- L8 f' N  Z& L0 L, A- ~- \这里都是静态编译的,直接把想要的复制出来放到优盘里,再插上光猫,开启telnet进去启动。比如transmission-daemon复制出来,在旁边的文件夹放好配置文件,启动的时候加上参数。( X4 Y2 |" v/ _5 V, p4 V. G0 ?
可以加上自己的开机启动脚本。开机自动启动一下transmission,然后再自己写个ddns脚本更新ipv6地址。参考:https://hotfeel.me/?p=1194 x# g* Q- u- _

3 S0 x! X6 s! T. E8 E) G
! C9 g: L) j, y/ Q
5 e8 f9 C8 L3 |% s. `; f1 ]: t$ E

点评

光猫 路由器等,linux 嵌入式系统,想***  发表于 2020-4-16 08:30
发表于 2020-4-14 09:51:03 | 显示全部楼层
楼主的编译链能分享下吗
 楼主| 发表于 2020-4-14 15:38:41 | 显示全部楼层

2 I8 M: J( @; H% M. S, [我家本来wifi是靠二楼的路由器的,后来发现光猫可以发射wifi,没想到三楼的光猫信号比二楼的wifi还好!!
; J$ s' H  a# l$ q自从看到了这个光猫的账号密码,而且光猫带usb接口,登进去发现内存和cpu都很不错,而且自带samba文件共享!!顿时我对这款光猫就陷入了无尽的崇拜
 楼主| 发表于 2020-4-14 15:43:58 | 显示全部楼层
这discuz怎么回事,
 楼主| 发表于 2020-4-15 10:54:00 | 显示全部楼层
这帖子有人看吗( {5 q' h% R, C8 _6 U! g
不会真的没人看吧。/(ㄒoㄒ)/~~
发表于 2020-4-15 19:01:04 | 显示全部楼层
技术贴,路过
发表于 2020-4-15 19:47:25 | 显示全部楼层
怎么没人看  我是外行看热闹
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|宽带技术网 ( 粤公网安备 44152102000001号 )|网站地图

粤公网安备 44152102000001号

GMT+8, 2020-7-16 22:55 , Processed in 0.027113 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表