Toybrick

标题: RK3399Pro入门教程(3)开发版操作系统的选择 [打印本页]

作者: jefferyzhang    时间: 2019-2-15 10:21
标题: RK3399Pro入门教程(3)开发版操作系统的选择
本帖最后由 jefferyzhang 于 2021-6-7 08:51 编辑

[attach]110[/attach]
有同学纠结于各种嵌入式操作系统如何选择,而且我们板子是双系统启动的,不知道哪个操作系统合适,我们简单分析下目前主流的支持ARM的操作系统:

1. Android
    优点: UI开发非常简单,API丰富,接口通用,除了RKNN、RGA特殊的加速单元以外,其他所有的加速单元均可以通过android自带的API操作。兼容性稳定性都最佳。
    缺点: 自身占用了较多的系统资源(例如GPU、RGA),并且编译链(android-gcc)的libc(bionic)特殊,移植一些第三方开源库难度较大。不支持python。
    建议: 如果产品需要UI界面,强烈推荐使用Android作为基础平台,开发周期短,可移植性高。


2. Fedora
    优点: 桌面操作系统,大部分人很熟悉,容易上手。源丰富,开源库可以rpm直接安装,不需要重新移植。也支持python。
    缺点: 官方对ARM支持并不友好,对硬件平台几乎0优化,全部跑在CPU上(PC上也如此)。不适合做产品。UI开发非常麻烦,linux并没有统一的UI框架可用。不要想指望qt,qt的代码量不亚于一整个安卓系统,并且RK对QT是没有官方支持的。
    建议: 如果只是科研学习,用fedora最好,但是不要指望fedora能优化到什么极限,并且python效率其实很低下,发挥不出平台优势。


3. Centos
    优点: 最大优点就是稳定,无UI界面,系统资源最大程度的留给了你的应用。也可以rpm直接安装第三方库,支持python开发。
    缺点: 因为他为了保持稳定,所以系统基础库版本是很低的,例如libc目前还停留在gcc4.8时代,所以如果需要用到c++14新特性,都必须用自己的libc库。
    建议: 作无UI界面的产品非常合适,稳定性高,资源占用低,APP可以利用到3399Pro的全部资源。作为Arm服务器产品也非常合适。


4. Ubuntu
    优点: 开发者多,官方支持丰富。优点同Fedora。
    缺点: 同Fedora所有缺点。并且还多一个缺点,Ubuntu并不是免费的,如果你要做产品,是需要ubuntu官方授权的,需要注册和缴纳ubuntu core的费用。
    建议: 自己科研学习玩玩可以,不建议做产品使用。

5. Debian (目前Toybrick仅提供debian作为linux开发系统)
    优点:Ubuntu的前身,社区版操作系统,无版权,操作命令以及包管理几乎和ubuntu无异
    缺点:同Fedora所有缺点。
    建议:和Feodra相同,熟悉redhat的人可以选择Fedora,熟悉ubuntu的人可以选择debian


6. buildroot
   优点: 自己组合想要的组件,灵活,可自己组装UI平台。资源占用最少,nand空间可以最大程度交给app使用。
   缺点: 不适合新手,UI开发也极其复杂。
   建议: 如果你的产品nand空间非常有限,可以考虑使用buildroot自己建立Linux系统。否则不建议用这个。


7. 其他发行版Linux系统
   其他就不介绍了,看大家自己熟悉程度选择,也要看官方是否有arm的发行版系统。如果能下到arm/aarch64版的rootfs,就可以直接烧入3399Pro运行。
   当然桌面版Linux最大问题就是都CPU渲染,对ARM GPU支持都很差,所以很多人会感觉拖动卡顿、闪屏等问题,都很正常。
   Linux其实都大同小异,优缺点很类似,并无太大区别。当然如果要是找到一个官方支持ARM和Mali GPU非常好的发行版Linux,记得告诉我们哦。


