openeuler-riscv / oerv-team

OERV 实习生工作中心
6 stars 35 forks source link

实习生郑丹龙+创建邮箱 #813

Closed moumoulongs closed 1 month ago

moumoulongs commented 1 month ago

任务一 neofetch

任务二 task2

任务三 task3-build-1

yinjiayi commented 1 month ago

danlong.oerv@isrc.iscas.ac.cn

Jingwiw commented 1 month ago

补充一下过程记录思考

moumoulongs commented 1 month ago

pre_task环境:ubuntu 23.04

任务一

过程:

  1. 使用apt工具下载qemu
  2. 在中科院软件研究所下载oerv镜像
  3. 使用自带的start_vm.sh启动oerv系统
  4. 从github仓库克隆neofetch源码并编译安装
  5. 运行neofetch,输出正常。

遇到的问题:无

任务二

过程:

  1. 升级pip工具
  2. 从github仓库克隆osc与obs-build源码手动构建
  3. 修改oscrc配置文件
  4. 拉取obs平台的pcre2包,并拉取其他相关文件
  5. 对拉去的文件进行处理,去掉_service头
  6. 使用osc build standard_riscv64 riscv64命令进行构建

遇到的问题:

  1. 执行构建命令时出现报错TypeError: The following fields of 'KeyinfoPubkey' object are not initialized and have no default either: 'expires' 问题原因:排查后发现是部分python包版本落后,可能是osc与rpm包。 解决方法:更新pip工具后重新构建osc

任务三

过程:

  1. 安装好 glibc pcre glib2 zlib 依赖包
  2. 使用apt工具下载systemd-container
  3. 拉取qemu源码并编译
  4. 拉取osc与obs-build源码并编译
  5. 配置oscrc配置文件
  6. 拉取obs平台的pcre2包,并拉取其他相关文件
  7. 对拉去的文件进行处理,去掉_service头
  8. 使用osc build standard_riscv64 riscv64 --vm-type=nspawn命令进行构建

遇到的问题:

  1. 由于一开始使用的是ubuntu源自带的osc,所以在拉取pcre2包时证书验证一直出错 问题原因:使用了ubuntu源自带的osc,具体原因未知 解决方法:从github仓库克隆osc源码手动安装

  2. 原来使用的是ubuntu源自带的qemu,进行pcre2包构建时nspawn容器启动失败 问题原因:使用了ubuntu源自带的qemu,具体原因未知 解决方法:从github仓库克隆qemu源码手动安装

总结

pre_task要求掌握oerv虚拟环境的搭建,obs与osc的基本使用,riscv环境下对riscv架构的rpm包的构建,非riscv环境下对riscv架构的rpm包的交叉架构。

对工具进行编译时注意依赖包是否过期

使用的工具最好自己拉取源码手动安装