meta-agl-bsp: extend qemux86-64 hardware support
[AGL/meta-agl.git] / README.md
index 0ee1a74..9967f08 100644 (file)
--- a/README.md
+++ b/README.md
-meta-agl, the Yocto layer for Automotive Grade Linux Distribution
-=================================================================
+# 'meta-agl' layer
 
-This layer's purpose is ... [TBD]
+See README-AGL.md for general information about Automotive Grade Linux.
 
-Layer Dependencies
-------------------
+## meta-agl, the core layer for Automotive Grade Linux Distribution
 
-URI: git://git.yoctoproject.org/poky
-> branch:   dizzy
-> revision: 5f0d25152bac2d3798663a4ebfdd2df24060f153
+AGL is creating an automotive specific Linux distribution that unifies
+the software that has been written in a number of places already,
+such as GENIVI and Tizen IVI.
 
-URI: git://git.openembedded.org/meta-openembedded
-> layer:    meta-oe
-> branch:   dizzy
-> revision: 853dcfa0d618dc26bd27b3a1b49494b98d6eee97
+The layer 'meta-agl' provides a minimal set of software
+to boot system of AGL Distribution. 'meta-agl' is the minimal
+core which is used build AGL profiles on top of it.
 
-## The Renesas R-Car Gen2 (Porter) board depends in addition on: ##
+Especially there is no reference UI included which is part of 'meta-agl-demo'.
 
-URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
-> branch:   agl-1.0-bsp-1.8.0
-> revision: c28172567a6325f5692e5d33b1ae1c1e64e59ddf
+Additional components like the security framework are part of 'meta-agl-extra'.
 
-Layers
-------
+The AGL community appreciates feedback, ideas, suggestion, bugs and
+documentation just as much as code. Please join the irc conversation
+at the #automotive channel on irc.freenode.net and our mailing list.
 
