openeuler-riscv / oerv-team

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

实习生黄丕松+创建邮箱 #834

Closed 1291945816 closed 2 weeks ago

1291945816 commented 2 weeks ago

壹·任务一

启动镜像,并远程openEuler虚拟机:

  1. 启动镜像:./start_vm.sh
  2. 主机侧远程:ssh root@192.128.122.120 -p 12055 image-20240606004313316

前期已经把对应的镜像文件下到本地,本次不重复相关下载过程。

直接从源安装: dnf install neofetch

task01-1

提示:没找到对应的包,说明仓库并没有构建好的包

前往开源仓库,对应的Wiki 文档提供了几种方案:

鉴于在仓库中没有这个包,选择第一种方案:

  1. 安装git并配好相关的公钥便于后续的clone操作:dnf install git
  2. clone仓库源码:git clone https://github.com/dylanaraps/neofetch

进入到目录后,发现一个可执行的脚本文件,直接执行即可:

neo

贰·任务二

前往https://build.openeuler.openatom.cn/ 注册账户。

安装oscdnf install osc

第一次执行osc对应的指令时,发现没配置账户信息,遂进行登录:

task02

此处输入账户信息会报401错误,查资料发现其实是api接口不对,账户注册的信息并不在api.opensuse.org上。

需要修改osc的账户配置信息以及具体的api地址:

[general]
apiurl = https://build.openeuler.openatom.cn
no_verify = 1

[https://build.openeuler.openatom.cn]
user=your username
pass=your passwd
credentials_mgr_class=osc.credentials.ObfuscatedConfigFileCredentialsManager

配置完信息后,再次执行osc ll | grep psomng查看OBS 服务器上个人的源信息:

image-20240606202737673

选择home:pSomng:branches:openEuler:Mainline:RISC-V这个项目中的curl进行构建:osc co home:pSomng:branches:openEuler:Mainline:RISC-V/curl

task02-4

从OBS 服务器中获取源码:osc up -S

task02-3

直接进行构建:osc build --local-package standard_riscv64 riscv64,会提示缺少build的。

再执行:dnf install build即可。

然后再重新执行构建:

task02-6

叁·任务三

选择使用docker进行加速任务二的构建,所以需要在主机侧环境上安装并配置osc以及docker

这里特别容易陷入误区,就是以为在qemu仿真的环境里去安装docker进行加快构建。但其实不然,docker本质上也是提供一种虚拟化的环境,与qemu应该在构建过程中的级别是一样的,区别在于:一个是先进行qemu虚拟架构后,再利用本地架构构建软件包,而另一个是 本地采用docker进行构建。个人感觉来说,毕竟qemu-system*是系统级仿真,性能更低。

执行osc build --local-package standard_riscv64 riscv64 --vm-type=docker采用docker加速构建,可能会报以下错误:

task03-5

这里的原因是perl缺少了Data-Dumper模块,手动编译一个即可:

wget https://www.cpan.org/modules/by-module/Data/Data-Dumper-2.173.tar.gz
tar -zxvf Data-Dumper-2.173.tar.gz
 cd Data-Dumper-2.173
 perl Makefile.PL
 make
 make install

然后再次构建即可:

image-20240606211044770

相比第二次构建来说,显然这次的时间缩短了接近4倍。

Jingwiw commented 2 weeks ago

good work