基于ARM64架构飞腾2000CPU的浪潮CE3000F机器安装银河麒麟系统和Docker

缘起,折腾,结果

由于客户是保密事业单位,需要在国产机器国产系统上跑我们公司的应用,经过各种折腾才得知客户的系统版本和关键信息。结果一看是ARM64架构的国产CPU,我们之前所有基于x86的努力都白费了。

几经周折,我在咨询了麒麟,浪潮n个400客服之后,终于得到关键信息,FT-2000 CPU的CE3000F有现货,而且给客户的保密机最接近,而且可以安装银河麒麟开发版的系统,不过该机器无法安装NVIDIA的高级显卡,这个是另外一个故事了。

总的来说,功夫不负有心人,我最终在国产硬件和国产系统上成功跑了docker的hello-world

安装系统

x86的版本比较容易找到,可以在官网去注册下载 https://www.kylinos.cn/

也可以通过公网找到银河麒麟的各个版本系统,比如这里:https://blog.csdn.net/itas109/article/details/109453945

但是我们这边需要的ARM64的,而且要跟客户那边保密机内核一致的(方便开发),我通过打麒麟官网400的客服电话,终于拿到了好几个更多的400电话,问了亿点点人,最终是拿到了这个开发版的镜像,版本信息见第一个截图,内核4.4.131.D001.64.190906。我就省去大家的麻烦,直接通过百度网盘分享出来。

关键信息 链接: https://pan.baidu.com/s/1RCgqGhfJqGyiJlg9g9rE8g 提取码: 22d1

找到浪潮官方销售,咨询对方购买了CE3000F机器,对方确认可以出厂自带安装该系统,欣喜若狂(不是我不会装,只是不想再来亿点点的400这种折腾了,对方安装好,我直接用,跑docker不香么?)

破解密码

