- 总体说明
Arm64的centos版本自7.5.1804以后不再和7.4、7.3、7.2等之前的一样直接提供一个rootfs.tar.xz的压缩包,全部变成了ISO的安装文件,因此需要EFI来引导安装,如果Aarch64的cpu用的是uboot就只有干瞪眼了,笔者花了一翻功夫,终于找到如何从ISO中提取出centos 7.5.1804文件系统的方法,方便使用uboot的用户可以使用centos7.5.1804。
- 提取centos rootfs
下载centos7.51804的安装包CentOS-7-aarch64-Everything-1804.iso或CentOS-7-aarch64-Minimal-1804.iso均可,网址:http://mirror.centos.org/altarch/7.5.1804/isos/aarch64/,两者下一个即可,建议下载CentOS-7-aarch64-Minimal-1804.iso,体积更小下载更方便。
mount CentOS-7-aarch64-Minimal-1804.iso或CentOS-7-aarch64-Everything-1804.iso后提取镜像内部文件:LiveOS/squashfs.img,此文件实际上即是centos的rootfs文件,但是不能直接使用。继续将squashfs.img mount起来,然后进入mount的路径继续mount 文件LiveOS/rootfs.img,然后即可看到centos的整个内部文件系统了,如下图:
如果仅复制这些文件到根系统,通过uboot加载启动,你会发现系统根本无法启动,这是因为此rootfs默认启动方式为anaconda启动,uboot引导进入anaconda模式后会直接卡死。复制目录下的所有文件到根系统目录,删除
/etc/systemd/system/default.target
建立软连接
ln -s /usr/lib/systemd/system/multi-user.target etc/systemd/system/default.target
引导系统启动后进入multi-user模式。此时即可进入到centos系统,用户root,密码无,此时centos为纯净系统,除了基本命令外不带其他任何第三方命令,包括passwd、sudo、openssh、telnet、net-tools等等均没有,且yum命令报错找不到import yummain模块,无法使用。
复制CentOS-7-aarch64-Minimal-1804.iso或CentOS-7-aarch64-Everything-1804.iso中,Packages目录与yum相关的四个rmp包
yum-3.4.3-158.el7.centos.noarch.rpm、
yum-metadata-parser-1.1.4-10.el7.aarch64.rpm、
yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
centos-release-7-5.1804.el7.centos.a.aarch64.rpm
然后启动进入centos后执行:
rpm2cpio yum-3.4.3-158.el7.centos.noarch.rpm|cpio -idumv
rpm2cpio yum-metadata-parser-1.1.4-10.el7.aarch64.rpm|cpio -idumv
rpm2cpio yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm|cpio -idumv
rpm2cpio centos-release-7-5.1804.el7.centos.a.aarch64.rpm|cpio -idumv
修改文件/etc/yum.repos.d/CentOS-Base.repo中所有$releasever为7
(可在vim中输入:%s/$releaseve/7/g来全局替换)
然后yum -help,yum命令已经可以使用,通过ip addr 配置ip后,即可用yum安装基本的命令和一些第三方常用库如:passwd、sudo、openssh、telnet、net-tools等。
如果yum需要使用代理修改:/etc/yum.conf文件,最末尾添加:
proxy=http://linux:linux@192.168.100.80:808/
其中linux为代理的用户名和密码,808为代理的端口,192.168.100.80为代理网址,代理只能使用http
PS:好些人留言说做出来的系统用不了,实际上按我的步骤操作最后是肯定能跑起来的,下面我提供一个自己做好的系统,由于写文章的时候centos还是7.5,现在都已经升级为7.6了,我就直接提供打包好的7.6了(系统账号:root 密码:admin)
注意:这样使用的aarch64 centos系统 yum安装社区的命令等等均没有什么问题,唯一需要清除一点,因为内核用的是自己的,而不是官方的,所以如果安装的第三方命令需要内核支持的话需要自己打开相关选项重新编译自己的内核。
百度网盘:
链接: https://pan.baidu.com/s/1a-lQcLt_Bim8kSm4ZCO8mw 提取码: 86te
最后上个arm64单板启动后的截图:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181172.html原文链接:https://javaforall.cn