1#!/bin/bash 2set -x 3 4sudo apt install -y libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf git make dpkg-dev libmnl-dev pkg-config 5sudo sed -i -- 's/# deb-src/deb-src/g' /etc/apt/sources.list 6sudo apt update 7apt-get source linux-image-unsigned-`uname -r` 8pushd linux-azure*/drivers/vdpa/vdpa_sim/ 9cat <<'EOF' > Makefile 10# SPDX-License-Identifier: GPL-2.0 11obj-m += vdpa_sim.o 12obj-m += vdpa_sim_net.o 13obj-m += vdpa_sim_blk.o 14EOF 15make -C /lib/modules/`uname -r`/build M=$PWD 16sudo make -C /lib/modules/`uname -r`/build M=$PWD modules_install 17popd 18sudo depmod -a 19sudo modprobe vdpa 20sudo modprobe vhost_vdpa 21sudo modprobe vdpa_sim 22sudo modprobe vdpa_sim_blk 23sudo modprobe vdpa_sim_net 24# After the Jenkins builder are moved to Ubuntu 22.04, manually building and 25# installing iproute2/vdpa won't be required. 26# Tracked by: https://github.com/cloud-hypervisor/cloud-hypervisor/issues/3862 27git clone https://github.com/shemminger/iproute2.git 28pushd iproute2 29./configure 30make -j 31sudo make install 32popd 33# Create /dev/vhost-vdpa-0 34sudo vdpa dev add name vdpa-blk1 mgmtdev vdpasim_blk 35# Create /dev/vhost-vdpa-1 36sudo vdpa dev add name vdpa-blk2 mgmtdev vdpasim_blk 37# Create /dev/vhost-vdpa-2 38sudo vdpa dev add name vdpa-net1 mgmtdev vdpasim_net 39sudo chmod 660 /dev/vhost-vdpa-0 40sudo chmod 660 /dev/vhost-vdpa-1 41sudo chmod 660 /dev/vhost-vdpa-2 42vdpa dev show -jp