Toybrick

RK3399Pro入门教程(3)开发版操作系统的选择

jefferyzhang

版主

积分
12958
楼主
发表于 2019-2-15 10:21:03    查看: 178277|回复: 65 | [复制链接]    打印 | 显示全部楼层
本帖最后由 jefferyzhang 于 2021-6-7 08:51 编辑


有同学纠结于各种嵌入式操作系统如何选择,而且我们板子是双系统启动的,不知道哪个操作系统合适,我们简单分析下目前主流的支持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,记得告诉我们哦。

本帖子中包含更多资源

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

x
回复

使用道具 举报

jefferyzhang

版主

积分
12958
沙发
 楼主| 发表于 2019-2-18 17:25:05 | 显示全部楼层
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/

具体还是多看看官方发布的文档吧,每个系统做法都不一样
回复

使用道具 举报

jefferyzhang

版主

积分
12958
板凳
 楼主| 发表于 2019-2-21 17:13:34 | 显示全部楼层
pecado 发表于 2019-2-21 16:53
强烈建议官方出一个centos版本。相信在用3399pro的同学最终目的都是落地商用的,所以有一个官方稳定版最好 ...

这个曾经我们有出的,结果centos升级7.5后居然把rootfs给删了,我们也很无奈
过段时间我们会出教程教大家如何从官网下centos livecd转rootfs,然后烧写。
回复

使用道具 举报

jefferyzhang

版主

积分
12958
地板
 楼主| 发表于 2019-2-21 18:16:46 | 显示全部楼层
someone9388 发表于 2019-2-21 17:39
最好可以让DOCKER 运行在上面

docker你们可以自己装,一直就可以用的。但是不建议在嵌入式上用docker,你需要映射非常非常多的设备节点才能保证docker里的程序能利用到3399Pro所有功能
回复

使用道具 举报

jefferyzhang

版主

积分
12958
5#
 楼主| 发表于 2019-2-23 17:45:10 | 显示全部楼层
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稳定,我们这个就不提供了。
回复

使用道具 举报

jefferyzhang

版主

积分
12958
6#
 楼主| 发表于 2019-3-27 17:11:14 | 显示全部楼层
eeyeh 发表于 2019-3-27 14:10
请问evb版目前只有android系统. 是否可以通过生成evb版的boot_linux.img, 然后用tb版的rootfs.img, evb的bo ...

evb板是什么?
回复

使用道具 举报

jefferyzhang

版主

积分
12958
7#
 楼主| 发表于 2019-5-8 17:44:10 | 显示全部楼层
sharbob 发表于 2019-5-8 17:32
怎样将系统刷成ubuntu,能发个教程吗

暂不提供教程,建议参考树莓派的教程来做,做出rootfs.img后直接烧入rootfs分区就可以了.
不要认为ubuntu会好用,aarch64板的ubuntu是没有用户界面的
回复

使用道具 举报

jefferyzhang

版主

积分
12958
8#
 楼主| 发表于 2019-5-10 15:37:41 | 显示全部楼层
愿时光对你好 发表于 2019-5-10 11:07
请问官方提供的Android系统,是普通的安卓系统,还是Android things系统呢?

普通的
回复

使用道具 举报

jefferyzhang

版主

积分
12958
9#
 楼主| 发表于 2019-5-15 10:43:17 | 显示全部楼层
愿时光对你好 发表于 2019-5-14 11:30
开发板使用的是普通的Android 8.1系统,而不是Android things系统,那么需要动态授权吗?是不是只需要在And ...

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

使用道具 举报

jefferyzhang

版主

积分
12958
10#
 楼主| 发表于 2019-5-21 14:42:06 | 显示全部楼层
愿时光对你好 发表于 2019-5-21 14:34
你好,我买了一个耳机插口的麦克风,:https://detail.tmall.com/item.htm?spm=a1z10.1-b.w6876666-7252870 ...

这个需要你了解下3段耳机和4段耳机接口的区别,toybrick支持的是苹果耳机的4段接口规范,要是你的麦克风输入触点不是在MIC引脚,那肯定是无法使用的。可以自行做个转接头来解决问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


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