事实证明,我还是too simple,sometimes 拿衣服。我拿到机器后,看到该机器竟然还有光驱(外形可以参考这里https://item.jd.com/100029674296.html),可以怀旧一波了。上电,结果发现浪潮技术人员,没有给我发root密码,或者一般用户名和密码,我开机无法登陆。。。又是亿点点转接,找到技术人员手机号,打过去问到结果竟然是,这个您给的系统本来就是这样的,我也不知道在哪里设置密码,我以为您知道后台密码。大哥,黑人问号。。。挂断电话,只能自己破解密码了,实在不行就只能重装系统了。

搜索了好多链接,试了这种方式改Grub,https://blog.csdn.net/shijingrao0512/article/details/107108276,黑屏

最后通过这个方式成功破解

https://blog.csdn.net/weixin_39969976/article/details/112773679

关键信息 重点是要加入

console=tty0 init=/bin/bash

然后按F10启动,修改root密码,创建一般用户

安装Docker

如果是标准版的ARM64的docker,安装起来也容易,看docker官网一步步来就行了,但是这个是麒麟系统,没有对应的docker官方源。麒麟自己有,可以直接用sudo apt install docker.io来安装,但是安装之后无法运行。。。

我在安装docker的过程中,竟然可以遇到好几个错误。这个是最折腾人的,我一个个来分析解决。

1. 时间导致的问题

docker: Error response from daemon: Get “https://registry-1.docker.io/v2/”: x509: certificate has expired or is not yet valid: current time 2016-02-12T01:17:37+08:00 is before 2021-04-25T00:00:00Z.

root@Kylin:/data# date
2016年 02月 12日 星期五 01:17:42 CST

这个问题比较奇葩,每次重启,机器的时间就变成2016年了,就会导致证书时间问题。。。之前一直没有意识到

参考这两篇文章

https://blog.csdn.net/luhengs/article/details/111637787

https://zhuanlan.zhihu.com/p/77905195

修改时钟同步配置并开机启动即可解决

root@Kylin:/data# timedatectlLocal time: 五 2016-02-12 01:17:56 CSTUniversal time: 四 2016-02-11 17:17:56 UTCRTC time: n/aTime zone: Asia/Shanghai (CST, +0800)Network time on: no
NTP synchronized: noRTC in local TZ: yesWarning: The system is configured to read the RTC time in the local time zone.This mode can not be fully supported. It will create various problemswith time zone changes and daylight saving time adjustments. The RTCtime is never updated, it relies on external facilities to maintain it.If at all possible, use RTC in UTC by calling'timedatectl set-local-rtc 0'.###在下面配置文件中配入国家授时中心的地址
sonicning@Kylin:~$ cat /etc/systemd/timesyncd.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.[Time]
NTP=ntp.ntsc.ac.cn
#FallbackNTP=ntp.ubuntu.comroot@Kylin:/data# systemctl restart systemd-timesyncd.service
Warning: systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
root@Kylin:/data# systemctl daemon-reload
root@Kylin:/data# systemctl restart systemd-timesyncd.service
root@Kylin:/data# sudo timedatectl set-ntp true
root@Kylin:/data# timedatectlLocal time: 四 2021-12-02 11:06:23 CSTUniversal time: 四 2021-12-02 03:06:23 UTCRTC time: n/aTime zone: Asia/Shanghai (CST, +0800)Network time on: yes
NTP synchronized: noRTC in local TZ: yesWarning: The system is configured to read the RTC time in the local time zone.This mode can not be fully supported. It will create various problemswith time zone changes and daylight saving time adjustments. The RTCtime is never updated, it relies on external facilities to maintain it.If at all possible, use RTC in UTC by calling'timedatectl set-local-rtc 0'.
root@Kylin:/data# systemctl enable systemd-timesyncd.service

2. docker版本太高导致的问题

docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: set process label: open /proc/thread-self/attr/exec: no such file or directory: unknown.

银河麒麟的这个版本是基于Ubuntu基础上开发出来的,本以为安装最新的Ubuntu 20.04的ARM64架构的docker的deb包即可解决问题https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/arm64/,结果最后发现是版本太高了。

lsb_release -a 和 uname -a 指令仅能查看到麒麟版本和对应的Linux内核版本,是无法查到这个到底是基于Ubuntu哪个版本开发的。

我在参考这个链接https://www.cnblogs.com/NosenLiu/p/15032064.html之后,发现我这个麒麟系统是基于Ubuntu16.04版本的,希望麒麟的开发人员不要修改这个。

然后参考了这个官方文档https://www.kylinos.cn/support/document/2.html之后决定安装Ubuntu16.04的ARM64架构的deb包,也只需要安装docker-ce_18.06.1,其他的docker组件都不需要安装。

sudo apt install ca-certificateswget --no-check-certificate https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/arm64/docker-ce_18.06.1~ce~3-0~ubuntu_arm64.debsudo dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_arm64.debsystemctl enable dockersystemctl start dockersudo docker run hello-world

于此,终于得到了前面的截图

3. 在selinux启用的前提下使用docker

这个是保密和安全的需求,要在selinux启用的情况下使用,这个就请大家参考这两个英文链接就好了,我就不赘述了。

https://jaosorior.dev/2018/selinux-and-docker-notes/

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html/container_security_guide/docker_selinux_security_policy

关键信息

在daemon.json中加入如下部分并重启docker,确认docker info中有selinux信息

root@Kylin:~# cat /etc/docker/daemon.json
{"selinux-enabled": true
}
root@Kylin:~# systemctl daemon-reload
root@Kylin:~# systemctl restart docker
root@Kylin:~# docker info

PS:在Ubuntu上卸载docker你一定会用到的链接,别问我卸载了多少次了。。。

https://www.cnblogs.com/shmily3929/p/12085163.html

基于ARM64架构飞腾2000CPU的浪潮CE3000F机器安装银河麒麟系统和Docker相关推荐

  1. Linux内核配置解析 - 概述(基于ARM64架构)

    1. 前言 对刚接触Linux kernel的同学来说,遇到的第一个问题就是:我该从哪里入手?. 话说Linux kernel的打开方式是多种多样的:从简单的设备驱动入手:从源代码的目录结构入手:从k ...

  2. 在飞腾平台安装MySQL数据库_银河麒麟4.0.2(飞腾平台) 安装MySQL数据库

    1.安装操作系统:银河麒麟4.0.2-arm-desktop 2.更换系统源 vi /etc/apt/source.list deb http://mirrors.aliyun.com/debian/ ...

  3. 麒麟操作系统基于linux哪个版本_国内Linux发行版本银河麒麟操作系统V10正式发布:六大优势、性能高出4倍...

    近几年,国产软硬件不断取得可喜的进步.现在,全新的银河麒麟操作系统V10正式发布了,中国工程院院士倪光南.廖湘科都特别送上了祝贺. 麒麟软件有着40年的研发和20年的产业化推广历史,是唯一一个通过CM ...

  4. 基于arm64鲲鹏架构的JupyterLab cpp环境安装(一)

    基于arm64架构的JupyterLab cpp环境安装(一) 本文首发于林克的编程小记:前往查看 1. 安装conda环境 由于miniconda和anaconda官方没有arm64版本的,在git ...

  5. 飞腾CPU 麒麟系统 安装docker

    需求: 需要在飞腾cpu 上安装服务,但是服务比较麻烦为了一劳永逸打算安装一个docker 进程: 查看 当前环境是基于什么来做的   cat /proc/version   发现是 类Ubuntu ...

  6. 飞腾计算机硬件测试方法,银河麒麟操作系统

    硬件:飞腾CPU计算机: 操作系统:银河麒麟. 银河麒麟操作系统与Ubuntu的测试工具兼容性很高,在飞腾计算机设备开发时,常用的温度监测.GPU测试.CPU压力测试.CPU使用率监控.网络通信监控. ...

  7. arm linux读cpu id,基于ARM架构的芯片获取CPU信息(cpuID)的多种方法

    由于工作的原因,要获取到ARM芯片的cpuid. 了解下存储cpu信息的寄存器内容: CPUID寄存器内容: 字段名:Implementer(venter 销售ID)|Variant(大版本号) | ...

  8. 基于ARM64银河麒麟V10系统(PK体系)适配安装Ambari2.7.3+HDP3.1

    引言 目前市场上主流的大数据平台以CDH和HDP两种为主,而两种大数据平台都是基于Apache原生态版本改进的,HDP版本的更贴近于原生态版本,开源率100%,基本上支持所有的开源大数据组件.CDH版 ...

  9. 基于 arm64 Linux nanosleep 系统调用流程分析

    nanosleep (高分辨率睡眠)可实现纳秒级的睡眠,暂停调用线程的执行.在 Linux 内核中是如何实现的?下面基于 arm64 cpu 架构去分析. #include <time.h> ...

  10. 【ARM64:ARM64架构】

    ARM64:ARM64架构 1.ARMv8特色: 2.执行状态 3. ARMv8包含的寄存器 4.数据类型 5.异常模型 6.A64汇编指令介绍: 7.A64指令分类 ARM64通用的架构知识 1.A ...

最新文章

  1. 2018年智能化发展趋势:语音交互全球开战、AI终端趋势显现
  2. python编程有用吗-分享8点超级有用的Python编程建议
  3. 2.1.5 梯度检验
  4. VC INI文件读写 和 GetProfileString,WriteProfileString函数的使用
  5. 四大开源无人机项目,极客要Get了
  6. mongodb模糊查询_AWS 回击了!推出兼容 MongoDB 的 DocumentDB
  7. 【渝粤教育】国家开放大学2019年春季 3717天然气管道长输技术 参考试题
  8. 关于汉语转换拼音的组件
  9. mysql 免安装重装_mysql 重装问题
  10. day13--决策树与随机森林
  11. 汇川技术js600变频器_汇川变频器MD200系列产品型号及功能介绍
  12. WPS Office 2012兼容全部Office格式,为办公带来了很多便利
  13. JS循环延时函数setInterval根据特定情况的中断
  14. window10_vs2015安装教程
  15. 自定义radio图标
  16. 支付宝支付对账单java_[Java]解析支付宝对账单csv
  17. jpa Specification in 用法
  18. 今日小游戏:消除棋子
  19. 基于Python库surprise的电影推荐系统
  20. uvm_objection/uvm_objection_events/test_done_objection/callbacks_objection/objection_callback

热门文章

  1. ios 程序中安装 描述文件
  2. 四种方法检测网站是否被微信、QQ等拦截屏蔽
  3. linux slab 内存 清理,linux系统slab内存占用
  4. PowerApps 的最近更新
  5. switch服务器维护时间2020,switch pro什么时候出,2020性能加强版switch发布时间
  6. latex linux 安装教程,Deepin安装LaTex,
  7. av_rescale_q和av_rescale_q_rnd和av_rescale_rnd
  8. Excel工作日日历
  9. 【Excel自动化办公Part5】:设置行高和列宽、合并单元格、取消合并单元格
  10. Mac上配置svn diff为kdiff3