openEuler 社区暑期 2020任务详解分类

genedna2020-06-03openEuler 社区暑期 2020献

openEuler 社区 暑期 2020 任务详解分类 ​

openEuler 社区在 暑期 2020 活动中共发布了 102 个任务,涵盖了 Linux 、容器、云计算和编程语言等多个技术栈。参与暑期 2020 活动的同学可以通过阅读本文的深度解析,找到感兴趣和符合自身技术栈的任务,这样可以在申请任务的过程中提高成功率。同时,openEuler 社区在 June 7th, 2020 、June 8th, 2020 和 June 9th, 2020 三天点晚间 19:00 ~ 20:00 间在 Bilibili 进行直播,由相关任务的社区 Maintainer 为大家更为详细的讲解技术点、具体要求等,现场回答同学们的问题。

更多问题可以和本文作者 邮件/Twitter/Telegram 联系:

  • 邮件:eli@patch.sh
  • Twitter: https://twitter.com/genedna
  • Telegram: genedna

相关问题:

  • 任务是必须在 aarch64 架构上完成么?

    在任务的要求中写明需要在 aarch64 架构下完成的,都需要在 openEuler 的 aarch64 架构上验证通过才可以;没有写此要求的任务,由申请者和任务导师协商,以协商结果为准。

  • 在哪里找到 aarch64 的环境?

    可以在树莓派上进行开发,相关内容请参考 https://www.openeuler.org/zh/blog/2020/05/25/2020-05-25-raspberrypi-userguide.html 。华为公司为针对 aarch64 架构的任务赞助华为公有云的鲲鹏计算资源,可使用 openEuler 的镜像用于完成任务开发。在学生申请任务成功后,会由活动组织方统一发放。

  • 任务验收标准不清晰?

    验收标准可以和导师进行沟通,导师会根据沟通情况,提出具体的验收标准。

关于直播活动请大家加入到暑期 2020 学生的微信群,关注微信群的时间通知。

B 站直播计划,房间地址 https://live.bilibili.com/22290444 ​

June 7th, 2020 19:00 ~ 20:00 方亚芬讲解

June 8th, 2020 19:00 ~ 20:00 何晓文讲解

June 9th, 2020 19:00 ~ 20:00 蔡灏旻讲解容器技术相关任务

June 15th, 2020 20:00 ~ 21:00 虚拟化相关任务讲解

June 16th, 2020 20:00 ~ 21:00 测试相关任务讲解

June 17th, 2020 20:00 ~ 21:00 openEuler 社区之旅参与介绍

  • 介绍如何在 openEuler 社区贡献

