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

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

缘起,折腾,结果

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

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

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

image-20211202135239964

image-20211202140547673

安装系统

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# timedatectl
      Local time: 五 2016-02-12 01:17:56 CST
  Universal time: 四 2016-02-11 17:17:56 UTC
        RTC time: n/a
       Time zone: Asia/Shanghai (CST, +0800)
 Network time on: no
NTP synchronized: no
 RTC in local TZ: yes

Warning: 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 problems
         with time zone changes and daylight saving time adjustments. The RTC
         time 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.com

root@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# timedatectl
      Local time: 四 2021-12-02 11:06:23 CST
  Universal time: 四 2021-12-02 03:06:23 UTC
        RTC time: n/a
       Time zone: Asia/Shanghai (CST, +0800)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: yes

Warning: 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 problems
         with time zone changes and daylight saving time adjustments. The RTC
         time 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版本的,希望麒麟的开发人员不要修改这个。

image-20211202150131573

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

image-20211202145531387

sudo apt install ca-certificates

wget --no-check-certificate https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/arm64/docker-ce_18.06.1~ce~3-0~ubuntu_arm64.deb

sudo dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_arm64.deb

systemctl enable docker

systemctl start docker

sudo 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

image-20211202151334762

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

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

  • 32
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 浪潮英政计算机CE3000F系统安装步骤如下: 1.准备工作:首先,确保拥有正确的安装介质,即浪潮英政计算机CE3000F系统安装光盘或U盘。同时,确认电脑满足安装系统的最低要求,如硬盘空间、内存和处理器要求等。 2.启动电脑:将安装介质插入电脑的光驱或USB接口,并重启电脑。在启动过程中,按下对应的启动菜单键(通常是F2、F12或Del键)以进入BIOS设置界面。 3.选择启动设备:在BIOS设置界面中,选择设置为首选启动设备(Boot Device)为光驱或USB,以使计算机从安装介质启动。 4.安装过程:当计算机从安装介质启动后,系统安装程序会自动运行。按照安装界面上的指示进行操作,包括选择语言、许可协议、安装路径等。 5.硬盘分区:在安装过程中,可以对硬盘进行分区,以便安装系统和其他应用程序,也可以选择直接使用现有的分区。 6.安装选项:系统安装过程中,还可以选择一些自定义的安装选项,如设置管理员密码、安装驱动程序等。 7.等待安装完成:点击“安装”按钮后,系统开始安装,这个过程可能需要一段时间,请耐心等待。 8.安装完成:当安装完成后,系统会提示安装成功,此时可以重新启动电脑,从硬盘启动进入安装好的浪潮英政计算机CE3000F系统。 总的来说,安装浪潮英政计算机CE3000F系统的步骤相对简单,只需要按照引导界面的指示进行操作即可。如果在安装过程中遇到问题,可以参考官方的安装指南或在相关技术论坛寻求帮助。 ### 回答2: 安装浪潮英政计算机CE3000F系统需要按照以下步骤进行操作: 1. 准备工作:首先,确保操作系统的兼容性和硬件要求满足系统安装的需要。检查并确保计算机具备所需的配置,如处理器、内存、存储空间等,并准备好系统安装光盘和所需的驱动程序。 2. 备份数据:在安装系统之前,建议先将重要数据备份到外部设备,以免安装过程中发生数据丢失。 3. 设置引导设备:将系统安装光盘插入光驱或使用U盘进行引导,然后在计算机启动时按照提示选取相应的启动设备。 4. 进入安装界面:根据计算机启动时的引导设备,系统将进入安装界面。在此界面,按照系统提示选择语言、时区、键盘类型等相关设置。 5. 磁盘分区:根据需要进行分区设置,可以选择默认设置或手动分区。确保为系统分配足够的空间,同时对数据分区和系统分区进行明确区分。 6. 安装系统:在分区设置完成后,系统将开始自动安装安装过程中需要进行一些基本设置和等待系统文件的复制和配置。 7. 驱动安装安装完成后,根据提示安装相应的驱动程序,以保证计算机硬件和外部设备的正常运作。 8. 更新系统安装完成后,通过连接网络更新系统补丁和驱动程序,以确保系统的稳定性和安全性。 9. 重启计算机:完成所有设置和安装后,按照系统提示重启计算机。在重启后,选择进入安装好的浪潮英政计算机CE3000F系统。 以上是安装浪潮英政计算机CE3000F系统的基本步骤,具体操作可能因个人使用环境和需求略有差异。建议在安装过程中仔细阅读系统提供的文档和注意事项,并根据实际情况进行相应的操作。 ### 回答3: 浪潮英政计算机CE3000F系统安装步骤如下: 1. 准备工作:确保你具备安装系统所需的硬件设备,包括计算机主机、显示器、鼠标、键盘等。 2. 下载操作系统镜像:在浪潮英政官方网站上下载适用于CE3000F系统的操作系统镜像文件,并将其保存在可访问的存储介质上,如U盘或光盘。 3. 连接硬件设备:将计算机主机与显示器、鼠标、键盘等设备连接起来,并确保连接无误。 4. 启动计算机:按下计算机主机上的电源按钮,启动电源。 5. 进入BIOS设置:在计算机开机启动过程中按下相应的键(通常是Del键或F2键),进入BIOS设置。 6. 设置启动顺序:在BIOS设置中,将启动顺序调整为从U盘或光盘启动。 7. 安装操作系统:将之前下载的操作系统镜像插入计算机的光驱或将U盘插入计算机的USB接口,并按下重启按钮,计算机会从U盘或光盘启动,并自动进入安装程序。 8. 按照安装向导:根据安装程序的提示,选择安装方式、分区方式和其他配置选项,并完成操作系统安装过程。过程中可能需要输入序列号、选择语言和时区等信息。 9. 完成安装:当安装程序提示安装完成后,可以重新启动计算机,并按照提示进入操作系统。 10. 进行后续设置:根据个人需求,可能需要进行一些额外的设置,如更新操作系统安装驱动程序、配置网络等。 总之,要安装浪潮英政计算机CE3000F系统,你需要准备相关硬件、下载操作系统镜像、连接硬件设备、进入BIOS设置、设置启动顺序、安装操作系统、按照安装向导进行配置,最后完成安装并进行后续设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值