Index: fixup_image_for_qemu.py |
diff --git a/fixup_image_for_qemu.py b/fixup_image_for_qemu.py |
deleted file mode 100755 |
index 4c21e2b376867c4fcd60d22850f5074038ef0288..0000000000000000000000000000000000000000 |
--- a/fixup_image_for_qemu.py |
+++ /dev/null |
@@ -1,112 +0,0 @@ |
-#!/usr/bin/env python |
- |
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Makes changes to mounted Chromium OS image to allow it to run with VMs |
- |
-This script changes two files within the Chromium OS image to let the image |
-work with VMs, particularly QEMU |
- |
-Currently this script does the following, |
-1.) Modify the post install script to remove EFI fixup section; the VM's we |
-support don't have EFI support anyway and this section of the script needs |
-access to the actual device drives |
- |
-2.) For QEMU/KVM, we change the xorg.conf to remove mouse support and instead |
-change it to complete tablet support. This is done to provide better mouse |
-response in the VM since tablets work of absolute coordinates while the mouse |
-works of relative. In a screen that doesn't support a mouse grab (e.g., VNC), |
-relative coordinates can cause the mouse to be flaky |
- |
-""" |
- |
-from optparse import OptionParser |
-import os |
-import stat |
-import sys |
- |
-USAGE = "usage: %prog --mounted_dir=directory --enable_tablet=[true]" |
- |
-INPUT_SECTION_MARKER = r'Section "InputDevice"' |
-SECTION_END_MARKER = r'EndSection' |
- |
-MOUSE_SECTION_IDENTIFIERS = [] |
-MOUSE_SECTION_IDENTIFIERS += ['Identifier "Mouse'] |
-MOUSE_SECTION_IDENTIFIERS += ['Identifier "USBMouse'] |
- |
-REPLACE_USB_MOUSE_PAIR = ('InputDevice "USBMouse" "AlwaysCore"', '') |
-XORG_CONF_FILENAME = os.path.join('etc', 'X11', 'xorg.conf') |
- |
- |
-TABLET_DEVICE_CONFIG = """ |
-Section "InputDevice" |
- Identifier "Mouse1" |
- Driver "evdev" |
- Option "Device" "/dev/input/event2" |
- Option "CorePointer" "true" |
-EndSection |
-""" |
- |
- |
-# Modify the xorg.conf file to remove all mouse sections and replace it |
-# with ours containing the tablet - note: when running under QEMU, you |
-# *need* to specify the -usbdevice tablet option to get the mouse to work |
-def FixXorgConf(mount_point): |
- xorg_conf_filename = os.path.join(mount_point, XORG_CONF_FILENAME) |
- f = open(xorg_conf_filename, 'r') |
- xorg_conf = f.read() |
- f.close() |
- |
- more_sections = 1 |
- last_found = 0 |
- while (more_sections): |
- # Find the input section. |
- m1 = xorg_conf.find(INPUT_SECTION_MARKER, last_found) |
- if m1 > -1: |
- m2 = xorg_conf.find(SECTION_END_MARKER, m1) |
- m2 += len(SECTION_END_MARKER) |
- # Make sure the next iteration doesn't rinse/repeat. |
- last_found = m2 |
- # Check if this is a mouse section. |
- for ident in MOUSE_SECTION_IDENTIFIERS: |
- if xorg_conf.find(ident, m1, m2) != -1: |
- xorg_conf = xorg_conf[0:m1] + xorg_conf[m2:] |
- last_found -= (m2-m1) |
- break |
- else: |
- more_sections = 0 |
- |
- xorg_conf = xorg_conf[0:last_found] + TABLET_DEVICE_CONFIG + \ |
- xorg_conf[last_found:] |
- |
- # Replace UsbMouse with Tablet. |
- xorg_conf = xorg_conf.replace(REPLACE_USB_MOUSE_PAIR[0], |
- REPLACE_USB_MOUSE_PAIR[1]) |
- |
- # Write the file back out. |
- f = open(xorg_conf_filename, 'w') |
- f.write(xorg_conf) |
- f.close() |
- |
-def main(): |
- parser = OptionParser(USAGE) |
- parser.add_option('--mounted_dir', dest='mounted_dir', |
- help='directory where the Chromium OS image is mounted') |
- parser.add_option('--enable_tablet', dest='enable_tablet', |
- default="true", |
- help='fixup image for qemu') |
- (options, args) = parser.parse_args() |
- |
- if not options.mounted_dir: |
- parser.error("Please specify the mount point for the Chromium OS image"); |
- if options.enable_tablet not in ('true', 'false'): |
- parser.error("Please specify either true or false for --enable_tablet") |
- |
- if (options.enable_tablet == 'true'): |
- FixXorgConf(options.mounted_dir) |
- |
- |
-if __name__ == '__main__': |
- main() |