Metadata-Version: 1.0
Name: lava-fastmodels
Version: 0.1.dev12
Summary: ARM Fast Models support code for LAVA
Home-page: UNKNOWN
Author: Zygmunt Krynicki
Author-email: zygmunt.krynicki@linaro.org
License: AGPL
Description: Fast Model support for LAVA
        ===========================
        
        This package contains low level code for managing fast models in LAVA.
        Currently it is designed to manage NFS mounts, setting up the root filesystem
        (exporting the provided tarball to the mount point and blessing it with
        fast-model specific changes, if required). It also contains code for starting
        the fast model runtime, monitoring execution and eventual shutdown (or forced
        shutdown, if required).
        
        Support for lava-serial plugin is being considered (to be able to get a
        LAVA-Serial access to a running fast model emulation)
        
        Requirements
        ============
        
        * Working installation of FastModelsPortfolio 7.0 from ARM
        * Root access on local machine (to manipulate NFS shares, gained
          automatically via sudo)
        * Bleeding edge version of json-document and more mature versions
          of lava-tool and their dependencies (in the upcoming release also
          a bleeding edge version of lava-serial)
        
        Example
        =======
        
        (I made this up as that part does not work yet).
        
        To start a fast model on your machine run the following command:
        $ lava fast-model start --kernel=uImage --initrd=initrd --rootfs=roottfs.tar.gz
        Unpacking rootfs... done
        Setting up NFS share... done
        Starting fast model... done
        You can connect to the serial console with
         $ lava serial console --network localhost:5001
        Pressing CTRL-C will terminate this simulation
        ^C
        Shutting down... done
        Removing NFS share... done
        Removing root filesystem... done
        $ 
        
        API
        ===
        
        To use fast models in your code you can try the following example.
        (I just made it up, it does not work yet)
        
        import time
        from lava.fastmodels.simulators import LinuxSimulator
        from lava.fastmodels.models import ModelLibrary 
        
        
        class Handler(object):
        
            def on_line(self, line):
                print repr(line)
        
        # Get a library, any path works (as long as you have models there)
        library = ModelLibrary('/srv/lava/instances/dev/var/lib/lava/fastmodels/models')
        # Get a model from the library
        model = library['A15x1']
        
        simulator = LinuxSimulator(model, rootfs="rootfs.tar.gz", uImage="uImage")
        with simulator.start():
            serial = simulator.serial_console
            serial.attach_handler(Handler())
            time.sleep(60)
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Testing
