Difference between revisions of "Running M5 in Full-System Mode"
m (Update links) |
m (→Basic Operation: clean up text around link) |
||
Line 25: | Line 25: | ||
===Basic Operation=== | ===Basic Operation=== | ||
− | The M5 binary can load a Linux binary, and must be pointed to a disk image it can mount as its root filesystem. Any application binaries that you want to run must be present on these disk images. To begin running them, M5 can load .rcS files, which are exactly like normal Linux boot scripts) to directly execute from after booting the OS. These .rcS files can be used to configure ethernet interfaces, execute special m5 instructions, or begin executing a binary on the disk image. The pointers for the linux binary, disk images, and .rcS files are all set in the | + | The M5 binary can load a Linux binary, and must be pointed to a disk image it can mount as its root filesystem. Any application binaries that you want to run must be present on these disk images. To begin running them, M5 can load .rcS files, which are exactly like normal Linux boot scripts) to directly execute from after booting the OS. These .rcS files can be used to configure ethernet interfaces, execute special m5 instructions, or begin executing a binary on the disk image. The pointers for the linux binary, disk images, and .rcS files are all set in the simulation script. (To see how these files work, see [[Simulation Scripts Explained]].) |
Examples: Going into / of root filesystem and typing ls will show: | Examples: Going into / of root filesystem and typing ls will show: | ||
<pre> | <pre> |
Revision as of 19:54, 20 August 2006
Quick Start
We'll assume that you've already built the ALPHA_FS M5 simulator. Then you can just run the fs.py configuration file in the m5/configs/examples directory. For example:
% build/ALPHA_FS/m5.debug -d /tmp/output configs/example/fs.py M5 Simulator System Copyright (c) 2001-2006 The Regents of The University of Michigan All Rights Reserved M5 compiled Aug 16 2006 18:51:57 M5 started Wed Aug 16 21:53:38 2006 M5 executing on zeep command line: ./build/ALPHA_FS/m5.debug configs/example/fs.py 0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006 Listening for console connection on port 3456 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000 warn: Entering event queue @ 0. Starting simulation... <...simulation continues...>
Basic Operation
The M5 binary can load a Linux binary, and must be pointed to a disk image it can mount as its root filesystem. Any application binaries that you want to run must be present on these disk images. To begin running them, M5 can load .rcS files, which are exactly like normal Linux boot scripts) to directly execute from after booting the OS. These .rcS files can be used to configure ethernet interfaces, execute special m5 instructions, or begin executing a binary on the disk image. The pointers for the linux binary, disk images, and .rcS files are all set in the simulation script. (To see how these files work, see Simulation Scripts Explained.) Examples: Going into / of root filesystem and typing ls will show:
benchmarks etc lib mnt sbin usr bin floppy lost+found modules sys var dev home man proc tmp z
Snippet of an .rcS file:
echo -n "setting up network..." /sbin/ifconfig eth0 192.168.0.10 txqueuelen 1000 /sbin/ifconfig lo 127.0.0.1 echo -n "running surge client..." /bin/bash -c "cd /benchmarks/surge && ./Surge 2 100 1 192.168.0.1 5. echo -n "halting machine" m5 exit
Full System Benchmarks
We have several full-system benchmarks already up and running. The binaries are available in the disk images you can obtain/download from us, and the .rcS files are in the m5/configs/boot/ directory. To run any of them, you merely need to set the benchmark option to the name of the test you want to run. For example:
%./build/ALPHA_FS/m5.opt configs/examples/fs.py -b NetperfMaerts
To see a comprehensive list of all benchmarks available:
%./build/ALPHA_FS/m5.opt configs/examples/fs.py -h
Not every benchmark is commonly used though, and not all are guaranteed to be useful or in working condition. However, we do often run:
- NetperfMaerts
- NetperfStreamNT
- SurgeSpecweb
These should run without a problem, since we have flushed out most bugs.
Currently under development:
- NFS
- iSCSI
- video streaming