作者: 程子    时间: 2019-2-15 10:37
友情提醒各位同学:如果不需要Android系统,板子拿到手先刷掉那几个Android分区再扩展下rootfs的容量。反之亦然。
作者: aokecloud    时间: 2019-2-18 17:14
不知道哪里可以  获取用于开发板的centos和Ubuntu系统的镜像呢
作者: jefferyzhang    时间: 2019-2-18 17:25
aokecloud 发表于 2019-2-18 17:14
不知道哪里可以  获取用于开发板的centos和Ubuntu系统的镜像呢

百度下很多哦。之前centos有发布做好的rootfs,现在需要自己去生成,简单搜了个教程:
https://www.ibm.com/developerworks/cn/linux/1306_qinzl_squashfs/

下载地址:
centos:https://buildlogs.centos.org/centos/7/os/aarch64/LiveOS/
ubuntu:   http://cdimage.ubuntu.com/ubuntu-base/releases/18.04.2/release/

具体还是多看看官方发布的文档吧,每个系统做法都不一样
作者: aokecloud    时间: 2019-2-18 17:32
jefferyzhang 发表于 2019-2-18 17:25
百度下很多哦。之前centos有发布做好的rootfs,现在需要自己去生成,简单搜了个教程:
https://www.ibm.c ...

谢谢  以后有问题 还要麻烦你
作者: pecado    时间: 2019-2-21 16:53
强烈建议官方出一个centos版本。相信在用3399pro的同学最终目的都是落地商用的,所以有一个官方稳定版最好,不一定所有开发人员都对编译系统非常了解。如果官方能出一个centos版,也会节省大家很多时间。希望版主关注一下,谢谢!
作者: jefferyzhang    时间: 2019-2-21 17:13
pecado 发表于 2019-2-21 16:53
强烈建议官方出一个centos版本。相信在用3399pro的同学最终目的都是落地商用的,所以有一个官方稳定版最好 ...

这个曾经我们有出的,结果centos升级7.5后居然把rootfs给删了,我们也很无奈
过段时间我们会出教程教大家如何从官网下centos livecd转rootfs,然后烧写。
作者: someone9388    时间: 2019-2-21 17:39
jefferyzhang 发表于 2019-2-21 17:13
这个曾经我们有出的,结果centos升级7.5后居然把rootfs给删了,我们也很无奈
过段时间我们会出教 ...

最好可以让DOCKER 运行在上面
作者: jefferyzhang    时间: 2019-2-21 18:16
someone9388 发表于 2019-2-21 17:39
最好可以让DOCKER 运行在上面

docker你们可以自己装,一直就可以用的。但是不建议在嵌入式上用docker,你需要映射非常非常多的设备节点才能保证docker里的程序能利用到3399Pro所有功能
作者: pecado    时间: 2019-2-22 10:11
jefferyzhang 发表于 2019-2-21 17:13
这个曾经我们有出的,结果centos升级7.5后居然把rootfs给删了,我们也很无奈
过段时间我们会出教 ...

谢谢,非常期待!
作者: kitedream    时间: 2019-2-22 16:59
准备刷成Ubuntu的,Fedora实在不太习惯
作者: kitedream    时间: 2019-2-23 15:57
jefferyzhang 发表于 2019-2-18 17:25
百度下很多哦。之前centos有发布做好的rootfs,现在需要自己去生成,简单搜了个教程:
https://www.ibm.c ...

你好,请问为什么默认是Fedora操作系统,而不是Ubuntu?教程上没有给Fedora的相关部署教程啊
作者: jefferyzhang    时间: 2019-2-23 17:45
kitedream 发表于 2019-2-23 15:57
你好,请问为什么默认是Fedora操作系统,而不是Ubuntu?教程上没有给Fedora的相关部署教程啊 ...

1.是因为ubuntu for arm是没有界面,要界面的话全程都得自己装,估计很多人搞不定。
2.是版权问题,之前我们发布sdk用ubuntu就被ubuntu律师函警告了,商业用途我们是不能发布ubuntu的。
3.相比其他操作系统,fedora界面引擎很新,对arm支持更友好一点,字符界面的话centos比较稳定。

