summaryrefslogtreecommitdiffstats
path: root/getting-started
diff options
context:
space:
mode:
Diffstat (limited to 'getting-started')
-rw-r--r--getting-started/footers/porter-footer.md19
-rw-r--r--getting-started/footers/raspberrypi-footer.md56
-rw-r--r--getting-started/images/RaspberryPi2-ModelB-debug-serial-cable.jpgbin0 -> 96123 bytes
-rw-r--r--getting-started/machines/porter.md218
-rw-r--r--getting-started/machines/qemu.md8
-rw-r--r--getting-started/machines/raspberrypi.md36
-rw-r--r--getting-started/source-code.md62
-rw-r--r--getting-started/troubleshooting.md12
8 files changed, 411 insertions, 0 deletions
diff --git a/getting-started/footers/porter-footer.md b/getting-started/footers/porter-footer.md
new file mode 100644
index 0000000..b532fd9
--- /dev/null
+++ b/getting-started/footers/porter-footer.md
@@ -0,0 +1,19 @@
+## Weston
+
+If Weston fails to start double check /etc/xdg/weston/weston.ini and verify that the output name and screen resolution matches the configured U-Boot environment, for example on Renesas Porter board rev 1.0 with screen resolution 1024x768:
+
+```
+[core]
+shell=desktop-shell.so
+backend=drm-backend.so
+
+[shell]
+locking=true
+# Uncomment below to hide panel
+#panel-location=none
+
+[output]
+#name=Virtual-1
+name=HDMI-A-1
+mode=1024x768
+```
diff --git a/getting-started/footers/raspberrypi-footer.md b/getting-started/footers/raspberrypi-footer.md
new file mode 100644
index 0000000..99964c8
--- /dev/null
+++ b/getting-started/footers/raspberrypi-footer.md
@@ -0,0 +1,56 @@
+# Commercial Licensed Packages
+
+Append to following lines to **conf/local.conf** to include libomxil under a commercial license to your build:
+
+```
+# For libomxil
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+IMAGE_INSTALL_append = " libomxil"
+```
+
+# Raspberry Pi Touchscreen with Rotation
+
+If you have Raspberry Pi official 7" touchscreen connected, you can rotate it with these lines in /etc/xdg/weston/weston.ini
+
+```
+root@raspberrypi3:/etc/xdg/weston# cat weston.ini
+[core]
+backend=drm-backend.so
+shell=desktop-shell.so
+
+[shell]
+locking=true
+# Uncomment below to hide panel
+#panel-location=none
+
+[launcher]
+icon=/usr/share/weston/terminal.png
+path=/usr/bin/weston-terminal
+
+[launcher]
+icon=/usr/share/weston/icon_flower.png
+path=/usr/bin/weston-flower
+
+[output]
+name=DSI-1
+transform=270
+```
+
+# Debugging
+
+It is possible to debug AGL images on Raspberry Pi using 3.3V USB to serial cable, such as [Olimex USB-Serial-Cable-F](https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-F/), connected to the UART of the board. Follow the instructions below to connect a cable to the board (do it on your own risk, no warranty is provided):
+
+* Connect the BLUE wire if you are using Olimex USB-Serial-Cable-F to pin 6 of Raspberry Pi,
+* Connect the RX line of the cable (GREEN wire if you are using Olimex USB-Serial-Cable-F) to pin 8 (TX line) of Raspberry Pi,
+* Connect the TX line of the cable (RED wire if you are using Olimex USB-Serial-Cable-F) to pin 10 (RX line) of Raspberry Pi.
+
+![Olimex USB-Serial-Cable-F attached to Raspberry PI 2 for debugging through the serial console](images/RaspberryPi2-ModelB-debug-serial-cable.jpg)
+
+* Plug the USB connector of the cable to your computer and use your favorite tool for serial communication, for example on Ubuntu and other Linux distributions you may use screen:
+
+```
+sudo screen /dev/ttyUSB0 115200
+```
+
+Pay attention that the colours of the cable may vary depending on the vendor. If you have USB console cable from Adafruit please have a look [here](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/connect-the-lead).
diff --git a/getting-started/images/RaspberryPi2-ModelB-debug-serial-cable.jpg b/getting-started/images/RaspberryPi2-ModelB-debug-serial-cable.jpg
new file mode 100644
index 0000000..e8026d6
--- /dev/null
+++ b/getting-started/images/RaspberryPi2-ModelB-debug-serial-cable.jpg
Binary files differ
diff --git a/getting-started/machines/porter.md b/getting-started/machines/porter.md
new file mode 100644
index 0000000..07650da
--- /dev/null
+++ b/getting-started/machines/porter.md
@@ -0,0 +1,218 @@
+# Building the AGL Demo Platform for Renesas Porter
+
+* Download Renesas [graphics drivers with a "click through" license from Renesas website](https://www.renesas.com/en-eu/solutions/automotive/rcar-demoboard.html) in directory ~/Downloads (or $XDG_DOWNLOAD_DIR).
+
+* To build AGL demo platform for Renesas Porter board use machine **porter** and feature **agl-demo**:
+
+```
+source meta-agl/scripts/aglsetup.sh -m porter agl-demo agl-netboot agl-appfw-smack
+bitbake agl-demo-platform
+```
+
+# Booting AGL Demo Platform on Renesas Porter
+
+## Deployment
+
+### On the host
+
+* Plug microSD card and get its associated device by either running *dmesg | tail -15* or *lsblk*, for example:
+
+```
+dmesg | tail -15
+[ 1971.462160] sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00
+[ 1971.462277] sd 6:0:0:0: [sdc] No Caching mode page found
+[ 1971.462278] sd 6:0:0:0: [sdc] Assuming drive cache: write through
+[ 1971.463870] sdc: sdc1 sdc2
+```
+
+```
+lsblk
+NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
+sda 8:0 0 167,7G 0 disk
+├─sda1 8:1 0 512M 0 part /boot/efi
+├─sda2 8:2 0 159,3G 0 part /
+└─sda3 8:3 0 7,9G 0 part [SWAP]
+sdb 8:16 0 931,5G 0 disk
+└─sdb1 8:17 0 931,5G 0 part /media/storage
+sdc 8:32 1 14,9G 0 disk
+├─sdc1 8:33 1 40M 0 part
+└─sdc2 8:34 1 788M 0 part
+```
+*Note: In the **examples** above, 'sdc' corresponds to the microSD card.*
+
+* Create EXT3 partition on the SD-card using fdisk or another application. For **example**, if the microSD card is */dev/sdc*:
+
+```
+sudo fdisk /dev/sdc
+
+Welcome to fdisk (util-linux 2.27.1).
+Changes will remain in memory only, until you decide to write them.
+Be careful before using the write command.
+
+
+Command (m for help): o
+Created a new DOS disklabel with disk identifier 0x96e5850d.
+
+Command (m for help): n
+Partition type
+ p primary (0 primary, 0 extended, 4 free)
+ e extended (container for logical partitions)
+Select (default p):
+
+Using default response p.
+Partition number (1-4, default 1):
+First sector (2048-31291391, default 2048):
+Last sector, +sectors or +size{K,M,G,T,P} (2048-31291391, default 31291391):
+
+Created a new partition 1 of type 'Linux' and of size 14,9 GiB.
+
+Command (m for help): w
+The partition table has been altered.
+Calling ioctl() to re-read partition table.
+Syncing disks.
+```
+* Initialize the ext3 partition using “mke2fs”, for **example** if the microSD card is associated with *sdc*:
+
+```
+sudo mke2fs -t ext3 /dev/sdc1
+mke2fs 1.42.13 (17-May-2015)
+Creating filesystem with 3911168 4k blocks and 979200 inodes
+Filesystem UUID: 690804b9-6c7d-4bbb-b1c1-e9357efabc52
+Superblock backups stored on blocks:
+ 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
+
+Allocating group tables: done
+Writing inode tables: done
+Creating journal (32768 blocks): done
+Writing superblocks and filesystem accounting information: done
+```
+
+* Mount the microSD card partition, for example **example** if the microSD card is associated with *sdc*:
+
+```
+mkdir /tmp/agl
+sudo mount /dev/sdc1 /tmp/agl/
+```
+
+*Note: Please replace /dev/sdc with the actual path for your microSD card.*
+
+* Go to your build directory:
+
+```
+cd $BUILDDIR/tmp/deploy/images/porter
+```
+
+* Make sure the filesystem is empty:
+
+```
+sudo rm -rf /tmp/agl/*
+```
+
+* Verify that **tar** version is 1.28 or newer:
+
+```
+tar --version
+tar (GNU tar) 1.28
+Copyright (C) 2014 Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Written by John Gilmore and Jay Fenlason.
+```
+
+* Copy Automotive Grade Linux (AGL) files onto the mircoSD card by extracting the root file system archive:
+
+```
+sudo tar --extract --numeric-owner --preserve-permissions --preserve-order --totals \
+ --directory=/tmp/agl --file=agl-demo-platform-porter.tar.bz2
+```
+
+* Copy Kernel Image and Device Tree Blob file into the **boot** directory:
+
+```
+sudo cp uImage+dtb /tmp/agl/boot/
+```
+
+* Ensure the changes have been written to the disk:
+
+```
+sync
+```
+
+* Unmount the micrSD card:
+
+```
+sudo umount /tmp/agl
+```
+
+* Plug the microSD card in Renesas Porter board.
+
+### To access the shell (serial)
+
+* With the Porter board powered off, connect the 'Debug Serial 0' port on the board (for Porter mini-USB port close to on/off switch) with the host PC using the USB cable.
+* Use **screen** to access the serial debug console (may needs to *apt-get install screen*):
+
+```
+sudo screen /dev/ttyUSB0 38400
+```
+
+*Note: Alternatively, start a terminal emulator, such as 'minicom' or 'picocom', on the host, connecting to the USB serial port (/dev/ttyUSB0) with 38400, 8n1 settings.*
+
+* Power on the Porter board to see a shell on the console
+
+### On the target board
+
+It is assumed that the Renesas Porter board already has u-boot running as second stage boot loader.
+
+### U-Boot configurations
+
+Follow the steps below to configure boot from microSD card and to set screen resolution:
+
+* Power up the board and, using your preferred terminal emulator, stop the board's autoboot and type **print** to check the environment:
+
+```
+print
+```
+
+* Verify that the ethaddr environment variable is set to the same MAC address value shown on the label on top of the RJ45 Ethernet connector. If not please set it using the following command:
+
+```
+setenv ethaddr <MAC address>
+```
+
+For example:
+
+```
+setenv ethaddr 2e:09:0a:00:75:b5
+```
+
+* Set the follow environment variables:
+
+```
+setenv bootargs_console 'console=ttySC6,38400 ignore_loglevel'
+setenv bootargs_video 'vmalloc=384M video=HDMI-A-1:1920x1080-32@60'
+setenv bootargs_root 'root=/dev/mmcblk0p1 rootdelay=3 rw rootfstype=ext3 rootwait'
+setenv bootmmc '1:1'
+setenv bootcmd_sd 'ext4load mmc ${bootmmc} 0x40007fc0 boot/uImage+dtb'
+setenv bootcmd 'setenv bootargs ${bootargs_console} ${bootargs_video} ${bootargs_root}; run bootcmd_sd; bootm 0x40007fc0'
+```
+**WARNINGS:**
+
+If no display shows up when booting, e.g. for a non-full HD screen, replace **1920x1080** value in the **bootargs_video** variable with lower screen resolution such as **1024x768**. Unfortunately for the moment there are no universally supported setting.
+
+Depending on your board (Porter rev B or rev C, Koelsch etc.), the SD card slots may differ. Try setting **bootmmc** to **0:1** or **2:1** depending on the slot and card format.
+
+For Renesas Porter Rev 1.0 use screen resolution **1024x768** and set **bootmmc** to **2:1**.
+
+* Save the environment variables:
+
+```
+saveenv
+```
+
+* Reboot:
+
+```
+reset
+```
diff --git a/getting-started/machines/qemu.md b/getting-started/machines/qemu.md
new file mode 100644
index 0000000..a9f6f5c
--- /dev/null
+++ b/getting-started/machines/qemu.md
@@ -0,0 +1,8 @@
+# Building the AGL Demo Platform for QEMU
+
+To build the QEMU version of the AGL demo platform use machine **qemux86-64** and feature **agl-demo**:
+
+```
+source meta-agl/scripts/aglsetup.sh -m qemux86-64 agl-demo agl-netboot agl-appfw-smack
+bitbake agl-demo-platform
+```
diff --git a/getting-started/machines/raspberrypi.md b/getting-started/machines/raspberrypi.md
new file mode 100644
index 0000000..1fd5f74
--- /dev/null
+++ b/getting-started/machines/raspberrypi.md
@@ -0,0 +1,36 @@
+# Building the AGL Demo Platform for Raspberry Pi
+
+## Raspberry Pi 3
+
+To build AGL demo platform for Raspberry Pi 3 use machine **raspberrypi3** and feature **agl-demo**:
+
+```
+source meta-agl/scripts/aglsetup.sh -m raspberrypi3 agl-demo agl-netboot agl-appfw-smack
+bitbake agl-demo-platform
+```
+
+## Raspberry Pi 2
+
+To build AGL demo platform for Raspberry Pi 2 use machine **raspberrypi2** and feature **agl-demo**:
+
+```
+source meta-agl/scripts/aglsetup.sh -m raspberrypi2 agl-demo agl-netboot agl-appfw-smack
+bitbake agl-demo-platform
+```
+
+# Booting AGL Demo Platform on Raspberry Pi
+
+Follow the steps below to copy the image to microSD card and to boot it on Raspberry Pi 2 or 3:
+
+* Connect your sdcard in your linux machine.
+* Copy output image from build machine to linux machine that is connected your sdcard. (Often, those are same machines)
+* Output Image location in build machine for Raspberry Pi 2: *tmp/deploy/images/raspberrypi2/agl-demo-platform-raspberrypi2.rpi-sdimg*
+* Output Image location in build machine for Raspberry Pi 3: *tmp/deploy/images/raspberrypi3/agl-demo-platform-raspberrypi3.rpi-sdimg*
+* Unmount the microSD card and after that flash output image to it card with root user:
+```
+sudo umount [sdcard device]
+sudo dd if=[output image] of=[sdcard device] bs=4M
+sync
+```
+* Plug your microSD card into Raspberry Pi 2 or 3 and boot the board
+
diff --git a/getting-started/source-code.md b/getting-started/source-code.md
new file mode 100644
index 0000000..a33065f
--- /dev/null
+++ b/getting-started/source-code.md
@@ -0,0 +1,62 @@
+# Download AGL Source Code
+
+The AGL source code and Yocto layers are maintained on the AGL Gerrit server. For information on how to create accounts for gerrit see Getting Started with AGL.
+
+## Prepare Repo Tool
+
+AGL Uses the Repo tool for managing repositories. First you need to setup layers of AGL. You can use the commands below to prepare Repo:
+```
+mkdir ~/bin
+export PATH=~/bin:$PATH
+curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
+chmod a+x ~/bin/repo
+```
+## Download Latest Stable Release
+
+To download all layers for the for the latest stable release, Blowfish 2.0.2:
+
+```
+repo init -b blowfish -m default_blowfish_2.0.2.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
+repo sync
+```
+
+## Download Latest on Blowfish Branch
+
+To download all layers on the current release branch which may be in the midst of testing or changes prior to the next stable release:
+```
+repo init -b blowfish -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
+repo sync
+```
+## Download Master Branch
+
+To download all code from master:
+
+```
+repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
+repo sync
+```
+
+## Set up Build Environment
+
+Set up the development environment for the desired target hardware. AGL has created a set up script for defining the target build and desired optional features. To get a complete list of the options available run.
+
+```
+ $ source meta-agl/scripts/aglsetup.sh -h
+```
+
+Once you run aglsetup.sh with your desired paramaters, you can build any target desired.
+
+## Features supported by aglsetup
+
+Here is the list of features for AGL 2.0 that can be specified in the aglsetup.sh command line:
+
+- in **meta-agl**
+ * **agl-devel**: activate development options (empty root password, debugger, strace, valgrind …)
+ * **agl-netboot**: enable network boot support through TFTP and NBD (see meta-netboot layer)
+- in **meta-agl-extra**
+ * **agl-appfw-smack**: enables IoT.bzh Application Framework + SMACK + Cynara
+ * **agl-demo**: enable layer meta-agl-demo and meta-qt5 - required to build * agl-demo-platform
+ * **agl-localdev**: add a local layer named “meta-localdev” in meta directory and a local.dev.inc conf file if present
+ * **agl-sota**: enable SOTA components and dependencies (meta-sota, meta-filesystems, meta-ruby, meta-rust are added)
+
+For newer features or to get more details on a given feature, take a look at the configuration files stored for each feature and/or each machine in meta-agl/templates and meta-agl-extra/templates.
diff --git a/getting-started/troubleshooting.md b/getting-started/troubleshooting.md
new file mode 100644
index 0000000..b3c7f9d
--- /dev/null
+++ b/getting-started/troubleshooting.md
@@ -0,0 +1,12 @@
+# Troubleshooting
+
+Due to a known bug in the upstream of meta-rust the Yocto/OE recipe for rust-cross may fail while building RVI SOTA Client or another application written in the Rust programming language. Until the complete resolution of the issue the workaround is to disable all use of the CXX11 ABI by applying the following lines to **conf/local.conf**:
+
+```
+LD_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"
+TARGET_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"
+CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"
+
+BUILD_CXXFLAGS_remove_pn-gcc-runtime = "-D_GLIBCXX_USE_CXX11_ABI=0"
+TARGET_CXXFLAGS_remove_pn-gcc-runtime = "-D_GLIBCXX_USE_CXX11_ABI=0" CXXFLAGS_remove_pn-gcc-runtime = "-D_GLIBCXX_USE_CXX11_ABI=0"
+```