다들 별로 안궁금해하는가보다... python-virtinst 의 모듈에서 적용받는(?) 기능으로,
여기 파이선코드 보면 실제 지원하는 distrobute 들을 알 수 있다.
if distro == "fedora" or distro is None:
stores.append(FedoraDistro)
if distro == "rhel" or distro is None:
stores.append(RHELDistro)
if distro == "centos" or distro is None:
stores.append(CentOSDistro)
if distro == "sl" or distro is None:
stores.append(SLDistro)
if distro == "suse" or distro is None:
stores.append(SuseDistro)
if distro == "debian" or distro is None:
stores.append(DebianDistro)
if distro == "ubuntu" or distro is None:
stores.append(UbuntuDistro)
if distro == "mandriva" or distro is None:
stores.append(MandrivaDistro)
# XXX: this is really "nevada"
if distro == "solaris" or distro is None:
stores.append(SolarisDistro)
if distro == "solaris" or distro is None:
stores.append(OpenSolarisDistro)
if distro == "netware" or distro is None:
stores.append(NetWareDistro)
stores.append(GenericDistro)
물론 이전에 디스크이미지로 사용되는 것에서부터 .treeinfo 를 읽어
배포판에 대한 구분을 한다.........
뭐 이것만 있을까 싶겠지? 당연한 의문일것이다. Windows 에 대한 distro 는 전혀 정의되지 않았기때문이다..
osdict.py 라는 소스를 보면 OS 종류별로에 대한 dictionary 를 정의하고 있다.
여기서 흥미로운건 다음과같이 특정 종류에 대해서 virtio 등의 디바이스 셋을
추가로 정의해 줄 수 있는 부분이다. (선택가능하도록 해주는 거라고 보면 된다.)
"sles11": { "label": "Suse Linux Enterprise Server 11",
"distro": "suse",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
여기 이녀석들을 보면 virtio_disk 나 virtio_net 을 어느 배포판버젼에서
사용이 가능한지 가이드해주고 있다. +.,+
일반 generic 커널에서는 2.6.25 이후버젼의 경우 VirtIO 모듈을 사용 할 수 있다.
윈도우즈에 대한 딕셔너리도 흥미롭다.
"win2k": { "label": "Microsoft Windows 2000",
"sortby" : "mswin4", "distro": "win",
"acpi": [
(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False),
],
"apic": [
(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False),
주로 ACPI 와 APIC 에 대한 내용인데, 매니져에서 Guest 속성으로 ACPI 와 APIC 에대한
여러가지 테스트를 해본사람은 알 수 있다. 이거 잘못하면 무한리붓이다 ㅋㅋ XP에서
Solaris 에서는 VirtIO 에대한 지원은 불가라는걸 알 수 있고, 다만 USB Table 에대한
지원만 추가로 가능한것 밖에 없다.
FreeBSD ( Unix Type ) 또한 흥미로운데, 지원가능 Network 모듈에대해 정의된다.
"freebsd7": { "label": "FreeBSD 7.x" ,
"devices" : {
NET : { "model" : [ (HV_ALL, "ne2k_pci") ] }
}},
"freebsd8": { "label": "FreeBSD 8.x" ,
"devices" : {
NET : { "model" : [ (HV_ALL, "e1000") ] }
}},
쓴김에.. 그럼 대략 지원가능 (설치가능) OS 와 VirtIO 지원유무 등 간략히
표로 제작해서 붙혀주겠어...
OS\Features |
VirtIO_Disk |
VirtIO_Net |
USB_TABLET |
ETC |
RHEL 2,3,4,5 |
X |
X |
X |
|
RHEL 5.4 |
O |
O |
X |
|
RHEL 6 |
O |
O |
O |
|
Fedora 8 under |
X |
X |
X |
|
Fedora 9 |
X |
O |
X |
|
Fedora 10 upper |
O |
O |
O |
|
SLES 10 |
X |
X |
X |
|
SLES 11 |
O |
O |
X |
|
MES 5.0 |
X |
X |
X |
|
MES 5.1 |
O |
O |
X |
|
Debian 4 |
X |
X |
X |
|
Debian 5 |
O |
O |
X |
|
Debian 6 |
O |
O |
O |
|
Ubuntu 8.04, 8.10 |
X |
O |
X |
|
Ubuntu 9.04 ~ 11.10 |
O |
O |
X |
|
Generic 2.4 Kernel |
X |
X |
X |
|
Generic 2.6.25 |
O |
O |
X |
|
Windows XP, 2K |
X |
X |
X |
ACPI Not Supported |
WinXP 64, 2k3, 2k8 |
X |
X |
X |
ACPI Supported |
Vista, Win7 |
X |
X |
X |
ACPI Supported |
Solaris 9 |
X |
X |
X |
|
Solaris 10 |
X |
X |
O |
|
OpenSolaris |
X |
X |
O |
|
FreeBSD 6, 7 |
X |
X |
X |
Network: ne2k_pci |
FreeBSD 8 |
X |
X |
X |
Network: e1000 |
OpenBSD 4 |
X |
X |
X |
Network: PCNET |