-There are 2 sub-layers in top-level `meta-agl`.
+For infomation for subscribing to the mailing list
+    [automotive-discussions](http://lists.linuxfoundation.org/mailman/listinfo/automotive-discussions)
+For information about AGL Distribution, see the
+    [AGL Distribution](https://wiki.automotivelinux.org/agl-distro)
+For information abount Getting started with AGL
+    [here](https://wiki.automotivelinux.org/start/getting-started)
+For information about contributing to the AGL Distro
+    [here](https://wiki.automotivelinux.org/agl-distro/contributing)
 
-`meta-agl` is a layer which contains AGL common and middleware packages.
-> meta-agl/meta-agl
+## Quick start guide
 
-`meta-agl-bsp` is a layer which contains required packages to boot AGL distribution on an emulated machine(QEMU).
-> meta-agl/meta-agl-bsp
+See README-AGL.md
 
-Packagegroups
--------------
+## 'meta-agl' Layer Dependencies
 
-AGL package group design:
-
-These are the top-level packagegroups for AGL Distribution.
-> packagegroup-agl-core  (basic/common packages out of oe-core)
-> packagegroup-agl-ivi   (middlewares for AGL IVI)
-
-Each package group can contain sub-package groups like these.
-> packagegroup-agl-core-multimedia
-> packagegroup-agl-core-connectivity
-> ...
-> packagegroup-agl-ivi-multimedia
-> packagegroup-agl-ivi-connectivity
-> ...
-
-The recipe for `packagegroup-agl-core-*.bb` will contain common packages between meta-agl, meta-ivi and meta-tizen.
-> directory: meta-agl/meta-agl/recipes-core/packagegroups
-> recipes  : packagegroup-agl-core-[subsystem].bb
-
-The "packagegroups-agl-ivi-*" will contain AGL specific middleware packages.
-> directory: meta-agl/meta-agl/recipes-ivi/packagegroups
-> recipes  : packagegroup-agl-ivi-[subsystem].bb
-
-Supported Machine
------------------
-
-* QEMU (x86-64) - emulated machine: qemux86-64
-* Renesas R-Car Gen2 (R-Car M2) - machine: porter
-
-Supported Target of bitbake
-------------------------
-
-* `agl-image-ivi` The baseline image of AGL Distributions
-
-* `agl-image-minimal` For internal use to develop distribution (experimental)
-* `agl-image-weston`  For internal use to develop distribution (experimental)
-
-Supposed Directory Trees of Layers to build
--------------------------------------------
-
-* For QEMU
-
-      ${TOPDIR}/
-                meta-agl/
-                meta-openembedded/
-                poky/
-
-* For R-Car M2
-
-      ${TOPDIR}/
-                meta-agl/
-                meta-openembedded/
-                meta-renesas/
-                poky/
-
-Build a QEMU image
-------------------
-
-You can build a QEMU image using the following steps:
-
-1. Export TEMPLATECONF to pick up correct configuration for the build
-   > $ export TEMPLATECONF=/full/path/to/meta-agl/meta-agl/conf
-
-2. Run the following command:
-   > $ source poky/oe-init-build-env
-
-3. Build the minimal image of AGL Distribution
-   > $ bitbake agl-image-ivi
-
-4. Run the emulator
-   > $ PATH_TO_POKY/poky/scripts/runqemu agl-image-ivi qemux86-64
-
-   For large screen:
-   > $ PATH_TO_POKY/poky/scripts/runqemu agl-image-ivi qemux86-64 bootparams="uvesafb.mode_option=1280x720-32"
-
-5. Some weston samples are available from weston terminal.
-
-Build a R-Car M2 (porter) image
--------------------------------
-
-### Software setup
-
-NOTE: These instructions are based on GENIVI wiki, [here](http://wiki.projects.genivi.org/index.php/Hardware_Setup_and_Software_Installation/koelsch%26porter). If these didn't work correctly especially around Renesas Binary Packages, please check there and updated instructions.
+* poky
+  > URI: git://git.yoctoproject.org/poky
+  > branch         : jethro
+  > tested revision: 40376446904ae3529be41737fed9a0b650ed167d
 
-#### Getting Source Code and Build image
+* meta-openembedded
+  > URI: git://git.openembedded.org/meta-openembedded
+  > layer          : meta-openembedded
+  > branch         : jethro
+  > tested revision: 8ab04afbffb4bc5184cfe0655049de6f44269990
 
-1. Create a directory for working, then go to there.
-        $ mkdir -p $HOME/ANYWHERE_YOU_WANT_TO_WORK_THERE
-        $ cd $HOME/ANYWHERE_YOU_WANT_TO_WORK_THERE
-        $ export AGL_TOP=`pwd`
+Specifically out of meta-openembedded these sub-layers are used:
 
-2. Get the meta data and checkout
-        $ git clone git://git.yoctoproject.org/poky
-        $ cd poky
-        $ git checkout 5f0d25152bac2d3798663a4ebfdd2df24060f153
-        $ cd -
-        $ git clone git://git.openembedded.org/meta-openembedded
-        $ cd meta-openembedded
-        $ git checkout 853dcfa0d618dc26bd27b3a1b49494b98d6eee97
-        $ cd -
-        $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
-        $ cd meta-renesas
-        $ git checkout c28172567a6325f5692e5d33b1ae1c1e64e59ddf
-        $ cd -
-        $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
+* meta-openembedded/meta-oe
+* meta-openembedded/meta-multimedia
+* meta-openembedded/meta-networking
+* meta-openembedded/meta-python
 
-#### Obtain and Install Renesas Graphics Drivers
+## Layers
 
-1. Download packages from Renesas
+There are 5 layers in top-level `meta-agl`.
 
-  The graphics and multimedia acceleration packages for the R-Car M2 Porter board
-  can be download directory from [here](http://www.renesas.com/secret/r_car_download/rcar_demoboard.jsp).
+* `meta-agl/meta-ivi-common`\
+  `meta-ivi-common` is a layer which contains common packages to AGL
+  Distribution and other platforms for In-Vehicle Infotainment system.
+* `meta-agl/meta-agl`\
+  `meta-agl` is a layer which contains AGL common and middleware packages.
+* `meta-agl/meta-agl-bsp`\
+  `meta-agl-bsp` is a layer which contains required packages to boot AGL
+  distribution on an emulated machine(QEMU).
+* `meta-agl/meta-netboot`\
+  `meta-netboot` contains the netboot initrd support recipes. This is needed
+  in case of booting over the network as NFS does not support the securitylabels.
 
-  There are 2 ZIP files can be downloaded.
-    * Multimedia and Graphics library which require registeration and click through license
-    > r-car_series_evaluation_software_package_for_linux-*.zip
-    * Related Linux drivers
-    > r-car_series_evaluation_software_package_of_linux_drivers-*.zip
+## Packagegroups
 
-2. Unzip the two downloads into a temporary directory.
-        $ cd $AGL_TOP
-        $ mkdir binary-tmp
-        $ cd binary-tmp
-        $ unzip PATH_TO_DOWNLOAD/r-car_series_evaluation_software_package_for_linux-*.zip
-        $ unzip PATH_TO_DOWNLOAD/r-car_series_evaluation_software_package_of_linux_drivers-*.zip
-
-   After this step there should be two files in binary-tmp:
-   * Multimedia and Graphics library
-   > R-Car_Series_Evaluation_Software_Package_for_Linux-*.tar.gz
-   * Related Linux drivers
-   > R-Car_Series_Evaluation_Software_Package_of_Linux_Drivers-*.tar.gz
-
-3. Extract 2 tar archives
-        $ tar xf R-Car_Series_Evaluation_Software_Package_for_Linux-*.tar.gz
-        $ tar xf R-Car_Series_Evaluation_Software_Package_of_Linux_Drivers-*.tar.gz
-
-4. Copy 2 files manually
-   1. Locate `EVA_r8a7791_linux_sgx_binaries_gles2.tar.bz2` in the Multimedia and Graphics library deliverable and copy it into the BSP layer.
-          $ cd $AGL_TOP
-          $ cp <path_to_file>/EVA_r8a7791_linux_sgx_binaries_gles2.tar.bz2 \
-          meta-renesas/meta-rcar-gen2/recipes-graphics/gles-module/\
-          gles-user-module/r8a7791_linux_sgx_binaries_gles2.tar.bz2
-
-   2. Locate `SGX_KM_M2.tar.bz2` in the related linux drivers deliverable and copy it into the BSP layer.
-          $ cp <path_to_file>SGX_KM_M2.tar.bz2 \
-          $ meta-renesas/meta-rcar-gen2/recipes-kernel/gles-module/gles-kernel-module
-
-#### Build from the Source code
-
-You can build a R-Car2 M2 (porter) image using the following steps:
-
-1. Export TEMPLATECONF to pick up correct configuration for the build
-        $ export TEMPLATECONF=$AGL_TOP/meta-renesas/meta-rcar-gen2/conf
-
-2. Run the following command:
-        $ cd $AGL_TOP
-        $ source poky/oe-init-build-env
-
-3. Build the minimal image of AGL Distribution
-        $ bitbake agl-image-ivi
-
-### Deployment (SDCARD)
-
-NOTE: These instructions are based on GENIVI wiki, [here](http://wiki.projects.genivi.org/index.php/Hardware_Setup_and_Software_Installation/koelsch%26porter#Deployment_.28SDCARD.29).
-
-#### Instructions on the host
-
-1. Format SD-Card and then, create single EXT3 partition on it.
-
-2. Mount the SD-Card, for example `/media/$SDCARD_LABEL`.
-
-3. Copy AGL root file system onto the SD-Card
-   1. Go to build directory
-           $ cd $AGL_TOP/build/tmp/deploy/images/porter
-   2. Extract the root file system into the SD-Card
-           $ sudo tar --extract --numeric-owner --preserve-permissions --preserve-order \
-           --totals --directory=/media/$SDCARD_LABEL --file=agl-image-ivi-porter.tar.bz2
-   3. Copy kernel and DTB into the `/boot` of the SD-Card
-           $ sudo cp uImage uImage-r8a7791-porter.dtb /media/$SDCARD_LABEL
-
-4. After the copy finished, unmount SD-Card and insert it into the SD-Card slot of the porter board.
-
-#### Instructions on the host
-
-NOTE: There is details about porter board [here](http://elinux.org/R-Car/Boards/Porter).
-
-NOTE: To boot weston on porter board, we need keyboard and mouse. (USB2.0 can be use for this)
-
-##### Change U-Boot parameters to boot from SD card
-
-1. Power up the board and, using your preferred terminal emulator, stop the board's autoboot by hitting any key.
-
-  > Debug serial settings are 38400 8N1. Any standard terminal emulator program can be used.
-
-2. Set the follow environment variables and save them
-        => setenv bootargs_console console=ttySC6,${baudrate}
-        => setenv bootargs_video vmalloc=384M video=HDMI-A-1:1024x768-32@60
-        => setenv bootcmd_sd 'ext4load mmc 0:1 0x40007fc0 boot/uImage;ext4load mmc 0:1 0x40f00000 boot/uImage-r8a7791-porter.dtb'
-        => setenv bootcmd 'setenv bootargs ${bootargs_console} ${bootargs_video} root=/dev/mmcblk0p1 rw rootfstype=ext3;run bootcmd_sd;bootm 0x40007fc0 - 0x40f00000'
-        => saveenv
-
-##### Boot from SD card
-
-1. After board reset, U-Boot is started and after a countdown, ...
-   Linux boot message should be displayed. Please wait a moment.
-2. Then weston is booted automatically, and weston-terminal appears.
+AGL package group design:
 
-3. Have fun! :)
+* packagegroup-agl-image-minimal
+
+        packagegroup-agl-core-automotive.bb
+        packagegroup-agl-core-connectivity.bb
+        packagegroup-agl-core-graphics.bb
+        packagegroup-agl-core-kernel.bb
+        packagegroup-agl-core-multimedia.bb
+        packagegroup-agl-core-navi-lbs.bb
+        packagegroup-agl-core-os-commonlibs.bb
+        packagegroup-agl-core-security.bb
+        packagegroup-agl-core-speech-services.bb
+
+These are for making image ``agl-image-minimal`` which is small image just
+capable of allowing a device to boot.
+
+Subsystem should maintain packagegroup-agl-core-[subsystem].bb which should
+hold sufficient packages to build ``agl-image-minimal``.
+
+* packagegroup-agl-image-ivi
+
+        packagegroup-agl-ivi-automotive.bb
+        packagegroup-agl-ivi-connectivity.bb
+        packagegroup-agl-ivi-graphics.bb
+        packagegroup-agl-ivi-kernel.bb
+        packagegroup-agl-ivi-multimedia.bb
+        packagegroup-agl-ivi-navi-lbs.bb
+        packagegroup-agl-ivi-os-commonlibs.bb
+        packagegroup-agl-ivi-security.bb
+        packagegroup-agl-ivi-speech-services.bb
+
+These are for making image ``agl-image-ivi`` which is baseline for the profiles
+of AGL distro. 'Baseline' means Service Layer and Operating System Layer defined
+in AGL Spec v1.0.
+
+* packagegroup-agl-test.bb
+
+Additional tools used in QA tests (for agl-image*-qa).
+
+* packagegroup-ivi-common*
+
+        packagegroup-ivi-common-core-automotive.bb
+        packagegroup-ivi-common-core.bb
+        packagegroup-ivi-common-core-connectivity.bb
+        packagegroup-ivi-common-core-graphics.bb
+        packagegroup-ivi-common-core-kernel.bb
+        packagegroup-ivi-common-core-multimedia.bb
+        packagegroup-ivi-common-core-navi-lbs.bb
+        packagegroup-ivi-common-core-os-commonlibs.bb
+        packagegroup-ivi-common-core-security.bb
+        packagegroup-ivi-common-core-speech-services.bb
+        packagegroup-ivi-common-test.bb
+
+These are for picking up some packages from upstreams like GENIVI/Tizen/Others.
+The layer of ``meta-ivi-common`` has no image to build, all packagegroups are
+aggregated to ``packagegroup-ivi-common-core' and it is included by images,
+``agl-image-ivi.bb`` and ``agl-demo-platform.bb``.
+
+## Supported Machines
+
+See [docs.automotivelinux.org](http://docs.automotivelinux.org)