问题:
之前使用Xen,加载自己的内核模块本来没有问题,后来重装了系统,安装了新版本的Xen server。再在虚拟机加载前端驱动的时候,当运行xenbus_printf()函数时,返回errno=13,即Permission denied。
====================================================================================
解决方法:
需要用xenstore-chmod命令修改目录的权限。
之前只有这一句下面使虚拟机可以读dom0的目录
xenstore-chmod /local/domain/0/backend/myvd/1/0 r (myvd是我的前端设备,1是虚拟机的id)
添加并且修改为b(both, read and write)
xenstore-chmod /local/domain/0/backend/myvd/1/0 b
xenstore-chmod /local/domain/1/device/myvd/0 b
再加载就不会出现permission denied的问题。
====================================================================================问题分析:
可能版本升级了以后,xenstore里的访问权限变成默认不让domU访问,必须手动修改权限