# 安装与配置

### 安装

#### 下载与安装

deb包链接

#### deb安装、系统集成（推荐使用）

    sudo dpkg -i ./ivshm-server_xxx_amd64.deb

### 配置

#### host 机器系统配置

##### 检查系统配置 ivshmem PCI 设备

1. 查看后台服务有无 ivshmem-server 运行
2. `guest` 机器默认配置包含五个 ivshmem pci 设备

    <!-- 配置模板 -->
    <!-- 其中 address 字段可忽略，首次配置时没有 address 字段, 配置完成后有系统分配 address 字段并赋值
             name : [Aegis, Eagle, Lightning, Hera, Olympus] -- 任选其一，不可重复
              type : ivshmem-doorbell -- 默认配置
             path : /tmp/ + name -- name 为上述 name 相对应的取值, example : /tmp/Aegis
             msi  :
           vectors : 1        -- 默认配置，当前由于 Linux guest 驱动仅支持 1 个中断，固默认为 1
           ioeventfd : on -- 默认配置
    -->
    <shmem name='Aegis'>
        <model type='ivshmem-doorbell'/>
        <server path='/tmp/Aegis'/>
        <msi vectors='1' ioeventfd='on'/>
    </shmem>
    <shmem name='Eagle'>
        <model type='ivshmem-doorbell'/>
        <server path='/tmp/Eagle'/>
        <msi vectors='1' ioeventfd='on'/>
    </shmem>
    <shmem name='Lighning'>
        <model type='ivshmem-doorbell'/>
        <server path='/tmp/Lighning'/>
        <msi vectors='1' ioeventfd='on'/>
    </shmem>
    <shmem name='Hera'>
        <model type='ivshmem-doorbell'/>
        <server path='/tmp/Hera'/>
        <msi vectors='1' ioeventfd='on'/>
    </shmem>
    <shmem name='Olympus'>
        <model type='ivshmem-doorbell'/>
        <server path='/tmp/Olympus'/>
        <msi vectors='1' ioeventfd='on'/>
    </shmem>

    # xxx 为配置的 guest 机器, 打开配置界面查找 xml 中 shmem 字段配置是否与默认配置相符合
    virsh edit xxx