diff options
-rw-r--r-- | getting-started/customize_bitbake_conf.md | 48 | ||||
-rw-r--r-- | getting-started/footers/intel-footer.md | 47 | ||||
-rw-r--r-- | getting-started/machines/R-Car-Starter-Kit-gen3.md | 109 | ||||
-rw-r--r-- | getting-started/machines/intel.md | 37 | ||||
-rw-r--r-- | getting-started/machines/porter.md | 2 | ||||
-rw-r--r-- | getting-started/setup-sdk-environment.md | 24 | ||||
-rw-r--r-- | getting-started/source-code.md | 8 | ||||
-rw-r--r-- | getting-started/troubleshooting.md | 40 | ||||
-rw-r--r-- | platform/working-on-the-chinook-branch.md | 103 | ||||
-rw-r--r-- | platform/working-on-the-master-branch.md | 103 |
10 files changed, 407 insertions, 114 deletions
diff --git a/getting-started/customize_bitbake_conf.md b/getting-started/customize_bitbake_conf.md new file mode 100644 index 0000000..dc7dc6b --- /dev/null +++ b/getting-started/customize_bitbake_conf.md @@ -0,0 +1,48 @@ +# Customize AGL build +To customize the AGL build, you edit local.conf file, located in the build/conf directory. + +``` +edit $AGL_TOP/build/conf/local.conf +``` + +## Buildhistory +The OpenEmbedded build system creates this directory when you enable the build history feature. + +``` +INHERIT += "buildhistory" +BUILDHISTORY_COMMIT = "1" +``` + +For more information please check [Here][buildhistory] + +## Deletion of temporary workspace +Removes work files after the OpenEmbedded build system has finished with them. + +``` +INHERIT += "rm_work" +``` + +For more information please check [Here][rm_work] + +## Share sstate cache +The directory for the shared state cache. + +``` +SSTATE_DIR = "${HOME}/workspace_agl/sstate-cache" +``` + +For more information please check [Here][share_sstatecache] + +## Share Download directory +The central download directory used by the build process to store downloads. + +``` +DL_DIR = "${HOME}/workspace_agl/downloads" +``` + +For more information please check [Here][share_download] + +[buildhistory]: http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#maintaining-build-output-quality +[rm_work]: http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-tasks-rm_work +[share_sstatecache]: https://wiki.yoctoproject.org/wiki/Enable_sstate_cache +[share_download]: http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-DL_DIR diff --git a/getting-started/footers/intel-footer.md b/getting-started/footers/intel-footer.md new file mode 100644 index 0000000..191ff98 --- /dev/null +++ b/getting-started/footers/intel-footer.md @@ -0,0 +1,47 @@ +## BIOS update +Both the Joule and the Minnowboard require a BIOS upgrade. **Don t loose time trying without.**<br> +https://firmware.intel.com/projects/minnowboard-max<br> +https://software.intel.com/en-us/flashing-the-bios-on-joule + +## Creating a bootable image +Multiple options are avaiable but dd and tar can very easily let you down due to the requirement to pass SMACK labels, create a proper UEFI configuration and a few other tricks.<br> +The script [mkefi-agl.sh](https://github.com/dominig/mkefi-agl.sh) has been done to help you.<br> +The option -h will print the help and the option -v will detailled the operation and ease any debug.<br> + +## Selecting the SD or USB to boot. +When booting a Minnowboard or a Joule you can change the default boot device by hitting F2 during initial UEFI boot. +It's easier to acheive it in the right time with a USB keyboard than via serial link. +During boot USB hub are not supported, you need to connect the keyboard directly in the USB socket.<br> +It's also preferable to use F9 and to change the boot order once for all.<br> +Please note: You can only change the boot order, when a valid device is inserted in the corresponding port (USB or SD). + +The Minnow, Joule, many laptops and NUCs will not accept to boot with some USB3 stick. If you have some trouble to get your USB3 stick detected during boot, swap it for a USB2. In anycase working with SD card is faster to flash and to boot. SD should be prefered.<br> +The Joule seems to refuse to boot with my SD-HC-I type cards while I had no problem with the Minnow. If you work with a Joule, use regular SD-HC (mode 4 and 10 work fine) + + +## Serial debug Port + +Serial debug port ID varies with the HW platform :<br> +By default AGL build Intel target as a Minnowboard where serial is /dev/ttyS0 <br> +On Joule and MRB the serial debug is /dev/ttyS2 <br> + +You may have to change the configuration in your boot loader which is located in the EFI partition. + +## Serial debug cable + +On the Minnowboard the serial cable is a FTDI serial cable. The wiring can be found [here](http://wiki.minnowboard.org/MinnowBoard_MAX_HW_Setup).<br> +On the Joule the serial connection is done via the micro USB cable which is not provided in the Developer kit. Details can be found [here](https://software.intel.com/en-us/node/667851).<br> +Interface speed is 115200 bps, 8 bits, no parity, no flow control + +## Which port name is used to define the connected display(s) + +Port naming may change with HW platforms and connected display. The simplest is to check following the fist boot, in the systemd journal which display names are listed.<br> +``` +journalctl |grep Output +``` +**Note:** The Output information is only listed if a real Display is connected to the connector on the board.<br> +The file holding that configuration is /etc/xdg/weston/weston.ini<br> +Common Display name for Intel are +* HDMI-A-1 +* HDMI-A-2 +* LVDS-1 diff --git a/getting-started/machines/R-Car-Starter-Kit-gen3.md b/getting-started/machines/R-Car-Starter-Kit-gen3.md index d75a52e..e18de67 100644 --- a/getting-started/machines/R-Car-Starter-Kit-gen3.md +++ b/getting-started/machines/R-Car-Starter-Kit-gen3.md @@ -1,9 +1,9 @@ -# AGL Kickstart on Renesas R-Car Starter Kit Gen3 (h3ulcb, m3ulcb) +# AGL Kickstart on Renesas R-Car Starter Kit Gen3 V2.16 (h3ulcb, m3ulcb) Here is a non exhaustive list of hardware parts that could be used to setup the R-Car Starter Kit Gen3 board development environment: * Starter Kit Gen3 board with its power supply -* mini USB-A cable for serial console +* micro USB-A cable for serial console * USB 2.0 Hub * Ethernet cable * HDMI type D (Micro connector) cable and associated display @@ -23,9 +23,9 @@ The following documents may also be helpful: Before setting up the build environment, you need to download the proprietary drivers. -* Download Renesas graphics drivers with a "click through" license from Renesas website [Link][rcar demoboard] +* Download Renesas graphics drivers with a "click through" license from Renesas website [Link][rcar Linux] and [Link][rcar Linux Drivers] * Under the Target hardware: **R-Car H3/M3** section. - + #### Note: * You have to register with a free account on MyRenesas and accept the license conditions before downloading them the drivers. @@ -36,10 +36,10 @@ Here after is an example of the typical files downloaded at the time of writing: ``` chmod a+r $XDG_DOWNLOAD_DIR/*.zip -ls -l $XDG_DOWNLOAD_DIR +ls -1 $XDG_DOWNLOAD_DIR total 8220 --rw-r--r-- 1 XXX XXX 4619114 14 sept. 05:02 R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20160906.tar.gz --rw-r--r-- 1 XXX XXX 4619796 10 oct. 23:23 R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20160906.zip +-rw-r--r--. 1 1664 agl-sdk 4.5M Dec 8 15:23 R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20170125.zip +-rw-r--r--. 1 1664 agl-sdk 2.5M Dec 8 15:24 R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20170125.zip ``` ## Setting up the build environment: @@ -73,12 +73,14 @@ In case of missing graphics drivers, you could notice an error message as follow [snip] --- fragment /home/working/workspace_agl_master/meta-agl/templates/machine/h3ulcb/50_setup.sh /home/working/workspace_agl_master /home/working/workspace_agl_master/build_gen3 -The graphics and multimedia acceleration packages for the R-Car Gen3 board can be download from : - <http://www.renesas.com/secret/r_car_download/rcar_demoboard.jsp> - -These 2 files from there should be store in your'/home/ronan/Téléchargements' directory. - R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20160906.zip - R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20160906.zip +The graphics and multimedia acceleration packages for +the R-Car Gen3 board can be downloaded from: + https://www.renesas.com/en-us/software/D6000821.html + https://www.renesas.com/en-us/software/D6000822.html + +These 2 files from there should be store in your'/home/devel/Téléchargements' directory. + R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20170125.zip + R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20170125.zip /home/working/workspace_agl_master/build_gen3 --- fragment /home/working/workspace_agl_master/meta-agl/templates/base/99_setup_EULAconf.sh --- end of setup script @@ -168,7 +170,8 @@ lsblk └─sdc2 8:34 1 788M 0 part ``` -**IMPORTANT NOTE**: This is a critical operation, each computer is different and removable devices can change from time to time: so you should repeat this operation each time you insert the microSD card to confirm the device name. +**IMPORTANT NOTE**: This is a critical operation, each computer is different and removable devices can change from time to time: +so you should repeat this operation each time you insert the microSD card to confirm the device name. In the example above, we see: * the first SATA drive as 'sda'. @@ -282,12 +285,12 @@ sudo $TAR --extract --numeric-owner --preserve-permissions --preserve-order --to Copy Kernel Image and Device Tree Blob file into the **boot** directory: * For machine h3ulcb: ``` -sudo cp Image-r8a7795-h3ulcb.dtb /tmp/agl/boot/ +sudo cp Image-r8a7795-h3ulcb.dtb $SDCARD/boot/ ``` * For machine m3ulcb: ``` -sudo cp Image-r8a7796-m3ulcb.dtb /tmp/agl/boot/ +sudo cp Image-r8a7796-m3ulcb.dtb $SDCARD/boot/ ``` Ensure the changes have been written to the disk: @@ -320,9 +323,11 @@ After a few seconds, you'll see the AGL splash screen on the display and you'll This can be “screen”, “picocom”, “minicom”. The lighter of the 3 is “picocom” (it has less dependencies). -## Plug a USB cable from your computer to the serial CP2102 USB port (mini USB-A). +## Plug a USB cable from your computer to the serial CP2102 USB port (micro USB-A). -With “dmesg” you can check the device created for the serial link. Usually, it's /dev/ttyUSB0 but the number may vary depending on other USB serial ports connected to the host. To get it, you must switch the board on. +With “dmesg” you can check the device created for the serial link. +Usually, it's /dev/ttyUSB0 but the number may vary depending on other USB serial ports connected to the host. +To get it, you must switch the board on. For example: ``` @@ -442,13 +447,15 @@ Hit any key to stop autoboot: 0 ## Configure U-boot parameters +Follow the steps below to configure the boot from microSD card and to set screen resolution: + * Turn the board on using the power switch. * Hit any key to stop autoboot (warning you have only few seconds). -* Check if you have correct parameters for booting your board: +* Type **print** to check if you have correct parameters for booting your board: * For machine m3ulcb: - + ``` -=> print +=> printenv baudrate=115200 bootargs=console=ttySC0,115200 root=/dev/mmcblk1p1 rootwait rw rootfstype=ext4 bootcmd=run load_ker; run load_dtb; booti 0x48080000 - 0x48000000 @@ -518,63 +525,6 @@ saveenv run bootcmd ``` -### U-Boot screen configuration - -Follow the steps below to configure the boot from microSD card and to set screen resolution: - -* Power up the board -* Using your preferred terminal emulator, type a character to abort the boot and enter the U-boot menu -* 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, 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=ext4 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 at the moment, there is no universally supported setting. - -For Renesas h3ulcb use screen resolution **1024x768** and set **bootmmc** to **2:1**. - -* Save the environment variables: - -``` -saveenv - Saving Environment to SPI Flash... - SF: Detected S25FL512S with page size 256 KiB, total 64 MiB - Erasing SPI flash...Writing to SPI flash...done -``` - -* Reboot: - -``` -reset -``` - ## Console boot After booting, you should see the wayland display on the external monitor and a login prompt on the console, such as: @@ -645,7 +595,8 @@ Generic guide on how to add a new service in the BSP. [R-car m3ulcb]: http://elinux.org/R-Car/Boards/M3SK [R-car h3ulcb]: http://elinux.org/R-Car/Boards/H3SK [R-car yocto]: http://elinux.org/R-Car/Boards/Yocto-Gen3 -[rcar demoboard]: https://www.renesas.com/en-eu/solutions/automotive/rcar-demoboard.html +[rcar Linux]: https://www.renesas.com/en-us/software/D6000821.html +[rcar Linux Drivers]: https://www.renesas.com/en-us/software/D6000822.html [Iot.bzh AGL-Kickstart-on-Renesas-Porter-Board]: http://docs.automotivelinux.org/docs/devguides/en/dev/reference/iotbzh2016/sdk/AGL-Kickstart-on-Renesas-Porter-board.pdf [Iot.bzh AGL-Devkit-Image-and-SDK-for-Porter]: http://docs.automotivelinux.org/docs/devguides/en/dev/reference/iotbzh2016/sdk/AGL-Devkit-Image-and-SDK-for-porter.pdf [Iot.bzh AGL-Devkit-Build-your-1st-AGL-Application]: http://docs.automotivelinux.org/docs/devguides/en/dev/reference/iotbzh2016/sdk/AGL-Devkit-Build-your-1st-AGL-Application.pdf diff --git a/getting-started/machines/intel.md b/getting-started/machines/intel.md index 9c71d87..6e29ab5 100644 --- a/getting-started/machines/intel.md +++ b/getting-started/machines/intel.md @@ -4,18 +4,20 @@ This documentation is aiming at people who want to run Automotive Grade Linux (AGL) on an Intel Hardware (HW). While the reference HW used by AGL project is the Open Source Minnowboard. -This documentation [MinnowBoard wiki](http://wiki.minnowboard.org/MinnowBoard\_Wiki\_Home) -can be used to enable most of 64 bits Intel Architecture (IA) using UEFI as boot loader. +This documentation [MinnowBoard wiki](https://minnowboard.org/) +can be used to enable most of 64 bits Intel Architecture (IA) using UEFI as boot loader.<br> +In addition to the MinnowBoard, support for the the [Joule Developer Kit](https://software.intel.com/en-us/iot/hardware/joule/dev-kit) has been added. You need to run the 64 bits version of the UEFI boot. -Minnowbaord Max and Turbo are both 64 bits capable. +Minnowbaord Max and Turbo has well as the Joule are both 64 bits capable. **Note** : * This page is more focused on please willing to create bespoke AGL image and BSP. If you are more interested by Apps creation, please visit [ Developing Apps for AGL](https://wiki.automotivelinux.org/agl-distro/developer_resources_intel_apps) -UEFI has evolved a lot recently and you likely want to check that your HW firmware is up-to-date, this is particularly important for the Minnowboard. +UEFI has evolved a lot recently and you likely want to check that your HW firmware is up-to-date, this is mandatory for the Minnowboard and the Joule. -[`https://firmware.intel.com/projects/minnowboard-max`](https://firmware.intel.com/projects/minnowboard-max) +[`https://firmware.intel.com/projects/minnowboard-max`](https://firmware.intel.com/projects/minnowboard-max)<br> +[`https://software.intel.com/en-us/flashing-the-bios-on-joule`](https://software.intel.com/en-us/flashing-the-bios-on-joule) ## Where to find an AGL bootable image @@ -40,27 +42,18 @@ To install the repo tool. chmod a+x ~/bin/repo; ``` -#### Configuring for the current *(older)* stable (blowfish\_2.0.4) (BB) +#### Configuring for the current *(older)* stable (Charming Chinook 3.0.x) ```bash - cd AGL-2.0.4; - repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo -b blowfish -m default_blowfish_2.0.4.xml + cd AGL-3.0.x; + repo init -b chinook -m default.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo ``` -#### Configuring for master (CC) +#### Configuring for master (DD) ```bash cd AGL-master; repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo; ``` - -#### Only for developer working on virtualisation -**Note :**: -This is WIP and most likely to fail most of the time) -```bash - cd AGL-master-next; - repo init -b morty -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo; -``` - Once that you repo is initialised either with the stable or WIP, you need to sync the repo to fetch the various git trees. #### Downloading the configured AGL source code @@ -77,19 +70,21 @@ When running the command: source meta-agl/scripts/aglsetup.sh -h ``` -You will notice the Intel entry +You will notice the Intel entries ```bash intel-corei7-64 + joule ``` -Simply select that entry to replace porter in the -m option. +Simply select that entry to replace porter in the -m option.<br> ```bash source meta-agl/scripts/aglsetup.sh \ -m intel-corei7-64 \ -b build \ - agl-devel agl-demo agl-appfw-smack agl-netboot + agl-devel agl-demo agl-appfw-smack agl-netboot<br> ``` +**Note:** use the option "-m joule" when building for a Joule developer Kit target. Start the build **This can take several hours depending of your CPU and internet connection and will required several GB on /tmp as well as on your build directory** diff --git a/getting-started/machines/porter.md b/getting-started/machines/porter.md index fe585fc..f3f6d15 100644 --- a/getting-started/machines/porter.md +++ b/getting-started/machines/porter.md @@ -364,7 +364,7 @@ setenv ethaddr 2e:09:0a:00:75:b5 ``` 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 bootargs_root 'root=/dev/mmcblk0p1 rootdelay=3 rw rootfstype=ext4 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' diff --git a/getting-started/setup-sdk-environment.md b/getting-started/setup-sdk-environment.md index 3776621..1435b50 100644 --- a/getting-started/setup-sdk-environment.md +++ b/getting-started/setup-sdk-environment.md @@ -35,20 +35,20 @@ chmod a+w ~/ssd ~/devel ### Get docker image #### Pre-built image -A pre-built image is available on [IoT.bzh](http://iot.bzh) public site and can be used directly. +A pre-built image is available on automotivelinux download public site and can be used directly. First, download and load the image in your local Docker instance: ```bash -wget -O - http://iot.bzh/download/public/2016/docker/docker_agl_worker-2.1.tar.xz | docker load; +wget -O - https://download.automotivelinux.org/AGL/snapshots/sdk/docker/docker_agl_worker-3.0.tar.xz | sudo docker load; docker images; REPOSITORY TAG IMAGE ID CREATED SIZE - docker.automotivelinux.org/agl/worker 2.1 42009148bc03 6 days ago 926.9 MB + docker.automotivelinux.org/agl/worker 3.0 42009148bc03 6 days ago 926.9 MB jenkins latest 55720d63e328 5 weeks ago 711.9 MB hello-world latest c54a2cc56cbb 5 months ago 1.848 kB ``` #### Rebuilt image -The Docker image for AGL Worker can be rebuilt using the scripts published here [agl-docker-worker](https://github.com/iotbzh/agl-docker-worker). +The Docker image for AGL Worker can be rebuilt using the scripts published here [docker-worker-generator](https://git.automotivelinux.org/AGL/docker-worker-generator/). ### Start image Then, use the 'create_container' script to start a new, fresh container based on the AGL Worker image: @@ -56,12 +56,12 @@ Then, use the 'create_container' script to start a new, fresh container based on * The password for the id 'devel' inside the docker image is 'devel'. ```bash -git clone https://github.com/iotbzh/agl-docker-worker; -cd agl-docker-worker; -./create_container 0; +git clone https://git.automotivelinux.org/AGL/docker-worker-generator; +cd docker-worker-generator; +./contrib/create_container 0; docker ps; CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES - 4fb7c550ad75 docker.automotivelinux.org/agl/worker:2.1 "/usr/bin/wait_for_ne" 33 hours ago Up 33 hours 0.0.0.0:2222->22/tcp, 0.0.0.0:69->69/udp, 0.0.0.0:8000->8000/tcp, 0.0.0.0:10809->10809/tcp agl-worker-odin-0-sdx + 4fb7c550ad75 docker.automotivelinux.org/agl/worker:3.0 "/usr/bin/wait_for_ne" 33 hours ago Up 33 hours 0.0.0.0:2222->22/tcp, 0.0.0.0:69->69/udp, 0.0.0.0:8000->8000/tcp, 0.0.0.0:10809->10809/tcp agl-worker-odin-0-sdx ``` @@ -91,7 +91,13 @@ install_sdk ~/share/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-cortexa15hf ## Step 5: build your application -You're ready to go: get the sources, run the builds ... +First, you must source the SDK environment you wish to use (you MUST repeat this step each time you open a new shell): + +```bash +source /xdt/sdk/environment-setup-<your_target> +``` + +You're then ready to go: get the sources, run the builds ... ```bash git clone <your repo for your app>; diff --git a/getting-started/source-code.md b/getting-started/source-code.md index 730b242..0e878d3 100644 --- a/getting-started/source-code.md +++ b/getting-started/source-code.md @@ -109,20 +109,20 @@ chmod a+x ~/bin/repo You can choose your source release ### Download Latest Stable Release -To download all layers for the for the latest stable release, Blowfish 2.0.3: +To download all layers for the for the latest stable release, Chinook 3.0.1: ``` cd $AGL_TOP -repo init -b blowfish -m default_blowfish_2.0.3.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo +repo init -b chinook -m chinook_3.0.1.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo repo sync ``` -### Download Latest on Blowfish Branch +### Download Latest on Chinook 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: ``` cd $AGL_TOP -repo init -b blowfish -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo +repo init -b chinook -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo repo sync ``` diff --git a/getting-started/troubleshooting.md b/getting-started/troubleshooting.md index 96bdda5..7059599 100644 --- a/getting-started/troubleshooting.md +++ b/getting-started/troubleshooting.md @@ -40,3 +40,43 @@ 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" ``` +## Screen orientation for Splash and in Weston +Depending of your scren mounting the default orientation of the UI an/or splash screen might be incorrect. +To change the orientation of the splash screen patch +``` +File: /etc/systemd/system/sysinit.target.wants/psplash-start.service +Line: ExecStart=/usr/bin/psplash -n -a 90 +``` +To change the orientation of the UI in Weston patch +``` +File: /etc/xdg/weston/weston.ini +Line: transform=90 +``` + +## Disabling Homescreen in AGL 3.0.x CC release + +**Problem**: new installed applications are not available on Homescreen and even if started manually through afm-util, the application starts but no surface appears. + +**Answer**: this is due to IVI-Shell integration with Qt and Homescreen. + +To disable IVI-Shell and revert to the "plain old" weston desktop, you can follow the 4 steps below: + +1. modify */etc/xdg/weston/weston.ini* and comment the line mentioning IVI-shell. For example on Porter board: + + [core] + backend=drm-backend.so + #shell=ivi-shell.so + ... +2. modify */usr/lib/systemd/user/afm-user-daemon.service* and comment the line specifying QT Wayland backend: + + ... + #Environment=QT_WAYLAND_SHELL_INTEGRATION=ivi-shell + ... +3. disable Homescreen services: + + # systemctl disable HomeScreenAppFrameworkBinderAGL.service + # systemctl disable HomeScreen.service + # systemctl disable InputEventManager.service + # systemctl disable WindowManager.service +4. Reboot your target and you should then be able to start apps on the standard weston screen using afm-util + diff --git a/platform/working-on-the-chinook-branch.md b/platform/working-on-the-chinook-branch.md new file mode 100644 index 0000000..1f8eef8 --- /dev/null +++ b/platform/working-on-the-chinook-branch.md @@ -0,0 +1,103 @@ +# Working on the chinook branch +## Intro +This is a quick howto for working on the 'Charming Chinook' branch. Working on the branch +is easy as we maintain all changes through gerrit.automotivelinux.org. +If you are unfamiliar with gerrit, please read these fine how-to pages were put together from the +Mediawiki community here: https://www.mediawiki.org/wiki/Gerrit/Tutorial . This covers the basics very well. Of course we'll work with gerrit.automotivelinux.org instead so apply likewise. + +## Installation of tools +Install `git` with your distributions package manager. +A very useful tool is "git-review" (cmdline is then `git review`). +Install it from your distro or with `sudo pip install git-review`. + +## Prerequisites +It is important to setup git and gerrit properly (see the Tutorial page mentioned above): + +* prereq #1) make sure git is properly setup with name/email +* prereq #2) make sure your ssh key is in gerrit.automotivelinux.org + +## Cloning, editing and submitting for review + +Follow these steps to submit a change to the 'Charming Chinook' branch: + +1) cloning the (tip of the) branch + ``` + repo init -b chinook -m default.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo + repo sync + ``` + +2) Change the recipe in question (one change at a time - small is better) + ``` + vi recipe-foo/bar/baz.bb + ``` + +3) Do a a few builds and tests (try 2 architectures if possible) + ``` + source meta-agl/scripts/aglsetup.sh .... agl-all-features + bitbake agl-demo-platform + ``` + +4) once satisfied do commit your change as usual in git + Make sure to do a proper commit message: + http://chris.beams.io/posts/git-commit/ + ``` + git commit -s + <enter proper commit message> + ``` + +5) All repos have .gitreview files already, so now it is just + ``` + git review + ``` + +6) (optional, but highly recommended!) Reset to gerrit/chinook + ``` + git checkout chinook` + git reset --hard gerrit/chinook + ``` + + It helps during the review process as gerrit would otherwise enforce + the whole series of patches to be reviewed/merged together (2nd depends on 1st patch). + +7) Rinse (=6) and repeat (=2-5) + +## Using git review to review/test-build a specific change in gerrit +'git review' is also useful if you want to review a change. +Example for meta-agl: +``` + repo init -b chinook -m default.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo + repo sync + cd meta-agl/ + git review -d 8105 +``` +This will pull-down change 8105. Now we can build with it applied: +``` + cd .. + source ... + bitbake ... +```` + +## Using gerrit to amend a changeset while in review +The same workflow applies if you want to _amend_ a changeset while it is in review (not merged, yet): +``` +cd meta-agl/ +git review -d 8105 +``` +This will pull-down change 8105. You can now edit a file: +``` +vi recipes-foo/bar/baz.bb +git commit -s --amend +``` + + Don't forget a test build +``` +cd .. +source meta-agl/scripts/aglsetup.sh ..... agl-all-features +bitbake ... # e.g. agl-demo-platform +``` + + Finally call git review to upload the change +``` +git review +``` + diff --git a/platform/working-on-the-master-branch.md b/platform/working-on-the-master-branch.md new file mode 100644 index 0000000..0f91eaf --- /dev/null +++ b/platform/working-on-the-master-branch.md @@ -0,0 +1,103 @@ +# Working on the master branch +## Intro +This is a quick howto for working on the 'master' branch. Working on the branch +is easy as we maintain all changes through gerrit.automotivelinux.org. +If you are unfamiliar with gerrit, please read these fine how-to pages were put together from the +Mediawiki community here: https://www.mediawiki.org/wiki/Gerrit/Tutorial . This covers the basics very well. Of course we'll work with gerrit.automotivelinux.org instead so apply likewise. + +## Installation of tools +Install `git` with your distributions package manager. +A very useful tool is "git-review" (cmdline is then `git review`). +Install it from your distro or with `sudo pip install git-review`. + +## Prerequisites +It is important to setup git and gerrit properly (see the Tutorial page mentioned above): + +* prereq #1) make sure git is properly setup with name/email +* prereq #2) make sure your ssh key is in gerrit.automotivelinux.org + +## Cloning, editing and submitting for review + +Follow these steps to submit a change to the 'master' branch: + +1) cloning the (tip of the) branch + ``` + repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo + repo sync + ``` + +2) Change the recipe in question (one change at a time - small is better) + ``` + vi meta-xyz/recipe-foo/bar/baz.bb + ``` + +3) Do a a few builds and tests (try 2 architectures if possible) + ``` + source meta-agl/scripts/aglsetup.sh .... agl-all-features + bitbake agl-demo-platform + ``` + +4) once satisfied do commit your change as usual in git + Make sure to do a proper commit message: + http://chris.beams.io/posts/git-commit/ + ``` + git commit -s + <enter proper commit message> + ``` + +5) All repos have .gitreview files already, so now it is just + ``` + git review + ``` + +6) (optional, but highly recommended!) Reset to gerrit/master + ``` + git checkout master + git reset --hard gerrit/master + ``` + + It helps during the review process as gerrit would otherwise enforce + the whole series of patches to be reviewed/merged together (2nd depends on 1st patch). + +7) Rinse (=6) and repeat (=2-5) + +## Using git review to review/test-build a specific change in gerrit +'git review' is also useful if you want to review a change. +Example for meta-agl: +``` + repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo + repo sync + cd meta-agl/ + git review -d 8233 +``` +This will pull-down change 8233. Now we can build with it applied: +``` + cd .. + source ... + bitbake ... +```` + +## Using gerrit to amend a changeset while in review +The same workflow applies if you want to _amend_ a changeset while it is in review (not merged, yet): +``` +cd meta-agl/ +git review -d 8233 +``` +This will pull-down change 8233. You can now edit a file: +``` +vi meta-xyz/recipes-foo/bar/baz.bb +git commit -s --amend +``` + + Don't forget a test build +``` +cd .. +source meta-agl/scripts/aglsetup.sh ..... agl-all-features +bitbake ... # e.g. agl-demo-platform +``` + + Finally call git review to upload the change +``` +git review +``` + |