centos7下用kvm启动Fedora36 Cloud镜像

环境

os:centos7
Arch: aarch64

安装qemu-kvm

yum install qemu-kvm kvm virt-install libvirt
systemctl start libvirtd.service

创建镜像

下载aarch64架构的Fedora36镜像

wget https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/36/Cloud/aarch64/images/Fedora-Cloud-Base-36-1.5.aarch64.qcow2 --no-check-certificate

制作一个新的镜像

qemu-img create -f qcow2 -b Fedora-Cloud-Base-36-1.5.aarch64.qcow2 my-fedora.qcow2 20G

创建一个名为meta-data的文件

cat > meta-data << EOF
instance-id: Cloud00
local-hostname: cloud-00
EOF

创建一个名为user-data的文件,内容如下(根据需要修改),这将默认用户设置为cloud密码为password并解锁帐户,以便可以在终端登录(无需 SSH)。也可以添加 SSH 密钥。

cat > user-data << EOF
#cloud-config
# Set the default user
system_info:
  default_user:
    name: cloud
    plain_text_passwd: 'password'
    groups: [wheel]
 
# Unlock the default user
chpasswd:
  list: |
     cloud:password
  expire: False
 
# Other settings
ssh_pwauth: True
 
 
EOF

Cloud init 在启动时挂载 CD-ROM,因此使用 genisoimage 从这些文件中创建 ISO 映像。

genisoimage -output my-seed.iso -volid cidata -joliet -rock user-data meta-data

virt-install安装启动vm

virt-install \
            --name fedora\
            --memory 4096 \
            --disk my-fedora.qcow2,device=disk,bus=virtio \
            --disk my-seed.iso,device=cdrom \
            --os-type linux \
          	--os-variant fedora32 \
            --virt-type kvm \
            --graphics none \
            --network network=default \
            --import

出现Couldn't configure UEFI: Did not find any UEFI binary path for arch 'aarch64'问题,原因是kvm没有 UEFI,需要更新最新的 libvirt和uefi package

#在/etc/yum.repos.d/添加libvirt.repo文件
cat > libvirt.repo << EOF
[libvirt-latest]
baseurl = https://buildlogs.centos.org/centos/7/virt/aarch64/libvirt-latest/
enabled = 1
gpgcheck = 0
name = kvm common for CentOS7
EOF

wget https://www.kraxel.org/repos/firmware.repo -O /etc/yum.repos.d/firmware.repo

yum update libvirt
yum install edk2.git-aarch64

#在/etc/libvirt/qemu.conf文件中添加
nvram = ["/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"]

#重启libvirtd.service
systemctl restart libvirtd.service

#重新执行virt-install

启动后使用user-data中设置的账号密码登录。
安装好vm后可以通过sudo virsh edit fedora来修改虚拟机配置,如内存大小、cpu数量等,修改前需要关闭虚拟机virsh shutdown fedora,修改完成后virsh start fedora启动虚拟机,然后通过virsh console fedora登录(退出为ctrl+]),也可以通过ssh登录,例如ssh [email protected]

更换国内源(清华源)

参考https://mirrors.tuna.tsinghua.edu.cn/help/fedora/
备份文件

#备份文件
cd /etc/yum.repos.d/
sudo mkdir backup/
sudo cp *repo backup/

修改/etc/yum.repos.d/fedora.repo

[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/$releasever/Everything/$basearch/os/
metadata_expire=28d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

/etc/yum.repos.d/fedora-updates.repo

[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/updates/$releasever/Everything/$basearch/
enabled=1
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

fedora-modular 仓库 (/etc/yum.repos.d/fedora-modular.repo)

[fedora-modular]
name=Fedora Modular $releasever - $basearch
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/$releasever/Modular/$basearch/os/
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

updates-modular 仓库 (/etc/yum.repos.d/fedora-updates-modular.repo)

[updates-modular]
name=Fedora Modular $releasever - $basearch - Updates
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/updates/$releasever/Modular/$basearch/
enabled=1
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

更新本地缓存

sudo yum makecache

你可能感兴趣的:(Linux,linux,centos,Fedora)