This resource has been deprecated in favor of 'x86-ubuntu-18.04-img'. In practise, these are the same resource (i.e., the same disk image), but we deprecate 'x86-ubuntu-img' as 'x86-ubuntu-18.04-img' is more explicit on what the disk image contains. Going forward we may want different disk image resources with different Ubuntu versions, and we want it to be clear what the user is retrieving. Change-Id: I06b08e6b65cf431067ffda35ebd10d419068d073 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/54583 Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu> Maintainer: Bobby Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
66 lines
2.7 KiB
Python
66 lines
2.7 KiB
Python
# Copyright (c) 2021 The Regents of the University of California
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met: redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer;
|
|
# redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution;
|
|
# neither the name of the copyright holders nor the names of its
|
|
# contributors may be used to endorse or promote products derived from
|
|
# this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
"""
|
|
This script utilizes the X86DemoBoard to run a simple Ubunutu boot. The script
|
|
will boot the the OS to login before exiting the simulation.
|
|
|
|
A detailed terminal output can be found in `m5out/system.pc.com_1.device`.
|
|
|
|
**Warning:** The X86DemoBoard uses the Timing CPU. The boot may take
|
|
considerable time to complete execution.
|
|
`configs/example/gem5_library/x86-ubuntu-run-with-kvm.py` can be referenced as
|
|
an example of booting Ubuntu with a KVM CPU.
|
|
|
|
Usage
|
|
-----
|
|
|
|
```
|
|
scons build/X86/gem5.opt
|
|
./build/X86/gem5.opt configs/example/gem5_library/x86-ubuntu-run.py
|
|
```
|
|
"""
|
|
|
|
from gem5.prebuilt.demo.x86_demo_board import X86DemoBoard
|
|
from gem5.resources.resource import Resource
|
|
from gem5.simulate.simulator import Simulator
|
|
|
|
|
|
# Here we setup the board. The prebuilt X86DemoBoard allows for Full-System X86
|
|
# simulation.
|
|
board = X86DemoBoard()
|
|
|
|
# We then set the workload. Here we use the 5.4.49 Linux kernel with an X86
|
|
# Ubuntu OS. If these cannot be found locally they will be automatically
|
|
# downloaded.
|
|
board.set_kernel_disk_workload(
|
|
kernel=Resource("x86-linux-kernel-5.4.49"),
|
|
disk_image=Resource("x86-ubuntu-18.04-img"),
|
|
)
|
|
|
|
simulator = Simulator(board=board)
|
|
simulator.run()
|