ESXi下装FreeBSD,尝试在FreeBSD里面使用cbsd装bhyve的Ubuntu子系统,结果启动失败。在调试过程中,发现:重启服务kld时报错
service kld restart
Loading kernel modules:
kldload: can't load if_tuntap: module already loaded or in kernel
/etc/rc.d/kld: WARNING: Unable to load kernel module if_tuntap
尝试解决
编辑/etc/rc.conf
加入这句:
kld_list="vmm if_tuntap if_bridge nmdm"
service kld restart还是报错。
查看cpu规格
因为这个是bhyve里用到的,所以按照bhyve手册里讲的,看看Linux需要的是否符合:
root@fb14:~ # cat /var/run/dmesg.boot |grep POP
Features2=0xfffa3203<SSE3,PCLMULQDQ,SSSE3,FMA,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND,HV>
Features2=0xfffa3203<SSE3,PCLMULQDQ,SSSE3,FMA,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND,HV>
root@fb14:~ # cat /var/run/dmesg.boot |grep EPT
root@fb14:~ # cat /var/run/dmesg.boot |grep UG
结果ESXi下的FreeBSD系统没有EPT和 UG ,也许这就是导致bhyve启动失败的原因。
最终原因是因为没有打开虚拟开关,打开后,系统里就有了EPT和UG,打开方式见:https://blog.csdn.net/skywalk8163/article/details/141271919