可以这么理解:
fedora是redhat的社区版,centos是redhat server的社区版,
debian是ubuntu的社区版,debian的sdk我们也有发布,但是用起来没有centos稳定,我们这个就不提供了。
作者: evolver    时间: 2019-3-14 23:30
kitedream 发表于 2019-2-22 16:59
准备刷成Ubuntu的,Fedora实在不太习惯

同感,我是菜鸟不知道怎么刷,有无教程帮忙发一个给我,谢谢先
作者: kitedream    时间: 2019-3-15 11:46
evolver 发表于 2019-3-14 23:30
同感,我是菜鸟不知道怎么刷,有无教程帮忙发一个给我,谢谢先

刷系统坑太多,已经放弃了
作者: eeyeh    时间: 2019-3-27 14:10
本帖最后由 eeyeh 于 2019-3-27 16:44 编辑

请问evb版目前只有android系统. 是否可以通过生成evb版的boot_linux.img, 然后用tb版的rootfs.img, evb的boot.img和trust.img, 刷成Fedora系统?
作者: jefferyzhang    时间: 2019-3-27 17:11
eeyeh 发表于 2019-3-27 14:10
请问evb版目前只有android系统. 是否可以通过生成evb版的boot_linux.img, 然后用tb版的rootfs.img, evb的bo ...

evb板是什么?
作者: sharbob    时间: 2019-5-8 17:32
怎样将系统刷成ubuntu,能发个教程吗

作者: jefferyzhang    时间: 2019-5-8 17:44
sharbob 发表于 2019-5-8 17:32
怎样将系统刷成ubuntu,能发个教程吗

暂不提供教程,建议参考树莓派的教程来做,做出rootfs.img后直接烧入rootfs分区就可以了.
不要认为ubuntu会好用,aarch64板的ubuntu是没有用户界面的
作者: 愿时光对你好    时间: 2019-5-10 11:06
您好,我使用的是Android系统,请问有没有即插即用的麦克风阵列?能提供购买链接吗?
作者: 愿时光对你好    时间: 2019-5-10 11:07
请问官方提供的Android系统,是普通的安卓系统,还是Android things系统呢?
作者: jefferyzhang    时间: 2019-5-10 15:37
愿时光对你好 发表于 2019-5-10 11:07
请问官方提供的Android系统,是普通的安卓系统,还是Android things系统呢?

普通的
作者: 愿时光对你好    时间: 2019-5-14 11:30
开发板使用的是普通的Android 8.1系统,而不是Android things系统,那么需要动态授权吗?是不是只需要在AndroidManifest.xml 声明就好了。只能家具的授权过程,不可能让用户手动操作吧,应该买回来即可用的那种。
作者: jefferyzhang    时间: 2019-5-15 10:43
愿时光对你好 发表于 2019-5-14 11:30
开发板使用的是普通的Android 8.1系统,而不是Android things系统,那么需要动态授权吗?是不是只需要在And ...

RK没有对外发布Android Things的SDK。

作者: 愿时光对你好    时间: 2019-5-21 14:34
你好,我买了一个耳机插口的麦克风,:https://detail.tmall.com/item.htm?spm=a1z10.1-b.w6876666-7252870703.35.44b66cc30u12Rx&id=16114970652&sku_properties=165354720:6536025
我使用的是Android系统,为什么录取不到声音呢?是不是不支持耳机麦克风的输入呢?
作者: jefferyzhang    时间: 2019-5-21 14:42
愿时光对你好 发表于 2019-5-21 14:34
你好,我买了一个耳机插口的麦克风,:https://detail.tmall.com/item.htm?spm=a1z10.1-b.w6876666-7252870 ...

这个需要你了解下3段耳机和4段耳机接口的区别,toybrick支持的是苹果耳机的4段接口规范,要是你的麦克风输入触点不是在MIC引脚,那肯定是无法使用的。可以自行做个转接头来解决问题。
作者: 愿时光对你好    时间: 2019-5-21 15:24
jefferyzhang 发表于 2019-5-21 14:42
这个需要你了解下3段耳机和4段耳机接口的区别,toybrick支持的是苹果耳机的4段接口规范,要是你的麦克风 ...

