Giter Site home page Giter Site logo

gem5-parsec3's Introduction

gem5 PARSEC3 disk scripts

The image disk can be produced with qemu by following the steps behind:

  1. Create a qemu disk image for the OS files and swap. A size of 10GB is sufficient:
    qemu-img create -f raw linux-x86.img 10G
  1. Donwload the Debian Wheezy netinstall kernel and ramdisk:
  wget http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
  wget http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
  1. Boot the downloaded kernel (not the gem5 kernel) and ramdisk using a default PC and serial output:
  qemu-kvm -M q35 -kernel linux -initrd initrd.gz -hda disks/linux-x86.img -m 2G -nographic -append "auto=true root=/dev/sda1 console=ttyS0 hostname=debian domain= url=<URL>"

where <URL> is the HTTP link (netinstaller only support this) to the debian-preseed file. HTTPS is not supported neither. Uploading the file content on Pastebin and using the raw URL is a quick workaround.

This will create the base image automatically with root/root and tux/tux sets of user/passwords.

  1. Once the installation done, reboot QEMU with the freshly built kernel in Section \ref{appendix:kernel} and no ramdisk.
  qemu-kvm -M q35 -kernel binaries/bzImage -hda disks/linux-x86.img -m 2G -nographic -append "root=/dev/sda1 console=ttyS0"
  1. On the target machine as root, clone the disk image repository:
  git clone https://github.com/anthonygego/gem5-parsec3.git
  1. Launch the setup script located in the \texttt{disk} folder:
  cd gem5-parsec3/disk
  ./setup.sh

This will automatically install PARSEC dependencies, build and copy the m5 executable in the /sbin folder, copy the new init startup file and build the whole PARSEC suite.

  1. When ready to launch on gem5, switch between the startup files:
  mv /etc/init.d/rcS /etc/init.d/rcS.orig
  mv /etc/init.d/rcS.gem5 /etc/init.d/rcS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.