首页
社区
课程
招聘
国内手机的“开源”真的是开源吗
2020-9-24 11:26 11027

国内手机的“开源”真的是开源吗

2020-9-24 11:26
11027

如题。拿小米举例,Mi9的内核,按照官方教程编译,编译出来,刷入系统,居然开不了机,首先想到是那些boot.img工具有问题,于是下载boot.img解包打包工具自行编译,查阅相关boot.img资料,对比代码,加入log,验证谷歌代码,没错误,实际运行改了相应参数,最终和boot_info显示的各种信息、地址一模一样。kernelbase改为0(原包也是0),console改为他一模一样的,等等各种调整以后。打开010editor二进制对比,确认修改正确,fastboot刷入手机,发点依旧开不了机。


有点怀疑,这些“国产开源”是真的“开源”吗。这东西编译出来了,刷不进去手机,各种网上下载的工具和自己编译的打包解包工具,包括win的和linux的,打包的boot.img刷入以后都开不了机。以前刷过nexus5x的,nexus5的,都是只要编译出来就能开机。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (32)
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_foyotena 2020-9-24 14:39
2
0
就算开了机, 也可能各种用不了最后发现是开源的内核源码故意留的坑
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-24 15:00
3
0
mb_foyotena 就算开了机, 也可能各种用不了[em_48]最后发现是开源的内核源码故意留的坑[em_13]
+1,我不是专业linux内核的,但是就我直接看到的,就有源码里面故意留的坑,这还不考虑刷,就说代码本身的坑。
雪    币: 47
活跃值: (418)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
GeneBlue 2 2020-9-24 16:46
4
0
kernel 代码可以直接编译?我记得小米的代码是有坑的,编译不过
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-24 16:55
5
0
GeneBlue kernel 代码可以直接编译?我记得小米的代码是有坑的,编译不过
可以编译,但是差点坑死我。。能编译出来。
雪    币: 77
活跃值: (1047)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
neocanable 2020-9-24 23:16
6
0
我遇到过一个dm-verity的问题,也是kernel编译完了,刷进去不行,最后发现是dm-verity不对。
楼主可以对一下。
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_foyotena 2020-9-24 23:19
7
0
neocanable 我遇到过一个dm-verity的问题,也是kernel编译完了,刷进去不行,最后发现是dm-verity不对。 楼主可以对一下。
这个是预期行为,还有很多非预期行为
雪    币: 77
活跃值: (1047)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
neocanable 2020-9-24 23:27
8
0
了解了,怪不得Google说国内对android生态贡献差,小米尤甚!
雪    币: 488
活跃值: (237)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
HBh25Y 2020-9-25 09:46
9
0
哈哈哈哈,果然,我当初编译mi8代码的时候一堆错误,都要手动修。而且有些涉及到的高通驱动代码,小米貌似不会放在自己的源码里面,我写程序的时候,驱动函数报了个错,结果我去源码审的时候,发现整个驱动模块的代码都没放进去。。。不过小米至少开源了,国内某些厂商都没开源自己的源码
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_foyotena 2020-9-25 09:50
10
0
HBh25Y 哈哈哈哈,果然,我当初编译mi8代码的时候一堆错误,都要手动修。而且有些涉及到的高通驱动代码,小米貌似不会放在自己的源码里面,我写程序的时候,驱动函数报了个错,结果我去源码审的时候,发现整个驱动模块的 ...
内核开源是linux协议要求,不然国内厂商才懒得管
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-25 09:53
11
0
mb_foyotena 内核开源是linux协议要求,不然国内厂商才懒得管
这开源还不如不开源。要是就丢一个不能用不能编译的上去,还不如直接把asop的链接放进去,连自己的服务器都省了。。。。。
雪    币: 1205
活跃值: (309)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我是一只马鹿 2020-9-25 14:21
12
0
不要信,内部版本和开源版本是不一样的
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-25 15:01
13
0
我是一只马鹿 不要信,内部版本和开源版本是不一样的

哎,就这开源态度,让人很失望。尤其是最近各种疯吵的“纯国产开源xx系统”,要是就打着“国产”、“开源”的幌子骗人,也是真的太让人失望了。还不如干脆就闭源。然后直接去掉开源二字。然后给国人推广。