我也使用过手机的耳机,也是4段的,可是也没办法录音。只能听到声音,麦克风都用不用了。我使用开发板本身带的麦克风,也使用不了。
作者: jefferyzhang    时间: 2019-5-22 08:58
愿时光对你好 发表于 2019-5-21 15:24
我也使用过手机的耳机,也是4段的,可是也没办法录音。只能听到声音,麦克风都用不用了。我使用开发板本 ...

4段耳机有两个标准,我记得地线位置不一样。
我们支持的是apple标准,如果需要支持其他标准,你们要自己去换座子
作者: 愿时光对你好    时间: 2019-5-22 12:54
jefferyzhang 发表于 2019-5-22 08:58
4段耳机有两个标准,我记得地线位置不一样。
我们支持的是apple标准,如果需要支持其他标准,你们要自己 ...

我是一个Android开发者,不懂硬件。你说的座子是怎么样的?能提供淘宝的购买链接吗?

我用USB麦克风可以的吗?
作者: jefferyzhang    时间: 2019-5-22 14:20
愿时光对你好 发表于 2019-5-22 12:54
我是一个Android开发者,不懂硬件。你说的座子是怎么样的?能提供淘宝的购买链接吗?

我用USB麦克风可以 ...

建议你百度下4段耳机。你可以先用苹果耳机试试
作者: 愿时光对你好    时间: 2019-5-22 16:06
jefferyzhang 发表于 2019-5-22 14:20
建议你百度下4段耳机。你可以先用苹果耳机试试

我用苹果耳机果然可以用的,Android系统的开发板,耳机接口居然是苹果的。

我还有一个问题,就是我的麦克风和音箱都是分开的,而且都是三段的,有没有时候的转接口,能否给个淘宝购买链接。我搜索的都是Android分离的转接口。
作者: 15875649641    时间: 2019-5-22 16:20
我也希望能用一个能落地linux操作系统,但是我这边要用ros,ros Kinetic 默认ubuntu 16.04,也可以选用debian,可咋整呢?
作者: 愿时光对你好    时间: 2019-5-22 17:03
jefferyzhang 发表于 2019-5-22 14:20
建议你百度下4段耳机。你可以先用苹果耳机试试

USB麦克风可以的吗?
作者: jefferyzhang    时间: 2019-5-22 19:48
愿时光对你好 发表于 2019-5-22 17:03
USB麦克风可以的吗?

当然可以咯,只要是标准USB MIC,就可以用
作者: jefferyzhang    时间: 2019-5-22 19:51
愿时光对你好 发表于 2019-5-22 16:06
我用苹果耳机果然可以用的,Android系统的开发板,耳机接口居然是苹果的。

我还有一个问题,就是我的麦 ...

这个因为我们做出去就只能支持一种,做不到全自动兼容,苹果的MIC和地线口刚好和其他4段标准的MIC和地线是反的。
所以大家如果需要其他MIC,只要把对应的引脚MIC和GND两根线对接上就没问题了。
座子淘宝一大把3段4段的,主要看你接线规则而已。
作者: jefferyzhang    时间: 2019-5-22 19:52
15875649641 发表于 2019-5-22 16:20
我也希望能用一个能落地linux操作系统,但是我这边要用ros,ros Kinetic 默认ubuntu 16.04,也可以选用debi ...

其他开发版如何整,我们开发版也一样如何整的,嵌入式开发大家都是一样的,而且我们连uboot、kernel都开源给大家了,不至于移植一个系统都这么困难。
作者: 15875649641    时间: 2019-5-22 20:41
jefferyzhang 发表于 2019-5-8 17:44
暂不提供教程,建议参考树莓派的教程来做,做出rootfs.img后直接烧入rootfs分区就可以了.
不要认为ubuntu ...

树莓派上跑ubuntu,可以通过hdmi,在显示器上看到界面呀?
版主是说 树莓派的处理器不是aarch64吗?
作者: jefferyzhang    时间: 2019-5-22 22:58
15875649641 发表于 2019-5-22 20:41
树莓派上跑ubuntu,可以通过hdmi,在显示器上看到界面呀?
版主是说 树莓派的处理器不是aarch64吗? ...

