summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2010-09-02 15:10:26 +0100
committerDaniel P. Berrange <berrange@redhat.com>2010-09-02 15:10:26 +0100
commitf402f99682a29c96460a31b96b93a14e854c9ab2 (patch)
tree7ccece575df12b2394a6bdb191f8aed56cd7d8ba /docs
parent7f59bbba420f7a10843821f72cb37ea20417e77c (diff)
Add notes about possible data sources for populating the database
Add notes about the possible sources for finding device info about operating systems and hypervisor platforms * docs/data-sources.txt: Note data sources for OS and hypervisors
Diffstat (limited to 'docs')
-rw-r--r--docs/data-sources.txt99
1 files changed, 99 insertions, 0 deletions
diff --git a/docs/data-sources.txt b/docs/data-sources.txt
new file mode 100644
index 0000000..de5fe08
--- /dev/null
+++ b/docs/data-sources.txt
@@ -0,0 +1,99 @@
+ Data Sources for libosinfo metadata
+ ===================================
+
+libosinfo is only as good as the data it is given.
+Identifying data sources is thus a key component.
+
+Website databases
+-----------------
+
+A list of all known PCI vendor + product IDs is available
+from
+
+ http://pciids.sourceforge.net/v2.2/pci.ids
+
+A list of all known USB vendor + product IDs is available
+from
+
+ http://www.linux-usb.org/usb.ids
+
+These can be used to populate the master list of devices.
+This leaves non-USB/PCI devices to be populated manually
+eg legacy ISA, PS/2, serial etc.
+
+Linux kernels
+-------------
+
+ - modinfo against a kmod shows aliases
+
+ # modinfo e1000.ko | grep alias
+ alias: pci:v00008086d000010B5sv*sd*bc*sc*i*
+ alias: pci:v00008086d00001099sv*sd*bc*sc*i*
+ alias: pci:v00008086d0000108Asv*sd*bc*sc*i*
+ alias: pci:v00008086d0000107Csv*sd*bc*sc*i*
+ alias: pci:v00008086d0000107Bsv*sd*bc*sc*i*
+ alias: pci:v00008086d0000107Asv*sd*bc*sc*i*
+ alias: pci:v00008086d00001079sv*sd*bc*sc*i*
+ alias: pci:v00008086d00001078sv*sd*bc*sc*i*
+ alias: pci:v00008086d00001077sv*sd*bc*sc*i*
+ ...
+
+ These lines can be parsed to identify the PCI/USB/etc product +
+ vendor IDs, and thus populate device link objects.
+
+Linux distros
+-------------
+
+Identify the kernel used by the installer for each architecture,
+and extract device links from there
+
+Windows
+-------
+
+XXX fill in how to find supported devices
+
+Solaris
+-------
+
+XXX fill in how to find supported devices
+
+{Open/Net/Free}BSD
+------------------
+
+XXX fill in how to find supported devices
+
+KVM/QEMU hypervisor
+-------------------
+
+0.12 or later has a '-device ?' to print all known devices, but
+this lacks vendor/product IDs. Get this fixed upstream, or manually
+match them up to devices
+
+Prior to 0.12 requires fully manual effort to identify supported
+devices
+
+Xen hypervisor
+--------------
+
+A tiny set of paravirt devices + whatever the QEMU-DM build will
+support. Make sure that -device ? doesn't get broken for the latter
+
+VMware
+------
+
+XXX fill in how to find supported devices
+
+Hyper-V
+-------
+
+XXX fill in how to find supported devices
+
+Virtualbox
+----------
+
+XXX fill in how to find supported devices
+
+LXC
+---
+
+No real choice of hardware models