海光CSV启动教程

记如何从零启动CSV虚拟机

在海光服务器的测试工作中,发现了太多需要注意的地方,在这里全部记录下来。本文总结了Ubuntu和CentOS两种操作系统。经过测试,可以实现安装的有ubuntu20.04,ubuntu18.04,CentOS7,三个操作系统。

Ubuntu20.04

该版本的系统应该原生支持海光CSV安全特性,所以可以直接按照XML文件去启动CSV安全虚拟机。

Ubuntu18.04

该版本系统需要安装低版本的内核,并且要打补丁。操作如下:

首先,确保xml文件包含如下内容:

1
2
3
4
<qemu:commandline>
<qemu:arg value="-drive"/>
<qemu:arg value="if=pflash,format=raw,unit=0,file=/usr/share/OVMF/OVMF_CODE.fd"/>
</qemu:commandline>

其次,确保xml文件不包括如下内容:

1
2
3
4
5
<launchSecurity type='sev'>
<cbitpos>47</cbitpos>
<reducedPhysBits>5</reducedPhysBits>
<policy>0x0001</policy>
</launchSecurity>

在执行完安装系统的操作,需要重启时,需要修改xml文件中的如下内容

1
<boot dev='cdrom'/>    ====>>>     <boot dev='hd'/>

重启

1
2
3
4
5
wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/linux/5.4.0-109.123/linux_5.4.0.orig.tar.gz

wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/linux/5.4.0-109.123/linux_5.4.0-109.123.diff.gz

wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/linux/5.4.0-109.123/linux_5.4.0-109.123.dsc

解压文件

1
tar zxvf linux_5.4.0.orig.tar.gz

进入解压后的文件夹,打补丁

1
zcat ../linux_5.4.0-109.123.diff.gz | patch -p1

执行内核编译项的编辑工作

1
make menuconfig

编译内核

1
make -j32 rpm-pkg

进入rpm包的根目录,并安装

1
2
3
cd ~
cd rpmbuild/RPMS/x86_64
rpm -ivh kernel-xxxxxxxx

添加SEV安全参数到xml文档中

1
2
3
4
5
<launchSecurity type='sev'>
<cbitpos>47</cbitpos>
<reducedPhysBits>5</reducedPhysBits>
<policy>0x0001</policy>
</launchSecurity>

重启虚拟机

CentOS

CentOS前部分安装系统操作如上,区别在于RPM包已经安装完成,可以直接scp到虚拟机进行安装。

RPM包路径位于物理机的/home/csv/RPMS/x86_64路径下

后续操作和Ubuntu18.04相同