你们可以把树莓派的ubuntu给弄过来在Toybrick上跑的,我们之前有说过树莓派能跑的我们都能跑,但是ubuntu官方没有授权我们用ubuntu嵌入式桌面系统,我们不能官方发布。
作者: 愿时光对你好    时间: 2019-5-23 16:35
jefferyzhang 发表于 2019-5-22 19:51
这个因为我们做出去就只能支持一种,做不到全自动兼容,苹果的MIC和地线口刚好和其他4段标准的MIC和地线 ...

你说的座子这是要自己接吗?这个我不会。
有没有什么转接口,把RK3399Pro的4段耳机转成两个3段的麦克风接口和音箱接口?有吗,给个淘宝链接,我搜索不到。
作者: jefferyzhang    时间: 2019-5-23 16:38
愿时光对你好 发表于 2019-5-23 16:35
你说的座子这是要自己接吗?这个我不会。
有没有什么转接口,把RK3399Pro的4段耳机转成两个3段的麦克风接 ...

没有的,淘宝只有卖座子,不会给你焊到板子上的。
这个简单的焊接和4个触点定义,建议你还是学下吧。。。。
作者: 愿时光对你好    时间: 2019-5-23 17:09
jefferyzhang 发表于 2019-5-23 16:38
没有的,淘宝只有卖座子,不会给你焊到板子上的。
这个简单的焊接和4个触点定义,建议你还是学下吧。。。 ...

我是一个软件开发者,公司也没有这些设备啊。
我淘宝找到了这个:https://item.taobao.com/item.htm ... p;abbucket=9#detail
应该可以吧,可以的我就叫公司买了。
作者: jefferyzhang    时间: 2019-5-23 20:55
愿时光对你好 发表于 2019-5-23 17:09
我是一个软件开发者,公司也没有这些设备啊。
我淘宝找到了这个:https://item.taobao.com/item.htm?spm= ...

我也不知道可以不可以啊,这都得用万用表量下接线才知道能不能用啊。。。。你先试试吧
作者: 愿时光对你好    时间: 2019-5-27 11:19
jefferyzhang 发表于 2019-5-23 20:55
我也不知道可以不可以啊,这都得用万用表量下接线才知道能不能用啊。。。。你先试试吧 ...

我买了,测试过了,能够正常使用。开始我的AI之旅
作者: brookli    时间: 2019-7-27 10:42
自己刷ubuntu rooffs以后,启动demo程序,显示:
E RKNNAPI: rknn_init,  driver open fail!  ret = -4!
driver不知如何安装?

作者: brookli    时间: 2019-7-29 14:08
hisping 发表于 2019-7-29 08:45
是否安装了rknn-toolkit及相关依赖?

没有,在ubuntu环境下,不知如何安装rknn_tookit和依赖?

作者: wu那w些w年    时间: 2019-8-27 09:51
您好,请问重刷其他系统需要做什么处理吗,我下载了好多个img,烧写完都直接卡死,没有正常进入系统
作者: wu那w些w年    时间: 2019-8-27 09:52
您好,请问重刷其他系统需要做什么处理吗,我下载了好多个img,烧写完都直接卡死,没有正常进入系统
作者: jefferyzhang    时间: 2019-8-27 14:37
wu那w些w年 发表于 2019-8-27 09:52
您好,请问重刷其他系统需要做什么处理吗,我下载了好多个img,烧写完都直接卡死,没有正常进入系统 ...

不需要什么处理啊,分区表和固件要对好就行,用toybrick板子按wiki一步一步操作是肯定没问题的。
作者: wu那w些w年    时间: 2019-8-28 08:50
我用你上面提供的Ubuntu链接,下载了一个,两个系统都是卡死在内核了,起不来
作者: appleUncle    时间: 2019-8-28 09:29
请问怎么安装buildroot系统,buildroot系统的固件从哪下载?
作者: jefferyzhang    时间: 2019-8-28 09:32
appleUncle 发表于 2019-8-28 09:29
请问怎么安装buildroot系统,buildroot系统的固件从哪下载?

