Changes

Jump to: navigation, search

Managed Virtual Machine (MVM)

474 bytes added, 14:26, 11 September 2017
Contents and provided services
===Contents and provided services===
This chapter briefly describes the contents and the services related to the software developing, provided by MVM. Depending on the target operating system (Yocto Linux distribution, Android etc.), contents organization may differ slightly from one MVM to another. Following sections describe these differences for all of the supported target operating systems. In general, MVMs are built upon Debian-based Linux distributions such as Ubuntu.
To log in on MVM, please use the following credentials:
The Yocto-related resources included in the MVM allows the developer to:
*Build U-Boot SPL/U-Boot separatelyindividually*Build the Linux kernel separatelyindividually*Build the Yocto BSP image, including the U-Boot, the Linux kernel, and the target root file system*Build the user application upon the Yocto SDK
*Use a pre-built root file system image
*Install on the target pre-built additional packages.
source /home/dvdk/env.sh
</pre>
 
For detailed instructions on how to build U-Boot and the Linux kernel, please refer to the specific documentation of your kit.
 
By default, the sources are installed in the following directories:
*U-Boot: <code>/home/dvdk/<target_name>/u-boot</code>
*Linux kernel: <code>/home/dvdk/<target_name>/linux</code>
*MVM: <code>/home/dvdk/<target_name>/mvm/</code>.
U-Boot and Linux sources were retrieved from public git repositories, during the creation process of the MVM. Again, the specific documentation of your kit indicates the addresses of these repositories.
 
 
{{ImportantMessage|text=Please note that access to DAVE Embedded Systems' git repositories is granted to development kit's owners only. Please refer to [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|this page]] for detailed instructions on how to get access.}}
 
 
The sources can be kept in sync and up to date with DAVE Embedded Systems' repositories.
Once the git account has been enabled, the developer can:
*clone the repository with the <code>git clone <git_remote_repository></code> command
*synchronize a source tree entering the repository directory and launching the <code>git fetch origin</code> command.
Please note that git fetch doesn't merge the commits on the current branch. To do that, the developer should run the <code>git merge</code> command or replace the ''fetch-merge'' process with a single <code>git pull</code> command. Please note that the recommended method is the ''fetch-merge'' process. For further information on Git, please refer to the official Git Documentation (http://git-scm.com/documentation).
[1] For more details about TFTP and NFS servers on host side, please refer to this [[Setting_up_tftp_and_nfs|page]].
 =====Root Building Yocto BSP images including the U-Boot, the Linux kernel, and target root file system images and SDKs=====
As known, Linux needs a root file system to operate: a root file system must contain everything needed to support the Linux system (applications, settings, data, etc.). The root file system is the file system that is contained on the same partition on which the root directory is located. The Linux kernel, at the end of its startup stage, mounts the root file system on the configured root device and finally launches the <code>/sbin/init</code>, the first user space process and "father" of all the other processes.
For more information on the Linux filesystem, please refer to http://www.thegeekstuff.com/2010/09/linux-file-system-structure/.
In general, the kit supports several root file system images. These images are generated by the BSP build process along with the U-Boot binary file and the Linux kernel image. The typical root file system images available are the following:*<code><target_name>-image</code> or <code><target_name>-core-image</code>
**This is a minimal image that can be used as starting point for the production file system.
*<code><target_name>-image-networking</code>
The development kits that are based on Yocto are also released along with a rich repository containing pre-built applications and libraries. These packages can be easily installed on the target by using the <code>smart</code> tool. Please refer to the specific documentation of your kit to have more information about the use of this tool.
For each supported target root file system image, there is an associated SDK. These SDKs are associated with the root file system images mentioned above. The pre-built SDKs included in the MVM are located here: <code>/home/dvdk/<target_name>/sdk</code>. The specific documentation of your kit indicates how to generate the SDKs.
About C/C++ application development and debugging, please refer to [[Debugging_with_Eclipse_(MVM)|this page]].
 
=====Building U-Boot and Linux kernel without Yocto build system=====
In some cases, it is convenient to build the U-Boot and/or the Linux kernel without invoking the Yocto build system.
 
For detailed instructions on how to build the U-Boot and the Linux kernel this way, please refer to the specific documentation of your kit.
 
By default, the source files are installed in the following directories:
*U-Boot: <code>/home/dvdk/<target_name>/u-boot</code>
*Linux kernel: <code>/home/dvdk/<target_name>/linux</code>
*MVM: <code>/home/dvdk/<target_name>/mvm/</code>.
U-Boot and Linux sources were retrieved from public git repositories, during the creation process of the MVM. Again, the specific documentation of your kit indicates the addresses of these repositories.
 
 
{{ImportantMessage|text=Please note that access to DAVE Embedded Systems' git repositories is granted to development kit's owners only. Please refer to [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|this page]] for detailed instructions on how to get access.}}
 
 
These sources can be kept in sync and up to date with DAVE Embedded Systems' repositories.
Once the git account has been enabled, the developer can:
*clone the repository with the <code>git clone <git_remote_repository></code> command
*synchronize a source tree entering the repository directory and launching the <code>git fetch origin</code> command.
Please note that git fetch doesn't merge the commits on the current branch. To do that, the developer should run the <code>git merge</code> command or replace the ''fetch-merge'' process with a single <code>git pull</code> command. Please note that the recommended method is the ''fetch-merge'' process. For further information on Git, please refer to the official Git Documentation (http://git-scm.com/documentation).
 
====Android-based Linux distribution====
4,650
edits

Navigation menu