任务分类 ​

  1. No.88 - 移植 openEuler 至 RK3399 平台 团体项目 - 建议申请此任务的团队需要有一定的 Linux 操作系统实战能力,掌握 Linux 内核及硬件驱动相关知识,熟悉掌握操作系统引导与启动机制。

    openEuler 社区致力于把 openEuler 发行版移植到多种设备上,目前已经能在 Raspberry Pi 4B Model 上顺利运行。这次团体任务的目标是把 openEuler 20.03 LTS 版本移植到瑞芯微推出的 RK3399 芯片上运行,社区建议参与此任务团队在 Firefly 出品的 4GB 内存/16GB 闪存 版本的开发板进行移植任务。

    任务地址 https://gitee.com/openeuler/marketing/issues/I1IJ4B

  2. Raspberry Pi 树莓派相关任务 - 建议申请此任务的同学需要有一定的 Linux 操作系统实战能力,掌握 Linux DNF/RPM 管理方案,熟悉 Linux 桌面系统的同学申请此类任务

    openEuler 社区致力于把 openEuler 发行版移植到多种设备上,目前已经能在 Raspberry Pi 4B Model 上顺利运行。为了让 openEuler 项目更好的运行在树莓派上, openEuler 社区 Raspberry Pi SIG 的 Maintainer 方亚芬(yafen@iscas.ac.cn) 发起了 3 个优化运行效果的任务。

  3. Linux 桌面相关任务 - 建议申请此任务的同学掌握 Linux DNF/RPM 管理方案,熟悉 Linux 桌面系统的同学申请此类任务

    由于历史原因,目前 openEuler 还没有正式提供桌面环境,所以在这次活动中 sig-UKUI 的 Maintainer douyan@kylinos.cn 和 jianfengli@ubuntukylin.com 发起了移植 UKUI 到 openEuler 的任务。在 No.1 任务则是把轻量级桌面系统 Xfce 移植到 openEuler 系统中。

    UKUI 是麒麟软件桌面研发团队开发的基于 Linux 发行版的轻量级桌面环境,其设计紧贴普通用户需求,特别是针对有一定 Windows 系统使用习惯的用户,减少其使用 Linux 系统的学习成本。2019年,麒麟软件全面启动 UKUI 3.0 的设计和研发工作,全新的 UKUI 3.0 使用 QT 开发,秉承 “友好易用,简单轻松” 的设计理念,将为用户提供更愉快的交互体验。

  4. Linux 容器引擎相关任务 - 建议熟悉 Linux 容器引擎技术实现(如 Docker )的同学申请此类任务

    openEuler 在兼容主流的容器引擎同时,孵化自己的容器引擎项目 iSula,它在支持 Docker 镜像的同时支持 OCI 格式的镜像和规范。 iSulad SIG 的 Maintainers 为同学带来了多个任务。更多 iSula 的任务请访问它的官方文档

    Linux 容器相关知识可以参考:

    • Docker 相关文档 https://docs.docker.com
    • Open Container Initiative 基金会对 Linux Container 定义可以在其 Github 网站 https://github.com/opencontainers
    • https://riscv.org

    任务列表:

  5. Kubernetes 相关任务 - 建议熟悉 Kubernetes 编排调度技术的同学申请此类任务

    openEuler 当然不会缺席当前业界最热的开源项目 Kubernetes ,多个 SIG 组的 Maintainer 推出了相关的任务,从相对简单的集成任务到有一定难度的开发任务。Kubernetes 的资料很多,这里就不一一列举。

    相关资料:

    • https://kubernetes-csi.github.io/docs
    • https://goharbor.io
    • https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial
    • https://github.com/libfuse/libfuse
    • https://www.kernel.org/doc/html/latest/filesystems/fuse.html

    任务列表:

  6. 虚拟化、云相关任务 - 建议熟悉 QEMU 等虚拟化技术的同学申请此类任务

    QEMU 可以说是云计算的基石技术,在很多云计算的架构中是配合 KVM 来完成虚拟化工作。因为 KVM 是硬件辅助的虚拟化技术,主要负责比较繁琐的 CPU 和内存虚拟化,而 QEMU 则负责 I/O 虚拟化,两者合作各自发挥自身的优势相得益彰。

    相关资料:

    • https://www.qemu.org
    • https://www.youtube.com/watch?v=dk6SUD8ovXw

    任务列表:

  7. Golang 相关任务 - 建议熟悉 Golang 语言、对 aarch64 架构和算法有一定程度了解等的同学申请此类任务

    Golang 随着容器技术和 Kubernetes 的逐渐被开发者接受。openEuler 社区提出的 Golang 大多是基于 ARM64 的优化任务。需要对 ARM 的指令集和 Golang 语言编译器等有一定的了解才能顺利完成任务

    相关资料:

    • https://community.arm.com/developer/tools-software/oss-platforms/b/android-blog/posts/arm-neon-programming-quick-reference
    • https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc.pdf
    • https://static.docs.arm.com/ddi0487/a/DDI0487A_j_armv8_arm.pdf
    • https://www.element14.com/community/servlet/JiveServlet/previewBody/41836-102-1-229511/ARM.Reference_Manual.pdf
    • https://courses.cs.washington.edu/courses/cse469/18wi/Materials/arm64.pdf

    任务列表:

  8. Rust 相关任务 - 建议熟悉 Rust 语言、具有一定存储知识(部分任务需要)的同学申请此类任务

    Rust 是近几年崛起的系统级编程语言,也在 TIOBE 的排名上进入了前 20 名。越来越多的项目在使用 Rust 来开发。

    相关资料:

    • https://www.rust-lang.org
    • https://coolshell.cn/articles/9606.html
    • https://coolshell.cn/articles/9703.html
    • https://coolshell.cn/articles/8239.html

    任务列表:

  9. 存储相关任务 - 建议熟悉 Linux 存储知识的同学申请此类任务

    [FUSE] 是用户态的文件系统,目前业界都在探索把存储前置到用户态,提升效率和管控的能力。openEuler 提出的存储业务大部分都跟此方向相关。

    相关资料:

    • https://hadoop.apache.org/docs/r3.2.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html
    • https://www.ibm.com/analytics/hadoop/hdfs
    • https://en.wikipedia.org/wiki/Apache_Hadoop
    • https://en.wikipedia.org/wiki/Filesystem_in_Userspace
    • https://spdk.io
    • https://lwn.net/Articles/740157
    • http://www.tcpdump.org/papers/bpf-usenix93.pdf
    • https://lwn.net/Articles/599755
    • http://blog.memsql.com/bpf-linux-performance

    任务列表:

  10. ARM64 相关任务 - 建议熟悉 aarch64 架构,算法有一定能力的同学申请此类任务

    openEuler 提出的 ARM64 相关任务都是优化类型,此部分参考资料参见第 7 类 Golang 的相关资料。

    任务列表:

  11. RISC-V 相关任务 - 建议熟悉 RISC-V 架构的同学申请此类任务

    RISC-V 是一种是一个基于精简指令集(RISC)原则的开源指令集架构(ISA),openEuler 的 RISC-V SIG 的 Maintainer 正在致力于移植工作。

    相关资料:

    • https://riscv.org

    任务列表:

  12. 安全相关任务 - 建议熟悉 Linux 安全的同学申请此类任务

    安全是业界永恒的话题,openEuler 从第一天开始就重视安全问题,除了 CVE 漏洞披露以外,也在 openEuler 中加入各种安全特性。

    相关资料:

    • https://www.open-scap.org
    • https://www.redhat.com/en/topics/linux/what-is-selinux
    • https://wiki.ubuntu.com/AppArmor
    • https://www.op-tee.org

    任务列表:

  13. 测试相关任务 - 建议测试专业的同学申请此类任务

    测试类的任务难度较低,只要熟悉要测试的软件包,对 Linux 的基本操作比较熟悉就可报名参与。

    主要工作:

    • 分析软件包提供的功能/具体用户使用场景/发布命令及参数/提供服务/包使用资源消耗等方面
    • 进行相应的测试设计活动,如功能类/性能类/可靠性类等
    • 根据测试设计编写相应的测试代码和调试

    相关任务:

    1. AI、大数据相关任务 - 建议熟悉 AI 、大数据框架的同学申请此类任务

    AI、大数据类的相关任务同测试相关任务类似,只要熟悉相关的软件,具有一定的 Linux 知识就可报名参与。

    任务列表:

  14. Linux 系统相关任务 - 建议熟悉 Linux 系统的同学申请此类任务

    Linux 系统相关任务涉及到 Linux 的方方面面,无法在此进行详解。需要申请的同学对 Linux 特定领域有深入的了解,同时具有一定的开发能力。

    任务列表:

  15. 开源基础设施相关任务 - 建议具有基本开发能力的同学申请此类任务

    本类任务需要社区内的同学具有基本的开发能力,对于开源过程中开发者体验有自己的想法和见解。


【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。