我们社区并不提供哦,我们另外一个产品部门有做buildroot,可以联系FAE问问。
不过为什么要用buildroot呢?我们芯片跑buildroot很浪费呢。。
作者: snsxiongjun    时间: 2019-8-29 19:08
标题: 找不到设备No found any rockusb device,please plug device in!
Model: Rockchip RK3399 Evaluation Board
PreSerial: 2
DRAM:  3.8 GiB
Relocation Offset is: f5bd9000
Sysmem: init
Using default environment

dwmmc@fe320000: 1, sdhci@fe330000: 0
Card did not respond to voltage select!
mmc_init: -95, time 9
switch to partitions #0, OK
mmc0(part 0) is current device
Bootdev: mmc 0
PartType: EFI
boot mode: None
init_resource_list: failed to get resource part, ret=-1
init_kernel_dtb dtb in resource read fail
Can't find UCLASS_IO_DOMAIN driver -19
Model: Rockchip RK3399 Evaluation Board
download key pressed... entering download mode...
RKUSB: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x3a3e000
-

作者: zerollzeng    时间: 2019-9-23 19:24
请问一下对archlinux的支持怎么样?arch专门是有arm版本的,不知道你们有没有测试过.具体可以看https://archlinuxarm.org/
作者: jefferyzhang    时间: 2019-9-24 08:11
zerollzeng 发表于 2019-9-23 19:24
请问一下对archlinux的支持怎么样?arch专门是有arm版本的,不知道你们有没有测试过.具体可以看https://archl ...

我们有产品部在做buildroot,但是我们社区是只提供fedora支持的。贵司如果有项目是可以找我们业务洽谈支持的。

这个社区的重点是人工智能和应用开发,并不关注在底层和系统方面。
作者: zerollzeng    时间: 2019-9-27 14:23
用其他的系统的话,是不是没办法用官方的rtsp库?我看了一下这个库是没有开源的,你们只提供了fedora的软件源.
作者: jefferyzhang    时间: 2019-9-27 14:26
zerollzeng 发表于 2019-9-27 14:23
用其他的系统的话,是不是没办法用官方的rtsp库?我看了一下这个库是没有开源的,你们只提供了fedora的软件源. ...

是的,不只是rtsp,所有库我们都不会提供非官方系统的版本。
作者: zerollzeng    时间: 2019-9-27 15:16
jefferyzhang 发表于 2019-9-27 14:26
是的,不只是rtsp,所有库我们都不会提供非官方系统的版本。

其他的库开源了源码可以自己编译这个倒还好,就是rtsp没有开源,所以在其他系统上只能够用ffmpeg之类的来替代咯? 另外我还有一个小问题,怎么看开发板的固件版本,跑rtsp例子的时候崩溃了,看看是不是固件的关系
作者: jefferyzhang    时间: 2019-9-27 15:24
zerollzeng 发表于 2019-9-27 15:16
其他的库开源了源码可以自己编译这个倒还好,就是rtsp没有开源,所以在其他系统上只能够用ffmpeg之类的来替 ...

这个没办法看固件版本,你可以单独看kernel版本和各个库的版本。
我们是把3399pro视为系统和应用分开的。
作者: princeofdream    时间: 2021-1-21 14:17
debian或者fedora有源码吗?我们社区都改了啥?谢谢
作者: Ptolemaeus    时间: 2021-3-11 07:59
现在1126是不是选Ubuntu是最好用的啊?
作者: Bone1    时间: 2021-4-21 22:16
强烈推荐,支持
作者: chengzhang    时间: 2021-6-4 14:19
fedora镜像在哪里下载
作者: jefferyzhang    时间: 2021-6-7 08:49
chengzhang 发表于 2021-6-4 14:19
fedora镜像在哪里下载

不再提供,现在只维护debian10
作者: linuxdog    时间: 2021-12-29 15:30
选Debian无版权!
作者: Edwin    时间: 2022-1-14 16:12
该教程可否用于RK3568的芯片
作者: Demon    时间: 2022-3-30 15:57
debian11可以吗





欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3