Displaying 4 results from an estimated 4 matches for "get_device_driv".
2020 Jan 22
4
[v2v PATCH 0/3] Use libosinfo for query device drivers
This patch series integrates libosinfo in virt-v2v to get the list of
files for Windows from libosinfo, if possible. The actual data is still
from virtio-win, just unpacked.
Pino Toscano (3):
build: require libosinfo
v2v: add a minimal libosinfo interface
v2v: try to get windows driver files from libosinfo
m4/guestfs-v2v.m4 | 3 +
v2v/Makefile.am | 9 +-
2020 Jan 28
4
[v2v PATCH v2 0/3] Use libosinfo for query device drivers
This patch series integrates libosinfo in virt-v2v to get the list of
files for Windows from libosinfo, if possible. The actual data is still
from virtio-win, just unpacked.
Changes from v1:
- adapt to use the priority in libosinfo 1.7.0+
- filter out non-pre-installable drivers
- collect all the drivers matching the requirements, not just the first,
sorting them by priority like libosinfo does
2020 Jan 22
0
[v2v PATCH 3/3] v2v: try to get windows driver files from libosinfo
...s. *)
+ (match Xml.parse_uri location with
+ | { Xml.uri_scheme = Some scheme;
+ Xml.uri_path = Some _ } when scheme = "file" -> true
+ | _ -> false
+ )
+ with Invalid_argument _ -> false
+ ) (os#get_device_drivers ()) in
+ let uri = Xml.parse_uri driver.Libosinfo.location in
+ let dir =
+ match uri.Xml.uri_path with
+ | Some p -> p
+ | None -> assert false in
+ List.filter_map (
+ fun f ->
+ let source = dir // f in
+ if not (Sys.file_exists source) then...
2020 Jan 28
0
[v2v PATCH v2 3/3] v2v: try to get windows driver files from libosinfo
...al directory
+ *
+ * Files that do not exist are silently skipped.
+ *
+ * Returns list of copied files.
+ *)
+and copy_from_libosinfo g inspect destdir =
+ let { i_osinfo = osinfo; i_arch = arch } = inspect in
+ try
+ let os = Libosinfo_utils.get_os_by_short_id osinfo in
+ let drivers = os#get_device_drivers () in
+ (*
+ * Filter out drivers that we cannot use:
+ * - for a different architecture
+ * - non-pre-installable ones
+ * - location is an invalid URL, or a non-local one
+ *)
+ let drivers =
+ List.filter (
+ fun { Libosinfo.architecture; location; pre_in...