+++ title = " openEuler黑客马拉松" date = "2019-12-10" tags = ["meetup", "summit"] banner = "img/banners/banner-2020hdc.jpg" author = "openEuler" summary = " openEuler黑客马拉松" +++

竞赛简介

华为HDC 2020 openEuler黑客松大赛,是华为公司面向全球操作系统爱好者举办的一场编程马拉松大赛。 华为在服务器操作系统领域已有近10年的技术积累,内部解决方案已广泛应用于运营商、政府、金融等行业ICT系统中。 华为鲲鹏处理器,兼容ARM架构,最大可集成了64个物理核,采用多合一SoC芯片架构,单颗处理器实现了CPU、 RoCE网卡、SAS控制器、桥片等4颗芯片的功能, 是业界领先的处理器产品. 针对鲲鹏处理器,华为在服务器操作系统的性能、可靠性、安全性等方面做了深度优化。 为了促进鲲鹏计算产业的发展和生态建设,华为将内部服务器操作系统解决方案进行开源,并命名为openEuler。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放硬件的计算潜能。 本次大赛将通过“线上初赛+线下决赛”的形式,让广大参赛者进一步体验和熟悉基于鲲鹏处理器 + openEuler操作系统的基础架构环境 (构建、编译、部署、运行等),共同推动软硬件应用生态的创新和发展。

参赛要求

参赛对象:操作系统技术爱好者,如高校学生、开源社区贡献者、企业职员等 组队要求:2人/队

赛题介绍

赛程赛制

##### 初赛内容 各大Linux操作系统发行版的OS基础容器镜像是用户构建应用镜像的基础,其大小对使用有比较大的影响;本题目重点解决如下问题: a. 构建尽量小的容器基础镜像,减小应用镜像的体积 b. 提供跨架构的容器镜像构建工具,实现在x86平台上开发制作的容器镜像,可以在鲲鹏(ARM64)平台上运行 具体的要求如下: a. 基于openEuler ISO构建最小的基础容器镜像 1. 构建环境不限 2. 生成的镜像包含基础能力(vim,bash,yum),但是不破坏应用包之间的依赖关系 3. 需要给出安装的应用包列表 4. 尽量删除无用、冗余数据 b. 编码实现异构镜像构建工具,并制作基于基础镜像的最小httpd服务镜像 1. 在使用Intel X86处理器的本地设备(Desktop or Laptop)上通过本工具能够构建可以在基于华为鲲鹏处理器(ARM64)的运程服务器上运行的容器镜像 2. 生成的容器镜像应该符合OCI规范 3. 容器镜像构建工具需要具备Pull/Push/Build功能: Pull: • 参考docker命令行格式 • 能够从容器镜像仓库中拉取public镜像 Push: • 参考docker命令行格式 • 能够上传镜像到容器镜像仓库(支持用户名、密码配置) Build • 参考Docker命令行格式: • 支持最简单语法(FROM,CP,RUN,PORT,CMD) 上述过程生成的镜像,可以在鲲鹏服务器/虚拟机上使用iSulad容器引擎正常运行。 ##### 初赛验收标准 1. 参赛期间编写的代码需要公开可访问,且正确引用其他开源代码(如涉及) 2. 镜像需要符合OCI格式 3. 镜像需要上传到公开可获取的镜像仓库 4. 应用镜像的Dockerfile需要上传到公开可获取的git仓库 5. 镜像可以在鲲鹏服务器(ARM64)上正常运行 6. 项目获胜者的递进关系如下: a) 完成基础镜像者晋级 b) 如果均完成a),完成httpd服务镜像者且能正常运行者晋级 c) 如果均完成b),则httpd服务镜像最小者晋级 ##### 初赛操作指南 1. OCI规范请参考 - https://github.com/opencontainers/image-spec 2. 代码实现参考项目: • https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html • https://www.tomczhen.com/2018/05/13/cross-platform-build-docker-image/ • https://lantian.pub/article/modify-computer/build-arm-docker-image-on-x86-docker-hub-travis-automatic-build.lantian • https://github.com/docker/buildx • https://github.com/containers/buildah 3. openEuler操作系统请参考 - https://openeuler.org/ 4. openEuler 操作系统 ISO可以在xxx(URL)获取 5. iSulad 使用指南: 点击下载 6. 基于鲲鹏处理器云服务平台: 鹏城生态开发者云 - https://dw.pcl.ac.cn/cloud/login 申请鲲鹏虚拟机指南(请按指南内容填写相关信息, 否则资源申请请求不予批准): a. 登陆https://dw.pcl.ac.cn/cloud/login, 注册新用户: 用户名: 以”openEuler-” 为前缀 邮箱: 与参赛报名时提供的联系邮箱一致 b.新建项目, 指定项目信息: 项目名称 – 以“openEuler@hdc-” 为前缀 项目信息 - “其他”, 以”HDC 2020 openEuler 参赛项目” 为前缀 领域信息 – “其他”,“国产操作系统” c. 产品信息: 产品名称 – 以”openEuler-iSula@hdc-” 为前缀 产品信息 – “互联网类产品” 云服务器用途 – “开发” d. 基本信息: 名称 – 以” openEuler-iSula@hdc-” 为前缀 类型 – “虚拟机” 使用时长 – “90天” 数量 – “1” CPU架构要求 – “鲲鹏920” OS 版本要求 – “openEuler 1.0 Beta” e. 资源: CPU – 2 虚拟机内存 – 4G 系统磁盘容量 – 80G 网卡数量 – 1 是否申请云硬盘 – 否

大赛日程及报名安排

##### 初赛 初赛时间:2019年12月25日——2020年1月20日 阶段晋级队伍:15支队伍 ##### 决赛(2020年2月11日) 初赛时间:2020年2月11日 阶段晋级队伍:3支队伍

奖项设置

##### 大赛奖项 一等奖:1队 二等奖:2队 三等奖:3队 (每支队伍2名成员) ##### 参赛者权益 1. 2020华为开发者大会入场通券,参与华为面向ICT(信息与通信)领域全球开发者的年度顶级旗舰活动 2. 参赛T恤 3. 获奖选手获得赛事荣誉证书及奖牌 4. 获奖选手将在华为相关宣传渠道(官网、社区、社媒)得到宣传报道