1 meta-agl-demo, the Yocto layer for DEMO platform of Automotive Grade Linux
2 ==========================================================================
4 The yocto layer 'meta-agl-demo' provides a demo platform and applications
7 AGL is creating an automotive specific Linux distribution that unifies
8 the software that has been written in a number of places already,
9 such as GENIVI and Tizen IVI.
11 The AGL community appreciates feedback, ideas, suggestion, bugs and
12 documentation just as much as code. Please join the irc conversation
13 at the #automotive channel on irc.freenode.net and our mailing list.
15 For infomation for subscribing to the mailing list
16 [automotive-discussions](http://lists.linuxfoundation.org/mailman/listinfo/automotive-discussions)
17 For information about AGL Distribution, see the
18 [AGL Distribution](https://wiki.automotivelinux.org/agl-distro)
19 For information abount Getting started with AGL
20 [here](https://wiki.automotivelinux.org/start/getting-started)
21 For information about contributing to the AGL Distro
22 [here](https://wiki.automotivelinux.org/agl-distro/contributing)
27 URI: git://git.yoctoproject.org/poky
29 > revision: 5f0d25152bac2d3798663a4ebfdd2df24060f153
31 URI: git://git.openembedded.org/meta-openembedded
34 > revision: 853dcfa0d618dc26bd27b3a1b49494b98d6eee97
36 URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
38 > revision: 56eb51bfe05a1dd7c3c49cb7465ed83b0a072c78
41 ## The Renesas R-Car Gen2 (Porter) board depends in addition on: ##
43 URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
44 > branch: agl-1.0-bsp-1.8.0
45 > revision: 13a2551505942808752a1721c9a27ce7d35cec33
51 AGL Demo Platform's package group design:
53 Top-level packagegroup,
54 > packagegroup-agl-appfw (all packages for demo platform)
56 This package group can contain sub-package groups like these.
57 > packagegroup-agl-appfw-graphics (for graphics subsystem)
58 > packagegroup-agl-appfw-agl (for AGL App Fw subystem)
61 The "packagegroups-agl-appfw-*" will contain packages for application and
63 > directory: meta-agl-demo/recipes-demo-platform/packagegroups
64 > recipes : packagegroup-agl-appfw-[subsystem].bb
69 * QEMU (x86-64) - emulated machine: qemux86-64
70 * Renesas R-Car Gen2 (R-Car M2) - machine: porter
72 Supported Target of bitbake
73 ------------------------
75 * `agl-demo-platform` The full image of AGL Demo Platform and applications
77 Supposed Directory Trees of Layers to build
78 -------------------------------------------
100 You can build a QEMU image using the following steps:
102 1. Export TEMPLATECONF to pick up correct configuration for the build
103 $ export TEMPLATECONF=/full/path/to/meta-agl-demo/conf
105 2. Run the following command:
106 $ source poky/oe-init-build-env
108 3. Build the full image of AGL Demo Platform and applications
109 $ bitbake agl-demo-platform
112 $ cd $BUILD_DIR/tmp/deploy/images/qemex86-64
113 $ PATH_TO_POKY/poky/scripts/runqemu qemux86-64 bzImage-qemux86-64.bin \
114 agl-demo-platform-qemux86-64.ext3
117 $ PATH_TO_POKY/poky/scripts/runqemu qemux86-64 bzImage-qemux86-64.bin \
118 agl-demo-platform-qemux86-64.ext3 \
119 bootparams="uvesafb.mode_option=1280x720-32"
121 5. Some weston samples are available from weston terminal.
123 Build a R-Car M2 (porter) image
124 -------------------------------
128 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.
130 #### Getting Source Code and Build image
132 1. Create a directory for working, then go to there.
133 $ mkdir -p $HOME/ANYWHERE_YOU_WANT_TO_WORK_THERE
134 $ cd $HOME/ANYWHERE_YOU_WANT_TO_WORK_THERE
135 $ export AGL_TOP=`pwd`
137 2. Get the meta data and checkout
138 $ git clone git://git.yoctoproject.org/poky
140 $ git checkout 5f0d25152bac2d3798663a4ebfdd2df24060f153
142 $ git clone git://git.openembedded.org/meta-openembedded
143 $ cd meta-openembedded
144 $ git checkout 853dcfa0d618dc26bd27b3a1b49494b98d6eee97
146 $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
148 $ git checkout 56eb51bfe05a1dd7c3c49cb7465ed83b0a072c78
150 $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
152 $ git checkout c28172567a6325f5692e5d33b1ae1c1e64e59ddf
154 $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
156 #### Obtain and Install Renesas Graphics Drivers
158 1. Download packages from Renesas
160 The graphics and multimedia acceleration packages for the R-Car M2 Porter board
161 can be download directory from [here](http://www.renesas.com/secret/r_car_download/rcar_demoboard.jsp).
163 There are 2 ZIP files can be downloaded.
164 * Multimedia and Graphics library which require registeration and click through license
165 > r-car_series_evaluation_software_package_for_linux-*.zip
166 * Related Linux drivers
167 > r-car_series_evaluation_software_package_of_linux_drivers-*.zip
169 2. Unzip the two downloads into a temporary directory.
173 $ unzip PATH_TO_DOWNLOAD/r-car_series_evaluation_software_package_for_linux-*.zip
174 $ unzip PATH_TO_DOWNLOAD/r-car_series_evaluation_software_package_of_linux_drivers-*.zip
176 After this step there should be two files in binary-tmp:
177 * Multimedia and Graphics library
178 > R-Car_Series_Evaluation_Software_Package_for_Linux-*.tar.gz
179 * Related Linux drivers
180 > R-Car_Series_Evaluation_Software_Package_of_Linux_Drivers-*.tar.gz
182 3. Extract 2 tar archives
183 $ tar xf R-Car_Series_Evaluation_Software_Package_for_Linux-*.tar.gz
184 $ tar xf R-Car_Series_Evaluation_Software_Package_of_Linux_Drivers-*.tar.gz
186 4. Copy 2 files manually
187 1. Locate `EVA_r8a7791_linux_sgx_binaries_gles2.tar.bz2` in the Multimedia and Graphics library deliverable and copy it into the BSP layer.
189 $ cp <path_to_file>/EVA_r8a7791_linux_sgx_binaries_gles2.tar.bz2 \
190 meta-renesas/meta-rcar-gen2/recipes-graphics/gles-module/\
191 gles-user-module/r8a7791_linux_sgx_binaries_gles2.tar.bz2
193 2. Locate `SGX_KM_M2.tar.bz2` in the related linux drivers deliverable and copy it into the BSP layer.
194 $ cp <path_to_file>SGX_KM_M2.tar.bz2 \
195 $ meta-renesas/meta-rcar-gen2/recipes-kernel/gles-module/gles-kernel-module
197 #### Build from the Source code
199 You can build a R-Car2 M2 (porter) image using the following steps:
201 1. Export TEMPLATECONF to pick up correct configuration for the build
202 $ export TEMPLATECONF=$AGL_TOP/meta-renesas/meta-rcar-gen2/conf
204 2. Run the following command:
206 $ source poky/oe-init-build-env
208 3. Build the full image of AGL Demo Platform and applications
209 $ bitbake agl-demo-platform
211 ### Deployment (SDCARD)
213 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).
215 #### Instructions on the host
217 1. Format SD-Card and then, create single EXT3 partition on it.
219 2. Mount the SD-Card, for example `/media/$SDCARD_LABEL`.
221 3. Copy AGL root file system onto the SD-Card
222 1. Go to build directory
223 $ cd $AGL_TOP/build/tmp/deploy/images/porter
224 2. Extract the root file system into the SD-Card
225 $ sudo tar --extract --numeric-owner --preserve-permissions --preserve-order \
226 --totals --directory=/media/$SDCARD_LABEL --file=agl-demo-platform-porter.tar.bz2
227 3. Copy kernel and DTB into the `/boot` of the SD-Card
228 $ sudo cp uImage uImage-r8a7791-porter.dtb /media/$SDCARD_LABEL
230 4. After the copy finished, unmount SD-Card and insert it into the SD-Card slot of the porter board.
232 #### Instructions on the host
234 NOTE: There is details about porter board [here](http://elinux.org/R-Car/Boards/Porter).
236 NOTE: To boot weston on porter board, we need keyboard and mouse. (USB2.0 can be use for this)
238 ##### Change U-Boot parameters to boot from SD card
240 1. Power up the board and, using your preferred terminal emulator, stop the board's autoboot by hitting any key.
242 > Debug serial settings are 38400 8N1. Any standard terminal emulator program can be used.
244 2. Set the follow environment variables and save them
245 => setenv bootargs_console console=ttySC6,${baudrate}
246 => setenv bootargs_video vmalloc=384M video=HDMI-A-1:1024x768-32@60
247 => setenv bootcmd_sd 'ext4load mmc 0:1 0x40007fc0 boot/uImage;ext4load mmc 0:1 0x40f00000 boot/uImage-r8a7791-porter.dtb'
248 => setenv bootcmd 'setenv bootargs ${bootargs_console} ${bootargs_video} root=/dev/mmcblk0p1 rw rootfstype=ext3;run bootcmd_sd;bootm 0x40007fc0 - 0x40f00000'
251 ##### Boot from SD card
253 1. After board reset, U-Boot is started and after a countdown, ...
254 Linux boot message should be displayed. Please wait a moment.
255 2. Then weston is booted automatically, and weston-terminal appears.