---
title: openEuler 20.03
description: "1. 下载源码及补丁。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephoe_02_0018.html
sourcePath: /source/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephoe_02_0018.html
indexId: 4a206d641bc790ff65b043a65ce5fb328d089c592e1af401d1464ef2fd54c34a70
---
# openEuler 20.03

#### 编译liboath-devel软件包

1. 下载源码及补丁。
  1 2 3 4 cd /home git clone https://gitee.com/src-openeuler/oath-toolkit.git cd oath-toolkit git checkout 545d464c

  执行此操作时可能报错并提示“SSL certificate problem: self signed certificate in certificate chain”，该错误由 SSL 认证失败引发，可通过执行git config --global http.sslVerify false命令关闭SSL认证后再次执行以上命令即可解决报错问题。

2. 将patch文件和源码包移动到“/root/rpmbuild/SOURCES”目录下。
  1 2 rpmdev-setuptree cp /home/oath-toolkit/0001-oath-toolkit-2.6.5-lockfile.patch /home/oath-toolkit/oath-toolkit-2.6.5.tar.gz /root/rpmbuild/SOURCES

3. 编译RPM包。
  1 2 cd /home/oath-toolkit rpmbuild -bb oath-toolkit.spec

4. 将编译好的RPM包作为本地Yum源。
  1 2 3 4 mkdir -p /home/rpm/oath cp -r /root/rpmbuild/RPMS/* /home/rpm/oath/ yum install -y createrepo cd /home/rpm/oath && createrepo .

5. 配置repo文件。

  a. 打开“local.repo”文件。
    1 vi /etc/yum.repos.d/local.repo

  b. 按“i”键进入编辑模式，在文件末尾加入以下内容。
    1 2 3 4 5 6 [local-oath] name=local-oath baseurl=file:///home/rpm/oath enabled=1 gpgcheck=0 priority=1

  c. 按“Esc”键退出编辑模式，输入:wq!并按“Enter”键保存退出文件。
6. 刷新Yum缓存。
  1 yum clean all && yum makecache


#### 编译Ceph

1. 在软件要求中下载Ceph源码包，并将源码包放入“/home”目录下进行解压。
  1 cd /home && tar -zxvf ceph-14.2.8.tar.gz

2. 修改yum.conf文件。

  a. 打开“yum.conf”文件。
    1 vi /etc/yum.conf

  b. 按“i”键进入编辑模式，在文件末尾添加“sslverify=false”和“deltarpm=0”。
  c. 按“Esc”键退出编辑模式，输入:wq!并按“Enter”键保存退出文件。
3. 由于Ceph 14.2.8源码自带的isa-l的版本较低，需要升级isa-l。参考如下方式升级isa-l。

  a. 进入src目录。
    1 cd /home/ceph-14.2.8/src

  b. 备份原有isa-l，下载最新isa-l。
    1 2 mv isa-l isa-l.bak git clone https://github.com/intel/isa-l.git

  c. 升级成功后，在“/home/ceph-14.2.8/src/isa-l/erasure_code/”目录下有“aarch64”目录。
    1 ll /home/ceph-14.2.8/src/isa-l/erasure_code/

4. 安装liboath相关依赖。
  1 yum install liboath liboath-devel -y

5. 将修改后的Ceph源码重新打包成tar.bz2格式，获得修改后的Ceph。
  1 cd /home && tar -zcvf ceph-14.2.8.tar.bz2 ceph-14.2.8

6. 编译修改后的Ceph。
  1 2 3 4 5 rpmdev-setuptree cp ceph-14.2.8/ceph.spec /root/rpmbuild/SPECS/ cp ceph-14.2.8.tar.bz2 /root/rpmbuild/SOURCES/ cd /root/rpmbuild/SPECS/ rpmbuild -ba ceph.spec