最后于 2020-9-25 15:02 被白菜大哥编辑 ,原因:
雪    币: 2676
活跃值: (3451)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
luoyesiqiu 3 2020-9-25 15:41
14
0
boot确实比较麻烦,多次尝试手动解包,再打回去,刷入就开不了机了
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-25 15:48
15
0
落叶似秋 boot确实比较麻烦,多次尝试手动解包,再打回去,刷入就开不了机了
说到底还是某些厂商故意留的坑。同样是开源。人家谷歌手机,只要编译出来就能开机。
雪    币: 2112
活跃值: (5642)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
微启宇 2020-9-25 23:13
16
0

不管国内国外    开源的都只是能开源的部分比如linux内核 gun软件栈   或其他开源的组件   而不能开源的部分是私有代码属于公司或合作厂商的财产是不会开源的除非拿到授权   一个操作系统除了这些开源组件外还有私有的封装和适配代码这些部份国外的几个开源的ROM在没有授权的情况下基本是反编译分析然后根据行为和调用的api自己写   谷歌的亲儿子之所以能没有编程基础就能编译开机   很重要的原因是谷歌提供所谓的"垫片"(中文)的非源码的文件(这样做可以绕过版权限制)而谷歌本不是手机厂赚钱的点也不在手机提供这些有利益自己的系统生态(这步很重要可以培养潜在的合作者毕竟普通人没这功夫也没这能力折腾)     而国内的可都是靠这些源码挣钱的    如果发布没编程基础都可以编译运行的    那很多人只需要硬件部分找人代工然后刷入固件就有自己的牌子手机上市销售    那不等于给自己树立了对手?

最后于 2020-9-25 23:28 被微启宇编辑 ,原因:
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_foyotena 2020-9-25 23:15
17
0
爱我佳鑫 不管国内国外 开源的都只是能开源的部分比如linux内核 gun软件栈 或其他开源的组件 而不能开源的部分是私有代码属于公司或合作厂商的财产是不会开源的除非拿到授权 一个操作系统除了这些开源组件外还有 ...
你应该没看懂大家再说啥
雪    币: 2112
活跃值: (5642)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
微启宇 2020-9-25 23:32
18
0
白菜大哥 这开源还不如不开源。要是就丢一个不能用不能编译的上去,还不如直接把asop的链接放进去,连自己的服务器都省了。。。。。
这样做估计是为了避免法律纠纷
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-25 23:39
19
0
爱我佳鑫 不管国内国外    开源的都只是能开源的部分比如linux内核 gun软件栈   或其他开源的组件 & ...
但是故意留语法错误,这就不地道了吧,我不相信,小米工程师,连c语言基础都不会。
雪    币: 2112
活跃值: (5642)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
微启宇 2020-9-25 23:40
20
0
估计你们理解的开源等于全系统开源 然而开源只是在履行相关的法律条规把能开源的部分开源 在剥离开源代码时肯定会有在别人看来是坑的问题
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-25 23:49
21
1
爱我佳鑫 估计你们理解的开源等于全系统开源 然而开源只是在履行相关的法律条规把能开源的部分开源 在剥离开源代码时肯定会有在别人看来是坑的问题
你还是没看懂,故意留语法错误,甚至故意在该开源的地方,留下错误代码。更有甚者,修改了标准的boot.img结构,导致你用谷歌官方工具拆不开。然后没告诉你结构。
雪    币: 19
活跃值: (1051)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iceway 2020-9-26 13:55
22
0

小米的没编译过,但是华为的基本没任何问题

如果刷了开不了机,建议看看log,找一下原因

最后于 2020-9-26 13:58 被iceway编辑 ,原因: 补充
雪    币: 12500
活跃值: (3038)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2020-9-26 14:15
23
0
iceway 小米的没编译过,但是华为的基本没任何问题如果刷了开不了机,建议看看log,找一下原因
小米8内核,语法错误,比如 rb_debug(“xxxx”,这种缺右括号的都有,我不知道他们工程师怎么编译出来的。当你一个一个修复完以后,编译出来,发现开不了机。。。
雪    币: 53
活跃值: (245)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
netsniffer 2020-9-26 14:18
24
0
推荐用oneplus的手机,海外很多开发者都在用,kernel源码是完全开放的
雪    币: 2112
活跃值: (5642)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
微启宇 2020-9-28 14:53
25
0
白菜大哥 你还是没看懂,故意留语法错误,甚至故意在该开源的地方,留下错误代码。更有甚者,修改了标准的boot.img结构,导致你用谷歌官方工具拆不开。然后没告诉你结构。
我没编译过小米的内核也没用过小米家的任何产品  我只编译过华为 联想 oneplus 这种可以折腾的手机
游客
登录 | 注册 方可回帖
返回