X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL%2Fmeta-agl-demo.git;a=blobdiff_plain;f=README.md;h=c8d867606a380ed2316ccd432f72e63ac0110be6;hp=d78ecab298d29eacfa50e011a019f42193f1a70f;hb=22aa532b4b91350ff9f8e2322f59a3c8e8db5418;hpb=0e21ecf93c045f120ea100bf28a7a9199f1ae521 diff --git a/README.md b/README.md index d78ecab29..c8d867606 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,15 @@ -meta-agl-demo, the Yocto layer for DEMO platform of Automotive Grade Linux -========================================================================== +**README.md for the 'meta-agl-demo' layer.** -The yocto layer 'meta-agl-demo' provides a demo platform and applications -of AGL Distribution. +**See README-AGL.md for general information about Automotive Grade Linux.** -AGL is creating an automotive specific Linux distribution that unifies + +meta-agl-demo, the reference UI layer for the DEMO platform of Automotive Grade Linux +================================================================================= + +The layer 'meta-agl-demo' provides a reference/demo platform and applications +for the AGL Distribution. + +AGL is creating an automotive specific Linux distribution (AGL UCB) that unifies the software that has been written in a number of places already, such as GENIVI and Tizen IVI. @@ -21,237 +26,135 @@ For information abount Getting started with AGL For information about contributing to the AGL Distro [here](https://wiki.automotivelinux.org/agl-distro/contributing) -Layer Dependencies ------------------- - -URI: git://git.yoctoproject.org/poky -> branch: dizzy -> revision: 5f0d25152bac2d3798663a4ebfdd2df24060f153 - -URI: git://git.openembedded.org/meta-openembedded -> layer: meta-oe -> branch: dizzy -> revision: 853dcfa0d618dc26bd27b3a1b49494b98d6eee97 - -URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl -> branch: master -> revision: 56eb51bfe05a1dd7c3c49cb7465ed83b0a072c78 -> (or later) - -## The Renesas R-Car Gen2 (Porter) board depends in addition on: ## -URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas -> branch: agl-1.0-bsp-1.8.0 -> revision: 13a2551505942808752a1721c9a27ce7d35cec33 -> (or later) - -Packagegroups -------------- - -AGL Demo Platform's package group design: - -Top-level packagegroup, -> packagegroup-agl-appfw (all packages for demo platform) - -This package group can contain sub-package groups like these. -> packagegroup-agl-appfw-graphics (for graphics subsystem) -> packagegroup-agl-appfw-agl (for AGL App Fw subystem) -> ... - -The "packagegroups-agl-appfw-*" will contain packages for application and -frameworks. -> directory: meta-agl-demo/recipes-demo-platform/packagegroups -> recipes : packagegroup-agl-appfw-[subsystem].bb - -Supported Machine +Quick start guide ----------------- +See README-AGL.md -* QEMU (x86-64) - emulated machine: qemux86-64 -* Renesas R-Car Gen2 (R-Car M2) - machine: porter -Supported Target of bitbake ------------------------- - -* `agl-demo-platform` The full image of AGL Demo Platform and applications - -Supposed Directory Trees of Layers to build -------------------------------------------- - -* For QEMU - - ${TOPDIR}/ - meta-agl/ - meta-agl-demo/ - meta-openembedded/ - poky/ - -* For R-Car M2 - - ${TOPDIR}/ - meta-agl/ - meta-agl-demo/ - meta-openembedded/ - meta-renesas/ - poky/ - -Build a QEMU image +Layer Dependencies ------------------ -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-demo/conf - -2. Run the following command: - $ source poky/oe-init-build-env - -3. Build the full image of AGL Demo Platform and applications - $ bitbake agl-demo-platform - -4. Run the emulator - $ cd $BUILD_DIR/tmp/deploy/images/qemex86-64 - $ PATH_TO_POKY/poky/scripts/runqemu qemux86-64 bzImage-qemux86-64.bin \ - agl-demo-platform-qemux86-64.ext3 - - For large screen: - $ PATH_TO_POKY/poky/scripts/runqemu qemux86-64 bzImage-qemux86-64.bin \ - agl-demo-platform-qemux86-64.ext3 \ - bootparams="uvesafb.mode_option=1280x720-32" - -5. Some weston samples are available from weston terminal. +* Base dependencies [agl-demo]: -Build a R-Car M2 (porter) image -------------------------------- +URI: git://git.yoctoproject.org/poky +> branch : jethro +> tested revision: 40376446904ae3529be41737fed9a0b650ed167d -### Software setup +URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl +> branch: master -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. +URI: git://git.openembedded.org/meta-openembedded +> layer : meta-openembedded +> branch : jethro +> tested revision: 8ab04afbffb4bc5184cfe0655049de6f44269990 -#### Getting Source Code and Build image +Specifically out of meta-openembedded these sub-layers are used: -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` + - meta-openembedded/meta-oe + - meta-openembedded/meta-multimedia + - meta-openembedded/meta-efl + - meta-openembedded/meta-networking + - meta-openembedded/meta-python + - meta-openembedded/meta-ruby -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-agl - $ cd meta-agl - $ git checkout 56eb51bfe05a1dd7c3c49cb7465ed83b0a072c78 - $ 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 +URI: https://github.com/meta-qt5/meta-qt5.git +> branch: jethro (b/c of qt-5.5.x) +> tested revision: ea37a0bc987aa9484937ad68f762b4657c198617 -#### Obtain and Install Renesas Graphics Drivers +* Hardware dependencies: -1. Download packages from Renesas +The Renesas R-Car Gen2 (Porter) board depends in addition on: - 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). +URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas +> branch: agl-1.0-bsp-1.8.0 +> tested revision: 82611ccadef36ab0b8a6fd6fb1cf055e115f1ef5 +> (or later) - 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 +* Extra feature dependencies: -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 + * The feature `agl-appfw-smack` has these dependencies + * `meta-intel-iot-security` + > URI: https://github.com/01org/meta-intel-iot-security + > branch : jethro + > tested revision: c5906a1553513ef192a58231700357c5f14f4ae4 - 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 + * `meta-agl-extra/meta-app-framework` + > URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-extra.git + > branch : master -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 + * The feature `agl-sota` has these dependencies: + * `meta-agl-extra/meta-sota` + > URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-extra.git + > branch : master -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 /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 + * `meta-openembedded` + > layer : meta-openembedded + > branch : jethro + > tested revision: 8ab04afbffb4bc5184cfe0655049de6f44269990 - 2. Locate `SGX_KM_M2.tar.bz2` in the related linux drivers deliverable and copy it into the BSP layer. - $ cp SGX_KM_M2.tar.bz2 \ - $ meta-renesas/meta-rcar-gen2/recipes-kernel/gles-module/gles-kernel-module + * specifically: + * `meta-openembedded/meta-filesystems` + * `meta-openembedded/meta-ruby` -#### Build from the Source code -You can build a R-Car2 M2 (porter) image using the following steps: + * `meta-rust` + > URI: https://github.com/konsulko/meta-rust + > branch : jethro + > tested revision: 395cde581938d862abb6a9219c0118c81cf01da2 -1. Export TEMPLATECONF to pick up correct configuration for the build - $ export TEMPLATECONF=$AGL_TOP/meta-renesas/meta-rcar-gen2/conf + * The feature `agl-netboot` has these dependenies: + * `meta-agl/meta-netboot` -2. Run the following command: - $ cd $AGL_TOP - $ source poky/oe-init-build-env + > URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git + > branch : master -3. Build the full image of AGL Demo Platform and applications - $ bitbake agl-demo-platform -### Deployment (SDCARD) +Packagegroups +------------- -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). +AGL Demo Platform's package group design: -#### Instructions on the host +* packagegroup-agl-demo-platform -1. Format SD-Card and then, create single EXT3 partition on it. +This is for generating the image 'agl-demo-platform' which is a full image +for the IVI profile of the AGL distro. -2. Mount the SD-Card, for example `/media/$SDCARD_LABEL`. +As meta-agl's design of packagegroups, ``agl-demo-platform.bb`` contains +only ``packagegroup-agl-demo-platform`` and the packages of the DEMO applications. -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-demo-platform-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 +``agl-demo-platform`` has 4 packagegroups in it, +``packagegroup-agl-image-minimal``, ``packagegroup-agl-image-ivi``, +``packagegroup-ivi-common-core``, and ``packagegroup-agl-demo-platform``. -4. After the copy finished, unmount SD-Card and insert it into the SD-Card slot of the porter board. +* packagegroup-agl-appfw* -#### Instructions on the host +These packagegroups contains packages for application framework of AGL Distro. +Subsystem should maintain ``packagegroup-agl-appfw-[subsystem].bb`` which +should hold sufficient packages for application framework of AGL Distro. -NOTE: There is details about porter board [here](http://elinux.org/R-Car/Boards/Porter). +Subsystems also can maintain their own packagegroups under appropriate +``recipes-*/``. -NOTE: To boot weston on porter board, we need keyboard and mouse. (USB2.0 can be use for this) +For example, Qt5 has 2 packagegroups in ``meta-agl-demo``, +``packagegroup-agl-appfw-native-qt5`` and ``packagegroup-agl-demo-qt-examples`` +which are under ``recipes-qt/``. -##### Change U-Boot parameters to boot from SD card +The ``packagegroup-agl-appfw-native-qt5`` is included by +``packagegroup-agl-appfw-native`` because Qt5 belongs to native application +framework of AGL Distro. -1. Power up the board and, using your preferred terminal emulator, stop the board's autoboot by hitting any key. +The ``packagegroup-agl-demo-qt-examples`` is added to local.conf if needed +because they are not mandatory for AGL application framework and AGL Demo +Platform. - > Debug serial settings are 38400 8N1. Any standard terminal emulator program can be used. +Supported Machines +------------------ -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 +See `README-AGL.md` in meta-agl layer. -##### Boot from SD card +Supported Target of bitbake +------------------------ -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-demo-platform` is the full image of the AGL Demo Platform with all applications -3. Have fun! :)