6.18 虚拟化(9)selftests(1) kvm selftests的构建
1.selftests concept
https://docs.linuxkernel.org.cn/dev-tools/kselftest.html#documentation-on-the-tests
概括:用户进程/对内核某些功能进行测试/入手KVM
2.编译
直接在linux目录下进行编译:
2.1 一定要先make ARCH=arm64 headers_install
否则会出现各种关键字找不到的情况
2.2 make ARCH=arm64 headers_install
最后放在usr/include下面,这里要说明一下ARCH=arm64,因为交叉编译的原因,如果在这里不指定的话,会按照编译机器架构,例如X86,而不会按照目标机器架构
2.3 make
编译成功,在指定目录下会有压缩包,说一下这个编译指令,首先指定交叉编译,静态编译,-C 切换到指定目录,targets就是指定目标目录进行编译,最后打包成一个压缩包
make ARCH=arm64 headers_install
make O=/tmp/kselftest-out ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
LDFLAGS='-static' \
-C tools/testing/selftests \
TARGETS=kvm \
gen_tar FORMAT=.xz
3.放进目标设备中并解压
find kselftest.tar.xz | cpio -o -H newc -R +0:+0 | pigz -9 >> ./ramdisk.gz mkdir -p /opt/kst tar -xvf kselftest.tar.xz -C /opt/kst/
4.跑测试前需要的前提
一定要有/dev/kvm设备
5.测试第一个测试用例
日志打印成功
#我的岗位说明书##笔试##内核开发##Linux##嵌入式软开#