mirror of
https://github.com/flatcar/scripts.git
synced 2025-12-09 19:31:54 +01:00
Use 1280x1024 resolution when running ChromeOS under qemu.
BUG=none TEST=Run ChromeOS under qemu, the screen should be 1280x1024 not 800x600. Review URL: http://codereview.chromium.org/6768009 Change-Id: I9a73025244a85d3b07e98136b373b00bb40cd9dd
This commit is contained in:
parent
0ed5e34e45
commit
7e0b3d8d9f
57
fixup_image_for_qemu.py
Executable file
57
fixup_image_for_qemu.py
Executable file
@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Copyright (c) 2011 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 xorg.conf to advertize a screen which can do 1280x1024
|
||||
"""
|
||||
|
||||
from optparse import OptionParser
|
||||
import os
|
||||
import stat
|
||||
import sys
|
||||
|
||||
USAGE = "usage: %prog --mounted_dir=directory"
|
||||
|
||||
REPLACE_SCREEN_PAIR = ('Identifier "DefaultMonitor"',
|
||||
'Identifier "DefaultMonitor"\n HorizSync 28-51\n VertRefresh 43-60')
|
||||
XORG_CONF_FILENAME = os.path.join('etc', 'X11', 'xorg.conf')
|
||||
|
||||
|
||||
# Modify the xorg.conf file to change all screen sections
|
||||
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()
|
||||
|
||||
# Add refresh rates for the screen
|
||||
xorg_conf = xorg_conf.replace(REPLACE_SCREEN_PAIR[0],
|
||||
REPLACE_SCREEN_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')
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
if not options.mounted_dir:
|
||||
parser.error("Please specify the mount point for the Chromium OS image");
|
||||
|
||||
FixXorgConf(options.mounted_dir)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@ -189,6 +189,9 @@ sudo mount -o loop "${TEMP_ROOTFS}" "${TEMP_MNT}"
|
||||
mkdir -p "${TEMP_ESP_MNT}"
|
||||
sudo mount -o loop "${TEMP_ESP}" "${TEMP_ESP_MNT}"
|
||||
|
||||
sudo python "${SCRIPTS_DIR}/fixup_image_for_qemu.py" \
|
||||
--mounted_dir="${TEMP_MNT}"
|
||||
|
||||
# Modify the unverified usb template which uses a default usb_disk of sdb3
|
||||
sudo sed -i -e 's/sdb3/sda3/g' "${TEMP_MNT}/boot/syslinux/usb.A.cfg"
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user