diff options
-rw-r--r-- | docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md | 722 |
1 files changed, 320 insertions, 402 deletions
diff --git a/docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md b/docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md index 0e5cf13..d0030c4 100644 --- a/docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md +++ b/docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md @@ -1,4 +1,4 @@ -# Building for Supported Renesas Boards +# Building for Supported Renesas Boards AGL supports building for several automotive [Renesas](https://www.renesas.com/us/en/solutions/automotive.html) board kits. @@ -14,8 +14,8 @@ image for the following Renesas platforms: * [Renesas Kingfisher Infotainment Board](https://elinux.org/R-Car/Boards/Kingfisher) **NOTE:** You can find similar information for the Pro and Premier board kits on the -[R-Car/Boards/Yocto-Gen3](https://elinux.org/R-Car/Boards/Yocto-Gen3) page. -The information on this page describes setup and build procedures for both these +[R-Car/Boards/Yocto-Gen3](https://elinux.org/R-Car/Boards/Yocto-Gen3) page on [elinux.org](https://elinux.org). +The information on this page describes setup and build procedures for both of these Renesas development kits. ## 1. Downloading Proprietary Drivers @@ -40,81 +40,81 @@ Follow these steps to download the drivers you need: 2. **Get Your Board Support Package (BSP) Version:** - Be sure to have the correct BSP version of the R-Car Starter Kit - based on the version of the AGL software you are using. - Find the appropriate download links on the - [R-Car H3/M3 Software library and Technical document](https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-documents-software) - site. - The file pairs are grouped according to the Yocto Project version you are - using with the AGL software. - Use the following table to map the Renesas version to your AGL software: + Be sure to have the correct BSP version of the R-Car Starter Kit + based on the version of the AGL software you are using. + Find the appropriate download links on the + [R-Car H3/M3 Software library and Technical document](https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-documents-software) + site. + The file pairs are grouped according to the Yocto Project version you are + using with the AGL software. -| AGL Version | Renesas version | -|:-:|:-:| -| AGL master | 4.1.0 | + Use the following table to map the Renesas version to your AGL software: + + | AGL Version | Renesas version | + |:-:|:-:| + | AGL master | 4.1.0 | 3. **Download the Files:** - Start the download process by clicking the download link. - If you do not have an account with Renesas, you will be asked to register a free account. - You must register and follow the "Click Through" licensing process - in order to download these proprietary files. + Start the download process by clicking the download link. + If you do not have an account with Renesas, you will be asked to register a free account. + You must register and follow the "Click Through" licensing process + in order to download these proprietary files. - If needed, follow the instructions to create the free account by providing the required - account information. - Once the account is registered and you are logged in, you can download the files. + If needed, follow the instructions to create the free account by providing the required + account information. + Once the account is registered and you are logged in, you can download the files. - **NOTE:** - You might have to re-access the - [original page](https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-documents-software) - that contains the download links you need after creating the account and logging in. + **NOTE:** You might have to re-access the + [original page](https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-documents-software) + that contains the download links you need after creating the account and logging in. 4. **Create an Environment Variable to Point to Your Download Area:** - Create and export an environment variable named `XDG_DOWNLOAD_DIR` that points to - your download directory. - Here is an example: + Create and export an environment variable named `XDG_DOWNLOAD_DIR` that points to + your download directory. + Here is an example: - ```sh - $ export XDG_DOWNLOAD_DIR=$HOME/Downloads - ``` + ```sh + $ export XDG_DOWNLOAD_DIR=$HOME/Downloads + ``` 5. **Be Sure the Files Have Rights:** - Be sure you have the necessary rights for the files you downloaded. - You can use the following command: + Be sure you have the necessary rights for the files you downloaded. + You can use the following command: - ```sh - chmod a+x $XDG_DOWNLOAD_DIR/*.zip - ``` + ```sh + chmod a+x $XDG_DOWNLOAD_DIR/*.zip + ``` 6. **Check to be Sure the Files are Downloaded and Have the Correct Rights:** - Do a quick listing of the files to ensure they are in the download directory and - they have the correct access rights. - Here is an example: + Do a quick listing of the files to ensure they are in the download directory and + they have the correct access rights. + Here is an example: - ```sh - $ ls -l $XDG_DOWNLOAD_DIR/*.zip - -rw-rw-r-- 1 scottrif scottrif 4662080 Nov 19 14:48 /home/scottrif/Downloads/R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20200923.zip - -rw-rw-r-- 1 scottrif scottrif 3137626 Nov 19 14:49 /home/scottrif/Downloads/R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20200923.zip - ``` + ```sh + $ ls -l $XDG_DOWNLOAD_DIR/*.zip + -rw-rw-r-- 1 scottrif scottrif 4662080 Nov 19 14:48 /home/scottrif/Downloads/R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20200923.zip + -rw-rw-r-- 1 scottrif scottrif 3137626 Nov 19 14:49 /home/scottrif/Downloads/R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20200923.zip + ``` ## 2. Getting More Software 1. **Get the `bmaptool`:** - Download this tool from the - [bmap-tools](https://build.opensuse.org/package/show/isv:LinuxAutomotive:AGL_Master/bmap-tools) - repository. - The site has pre-built packages (DEB or RPM) for the supported host - operating systems. + Download this tool from the + [bmap-tools](https://build.opensuse.org/package/show/isv:LinuxAutomotive:AGL_Master/bmap-tools) + repository. + The site has pre-built packages (DEB or RPM) for the supported host + operating systems. ## 3. Getting Your Hardware Together - Gather together this list of hardware items, which is not exhaustive. - Having these items ahead of time saves you from having to try and - collect hardware during development: +Gather together this list of hardware items, which is not exhaustive. +Having these items ahead of time saves you from having to try and +collect hardware during development: * Supported Starter Kit Gen3 board with its 5V power supply. * Micro USB-A cable for serial console. @@ -132,124 +132,113 @@ Follow these steps to download the drivers you need: ## 4. Making Sure Your Build Environment is Correct - The - "[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)" - section presented generic information for setting up your build environment - using the `aglsetup.sh` script. - If you are building an image for a supported Renesas board, - you need to take steps to make sure your build host is set up correctly. +The +"[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)" +section presented generic information for setting up your build environment +using the `aglsetup.sh` script. +If you are building an image for a supported Renesas board, +you need to take steps to make sure your build host is set up correctly. 1. **Define Your Board:** - Depending on your Renesas board, define and export a `MACHINE` variable as follows: + Depending on your Renesas board, define and export a `MACHINE` variable as follows: - | Board| `MACHINE` Setting | - |:-:|:-:| - | Starter Kit Pro/M3 | `MACHINE`=m3ulcb | - | Starter Kit Pro/M3 + kingfisher support | `MACHINE`=m3ulcb-kf | - | Starter Kit Pro/M3 without graphic | `MACHINE`=m3ulcb-nogfx | - | Starter Kit Premier/H3 | `MACHINE`=h3ulcb | - | Starter Kit Premier/H3 + kingfisher support | `MACHINE`=h3ulcb-kf | - | Starter Kit Premier/H3 without graphic | `MACHINE`=h3ulcb-nogfx | - | Salvator-X | `MACHINE`=h3-salvator-x | + | Board | `MACHINE` Setting | + |:-:|:-:| + | Starter Kit Pro/M3 | `MACHINE`=m3ulcb | + | Starter Kit Pro/M3 + kingfisher support | `MACHINE`=m3ulcb-kf | + | Starter Kit Pro/M3 without graphic | `MACHINE`=m3ulcb-nogfx | + | Starter Kit Premier/H3 | `MACHINE`=h3ulcb | + | Starter Kit Premier/H3 + kingfisher support | `MACHINE`=h3ulcb-kf | + | Starter Kit Premier/H3 without graphic | `MACHINE`=h3ulcb-nogfx | + | Salvator-X | `MACHINE`=h3-salvator-x | - For example, the following command defines and exports the `MACHINE` variable - for the Starter Kit Pro/M3 Board: + For example, the following command defines and exports the `MACHINE` variable + for the Starter Kit Pro/M3 Board: - ```sh - $ export MACHINE=m3ulcb - ``` + ```sh + $ export MACHINE=m3ulcb + ``` 2. **Run the `aglsetup.sh` Script:** - Use the following commands to run the AGL Setup script: + Use the following commands to run the AGL Setup script: - ```sh - $ cd $AGL_TOP - $ source meta-agl/scripts/aglsetup.sh -m $MACHINE -b build agl-devel agl-demo - ``` + ```sh + $ cd $AGL_TOP + $ source meta-agl/scripts/aglsetup.sh -m $MACHINE -b build agl-devel agl-demo + ``` - **NOTE:** - Running the `aglsetup.sh` script automatically places you in the - working directory (i.e. `$AGL_TOP/build`). - You can change this default behavior by adding the "-f" option to the - script's command line. + **NOTE:** + Running the `aglsetup.sh` script automatically places you in the + working directory (i.e. `$AGL_TOP/build`). + You can change this default behavior by adding the "-f" option to the + script's command line. - In the previous command, the "-m" option sets your machine to the previously - defined `MACHINE` variable. - The "-b" option defines your Build Directory, which is the - default `$AGL_TOP/build`. - Finally, the AGL features are provided to support building the AGL Demo image - for the Renesas board. + In the previous command, the "-m" option sets your machine to the previously + defined `MACHINE` variable. + The "-b" option defines your Build Directory, which is the + default `$AGL_TOP/build`. + Finally, the AGL features are provided to support building the AGL Demo image + for the Renesas board. - You can learn more about the AGL Features in the - "[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)" - section. + You can learn more about the AGL Features in the + "[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)" + section. 3. **Examine the Script's Log:** - Running the `aglsetup.sh` script creates the `setup.log` file, which is in - the `build/conf` folder. - You can examine this log to see the results of the script. - For example, suppose the graphics drivers were missing or could not be extracted - when you ran the script. - -<details> - <summary> In case of missing graphics drivers, you could notice an error message - similar to the following:</summary> - <pre> - <code> -[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 downloaded from: -https://www.renesas.com/en-us/solutions/automotive/rcar-demoboard-2.html - -These 2 files from there should be store in your'/home/devel/Downloads' directory. - R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston5-20190802.zip - R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston5-20190802.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 -OK -Generating setup file: /home/working/workspace_agl_master/build_gen3/agl-init-build-env ... OK ------------- aglsetup.sh: Done -[snip] - </code> - </pre> -</details> - - If you encounter this issue, or any other unwanted behavior, you can fix the error - mentioned, remove the `$AGL_TOP/build` directory, and then re-launch the - `aglsetup.sh` again. - -<details> - <summary>Here is another example that indicates the driver files could not be extracted from the downloads directory:</summary> - <pre> - <code> -[snip] - -~/workspace_agl/build/conf $ cat setup.log ---- beginning of setup script ---- fragment /home/working/workspace_agl/meta-agl/templates/base/01_setup_EULAfunc.sh ---- fragment /home/working/workspace_agl/meta-agl/templates/machine/m3ulcb/50_setup.sh -~/workspace_agl ~/workspace_agl/build -ERROR: FILES "+/home/working/Downloads/R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston5-20190802.zip+" NOT EXTRACTING CORRECTLY -ERROR: FILES "+/home/working/Downloads/R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston5-20190802.zip+" NOT EXTRACTING CORRECTLY -The graphics and multimedia acceleration packages for -the R-Car Gen3 board BSP can be downloaded from: -<https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-documents-software> - -These 2 files from there should be stored in your -'/home/working/Downloads' directory. - R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston5-20190802.zip - R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston5-20190802.zip -ERROR: Script /home/working/workspace_agl/build/conf/setup.sh failed -[snip] - </code> - </pre> -</details> + Running the `aglsetup.sh` script creates the `setup.log` file, which is in + the `build/conf` folder. + You can examine this log to see the results of the script. + For example, suppose the graphics drivers were missing or could not be extracted + when you ran the script. + In case of missing graphics drivers, you could notice an error message + similar to the following: + ```text + [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 downloaded from: + https://www.renesas.com/en-us/solutions/automotive/rcar-demoboard-2.html + + These 2 files from there should be store in your'/home/devel/Downloads' directory. + R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston5-20190802.zip + R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston5-20190802.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 + OK + Generating setup file: /home/working/workspace_agl_master/build_gen3/agl-init-build-env ... OK + ------------ aglsetup.sh: Done + [snip] + ``` + + If you encounter this issue, or any other unwanted behavior, you can fix the error + mentioned, remove the `$AGL_TOP/build` directory, and then re-launch the + `aglsetup.sh` again. + + Here is another example that indicates the driver files could not be extracted from the downloads directory: + ``` + ~/workspace_agl/build/conf $ cat setup.log + --- beginning of setup script + --- fragment /home/working/workspace_agl/meta-agl/templates/base/01_setup_EULAfunc.sh + --- fragment /home/working/workspace_agl/meta-agl/templates/machine/m3ulcb/50_setup.sh + ~/workspace_agl ~/workspace_agl/build + ERROR: FILES "+/home/working/Downloads/R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston5-20190802.zip+" NOT EXTRACTING CORRECTLY + ERROR: FILES "+/home/working/Downloads/R-car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston5-20190802.zip+" NOT EXTRACTING CORRECTLY + The graphics and multimedia acceleration packages for + the R-Car Gen3 board BSP can be downloaded from: + <https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-documents-software> + + These 2 files from there should be stored in your + '/home/working/Downloads' directory. + R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston5-20190802.zip + R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston5-20190802.zip + ERROR: Script /home/working/workspace_agl/build/conf/setup.sh failed + [snip] + ``` ## 5. Checking Your Configuration @@ -258,7 +247,7 @@ running the `aglsetup.sh` script, you can ensure your build's configuration is just how you want it by examining the `local.conf` configuration file. You can find this configuration file in the Build Directory (e.g. -"$TOP_DIR/build/conf/local.conf"). +`$TOP_DIR/build/conf/local.conf`). In general, the defaults along with the configuration fragments the `aglsetup.sh` script applies in the `local.conf` file are good enough. @@ -282,15 +271,15 @@ Depending on the Renesas board you are using, you should see output as follows: ```sh - MACHINE = "h3ulcb" +MACHINE = "h3ulcb" ``` or ```sh - MACHINE = "m3ulcb" +MACHINE = "m3ulcb" ``` or ```sh - MACHINE = "h3-salvator-x" +MACHINE = "h3-salvator-x" ``` If you ran the `aglsetup.sh` script as described in the @@ -328,7 +317,7 @@ The build also takes approximately 100G-bytes of free disk space. For this example, the target is "agl-demo-platform": ```sh - bitbake agl-demo-platform +bitbake agl-demo-platform ``` The build process puts the resulting image in the Build Directory: @@ -354,62 +343,51 @@ Follow these steps to update the firmware: 1. **Update the Sample Loader and MiniMonitor:** - You only need to make these updates one time per device. + You only need to make these updates one time per device. - Follow the procedure found on the - eLinux.org wiki to update to at least version 3.02, - which is mandatory to run the AGL image ([R-car loader update](https://elinux.org/R-Car/Boards/Kingfisher#How_to_update_of_Sample_Loader_and_MiniMonitor)). + Follow the procedure found on the + eLinux.org wiki to update to at least version 3.02, + which is mandatory to run the AGL image + ([R-car loader update](https://elinux.org/R-Car/Boards/Kingfisher#How_to_update_of_Sample_Loader_and_MiniMonitor)). 2. **Update the Firmware Stack:** - You only need to update the firmware stack if you are - using the Eel or later (5.0) version of AGL software. + You only need to update the firmware stack if you are + using the Eel or later (5.0) version of AGL software. - M3 and H3 Renesas board are AArch64 platforms. - As such, they have a firmware stack that is divided across: **ARM Trusted Firmware**, **OP-Tee** and **U-Boot**. + M3 and H3 Renesas board are AArch64 platforms. + As such, they have a firmware stack that is divided across: **ARM Trusted Firmware**, **OP-Tee** and **U-Boot**. - If you are using the Eel (5.0) version or later of the AGL software, you must update - the firmware using the **[h3ulcb][R-car h3ulcb firmware update](http://elinux.org/R-Car/Boards/H3SK#Flashing_firmware)** - or **[m3ulcb][R-car m3ulcb firmware update](https://elinux.org/R-Car/Boards/M3SK#Flashing_firmware)** links from the - [Embedded Linux Wiki](https://www.elinux.org/Main_Page) (i.e. `elinux.org`). + If you are using the Eel (5.0) version or later of the AGL software, you must update + the firmware using the **[h3ulcb] [R-car h3ulcb firmware update](http://elinux.org/R-Car/Boards/H3SK#Flashing_firmware)** + or **[m3ulcb] [R-car m3ulcb firmware update](https://elinux.org/R-Car/Boards/M3SK#Flashing_firmware)** links from the + [Embedded Linux Wiki](https://www.elinux.org/Main_Page) (i.e. `elinux.org`). - The table in the wiki lists the files you need to flash the firmware. - You can find these files in the following directory: + The table in the wiki lists the files you need to flash the firmware. + You can find these files in the following directory: - ```sh - $AGL_TOP/build/tmp/deploy/images/$MACHINE - ``` + ```sh + $AGL_TOP/build/tmp/deploy/images/$MACHINE + ``` - **NOTE:** The Salvator-X firmware update process is not documented on eLinux. + **NOTE:** The Salvator-X firmware update process is not documented on eLinux. ### Preparing the MicroSD Card -<details> - <summary> - Plug the MicroSD card into your Build Host. - After plugging in the device, use the `dmesg` command as follows to - discover the device name: - </summary> - <pre> - <code> +Plug the MicroSD card into your Build Host. +After plugging in the device, use the `dmesg` command as follows to +discover the device name: +```sh $ dmesg | tail -4 [ 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 - </code> - </pre> -</details> - +``` In the previous example, the MicroSD card is attached to the device `/dev/sdc`. - -<details> - <summary> - You can also use the `lsblk` command to show all your devices. - Here is an example that shows the MicroSD card as `/dev/sdc`: - </summary> - <pre> - <code> +You can also use the `lsblk` command to show all your devices. +Here is an example that shows the MicroSD card as `/dev/sdc`: +```sh $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 167,7G 0 disk @@ -421,10 +399,7 @@ $ lsblk sdc 8:32 1 14,9G 0 disk ├─sdc1 8:33 1 40M 0 part └─sdc2 8:34 1 788M 0 part - </code> - </pre> -</details> - +``` **IMPORTANT NOTE:** Before re-writing any device on your Build Host, you need to be sure you are actually writing to the removable MicroSD card and not some other device. @@ -459,9 +434,9 @@ Alternatively, you can leave the image in an uncompressed state and write it to the MicroSD card: ```sh - sudo umount <boot_device_name> - xzcat ./agl-demo-platform-$MACHINE.wic.xz | sudo dd of=<boot_device_name> bs=4M - sync +sudo umount <boot_device_name> +xzcat ./agl-demo-platform-$MACHINE.wic.xz | sudo dd of=<boot_device_name> bs=4M +sync ``` ### Booting the Board @@ -474,9 +449,9 @@ Follow these steps to boot the board: 3. Verify that you have plugged in the following: - * An external monitor into the board's HDMI port + * An external monitor into the board's HDMI port - * An input device (e.g. keyboard, mouse, touchscreen, and so forth) into the board's USB ports. + * An input device (e.g. keyboard, mouse, touchscreen, and so forth) into the board's USB ports. 4. Use the board's power switch to turn on the board. @@ -497,13 +472,13 @@ Setting up the Serial Console involves the following: ### Installing a Serial Client on Your Build Host You need to install a serial client on your build host. -Some examples are -[GNU Screen](https://en.wikipedia.org/wiki/GNU_Screen), -[picocom](https://linux.die.net/man/8/picocom), -and -[Minicom](https://en.wikipedia.org/wiki/Minicom). +Some examples are: + +* [GNU Screen](https://en.wikipedia.org/wiki/GNU_Screen) +* [picocom](https://linux.die.net/man/8/picocom) +* [Minicom](https://en.wikipedia.org/wiki/Minicom) -Of these three, "picocom" has less dependencies and is therefore +Of these three, "picocom" has the least dependencies and is therefore considered the "lightest" solution. ### Connecting Your Build Host to Your Renesas Board's Serial Port @@ -512,14 +487,10 @@ You need to physically connect your build host to the Renesas board using a USB cable from the host to the serial CP2102 USP port (i.e. Micro USB-A port) on the Renesas board. -<details> - <summary> - Once you connect the board, determine the device created for the serial link. - Use the ``dmesg`` command on your build host. - Here is an example: - </summary> - <pre> - <code> +Once you connect the board, determine the device created for the serial link. +Use the ``dmesg`` command on your build host. +Here is an example: +```sh dmesg | tail 9 [2097783.287091] usb 2-1.5.3: new full-speed USB device number 24 using ehci-pci [2097783.385857] usb 2-1.5.3: New USB device found, idVendor=0403, idProduct=6001 @@ -530,10 +501,7 @@ dmesg | tail 9 [2097783.388288] ftdi_sio 2-1.5.3:1.0: FTDI USB Serial Device converter detected [2097783.388330] usb 2-1.5.3: Detected FT232RL [2097783.388658] usb 2-1.5.3: FTDI USB Serial Device converter now attached to ttyUSB0 - </code> - </pre> -</details> - +``` The device created is usually "/dev/ttyUSB0". However, the number might vary depending on other USB serial ports connected to the host. @@ -541,7 +509,6 @@ To use the link, you need to launch the client. Here are three commands, which vary based on the serial client, that show how to launch the client: - ```sh $ picocom -b 115200 /dev/ttyUSB0 ``` @@ -568,13 +535,8 @@ To power on the board, "short-press" SW8, which is the power switch. Following, is console output for the power on process for each kit: -<details> - <summary> - h3ulcb: - </summary> - <pre> - <code> - +**h3ulcb**: +```text NOTICE: BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.7 NOTICE: BL2: PRR is R-Car H3 ES1.1 NOTICE: BL2: LCM state is CM @@ -610,16 +572,10 @@ Net: Board Net Initialization Failed No ethernet found. Hit any key to stop autoboot: 0 => - </code> - </pre> -</details> - -<details> - <summary> - m3ulcb: - </summary> - <pre> - <code> +``` + +**m3ulcb**: +```text NOTICE: BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.14 NOTICE: BL2: PRR is R-Car M3 Ver1.0 NOTICE: BL2: Board is Starter Kit Rev1.0 @@ -656,9 +612,7 @@ Err: serial Net: ravb Hit any key to stop autoboot: 0 => - </code> - </pre> -</details> +``` ## 9. Setting-up U-boot ### Configuring U-Boot Parameters @@ -671,14 +625,10 @@ boot device and also to set the screen resolution: press a key. 2. Once the autoboot process is interrupted, use the board's serial console to - enter <b>printenv</b> to check if you have correct parameters for booting your board: - <details> - <summary> - Here is an example using the <b>h3ulcb</b> board: - </summary> - <pre> - <code> + enter `printenv` to check if you have correct parameters for booting your board: + Here is an example using the **h3ulcb** board: + ```sh => printenv baudrate=115200 bootargs=console=ttySC0,115200 root=/dev/mmcblk1p1 rootwait ro rootfstype=ext4 @@ -694,16 +644,10 @@ boot device and also to set the screen resolution: ver=U-Boot 2015.04 (Jun 09 2016 - 19:21:52) Environment size: 648/131068 bytes - </code> - </pre> - </details> - <details> - <summary> - Here is a second example using the <b>m3ulcb</b> board: - </summary> - <pre> - <code> - => printenv + ``` + + Here is a second example using the **m3ulcb** board: + ```sh baudrate=115200 bootargs=console=ttySC0,115200 root=/dev/mmcblk1p1 rootwait ro rootfstype=ext4 bootcmd=run load_ker; run load_dtb; booti 0x48080000 - 0x48000000 @@ -719,24 +663,21 @@ boot device and also to set the screen resolution: ver=U-Boot 2015.04 (Nov 30 2016 - 18:25:18) Environment size: 557/131068 bytes - </code> - </pre> - </details> + ``` - 3. To boot your board using the MicroSD card, be sure your environment is set up +3. To boot your board using the MicroSD card, be sure your environment is set up as follows: + ```sh + setenv bootargs console=ttySC0,115200 ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 root=/dev/mmcblk1p1 rw rootfstype=ext4 rootwait rootdelay=2 + setenv bootcmd run load_ker\; run load_dtb\; booti 0x48080000 - 0x48000000 + setenv load_ker ext4load mmc 0:1 0x48080000 /boot/Image + ``` - ```shell - setenv bootargs console=ttySC0,115200 ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 root=/dev/mmcblk1p1 rw rootfstype=ext4 rootwait rootdelay=2 - setenv bootcmd run load_ker\; run load_dtb\; booti 0x48080000 - 0x48000000 - setenv load_ker ext4load mmc 0:1 0x48080000 /boot/Image - ``` - - 4. Loading dtb : +4. Loading dtb : - **NOTE** : Refer [here](https://elinux.org/R-Car/Boards/Yocto-Gen3-CommonFAQ/Which_dtb_file_is_required_to_boot_linux_on_the_R-Car_Starter_Kit_board_%3F) for more information. + **NOTE** : Refer [here](https://elinux.org/R-Car/Boards/Yocto-Gen3-CommonFAQ/Which_dtb_file_is_required_to_boot_linux_on_the_R-Car_Starter_Kit_board_%3F) for more information. - Make sure your ``load_dtb`` is set as follows : + Make sure your ``load_dtb`` is set as follows : * **H3SK v2.0(DDR 4GB)** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb.dtb` @@ -750,18 +691,15 @@ boot device and also to set the screen resolution: * **M3SK with a Kingfisher board** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb-kf.dtb` - 5. Save the boot environment: - - ```shell - saveenv - ``` - - 6. Boot the board: - ```sh - run bootcmd - ``` - +5. Save the boot environment: + ```sh + saveenv + ``` +6. Boot the board: + ```sh + run bootcmd + ``` ## 10. Troubleshooting ### Logging Into the Console @@ -773,7 +711,7 @@ A login prompt should appear as follows depending on your board: **h3ulcb**: -```sh +```text Automotive Grade Linux ${AGL_VERSION} h3ulcb ttySC0 h3ulcb login: root @@ -781,7 +719,7 @@ h3ulcb login: root **m3ulcb**: -```sh +```text Automotive Grade Linux ${AGL_VERSION} m3ulcb ttySC0 m3ulcb login: root @@ -796,59 +734,48 @@ If your board is connected to a local network using Ethernet and if a DHCP server is able to distribute IP addresses, you can determine the board's IP address and log in using `ssh`. -<details> - <summary> - Here is an example for the m3ulcb board: - </summary> - <pre> - <code> - m3ulcb login: root - Last login: Tue Dec 6 09:55:15 UTC 2016 on tty2 - root@m3ulcb:~# ip -4 a - 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default - inet 127.0.0.1/8 scope host lo - valid_lft forever preferred_lft forever - 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 - inet 10.0.0.27/24 brd 10.0.0.255 scope global eth0 - valid_lft forever preferred_lft forever - root@m3ulcb:~# - </code> - </pre> -</details> - -<details> - <summary> - In the previous example, IP address is 10.0.0.27. - Once you know the address, you can use `ssh` to login. - Following is an example that shows logging into SSH and then - displaying the contents of the `/etc/os-release` file: - </summary> - <pre> - <code> - $ ssh root@10.0.0.27 - Last login: Tue Dec 6 10:01:11 2016 from 10.0.0.13 - root@m3ulcb:~# cat /etc/os-release - ID="poky-agl" - NAME="Automotive Grade Linux" - VERSION="3.0.0+snapshot-20161202 (chinook)" - VERSION_ID="3.0.0-snapshot-20161202" - PRETTY_NAME="Automotive Grade Linux 3.0.0+snapshot-20161202 (chinook)" - </code> - </pre> -</details> +Here is an example for the **m3ulcb** board: +```sh +m3ulcb login: root +Last login: Tue Dec 6 09:55:15 UTC 2016 on tty2 +root@m3ulcb:~# ip -4 a +1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever +3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 + inet 10.0.0.27/24 brd 10.0.0.255 scope global eth0 + valid_lft forever preferred_lft forever +root@m3ulcb:~# +``` + +In the previous example, IP address is 10.0.0.27. +Once you know the address, you can use `ssh` to login. +Following is an example that shows logging into SSH and then +displaying the contents of the `/etc/os-release` file: +```sh +$ ssh root@10.0.0.27 +Last login: Tue Dec 6 10:01:11 2016 from 10.0.0.13 +root@m3ulcb:~# cat /etc/os-release +ID="poky-agl" +NAME="Automotive Grade Linux" +VERSION="3.0.0+snapshot-20161202 (chinook)" +VERSION_ID="3.0.0-snapshot-20161202" +PRETTY_NAME="Automotive Grade Linux 3.0.0+snapshot-20161202 (chinook)" +``` ## 11. Supplementary Information -* R-Car Generation 3 Information +### R-Car Generation 3 Information -Refer to the following for more information from [eLinux website](https://elinux.org/R-Car). +Refer to the [R-Car](https://elinux.org/R-Car) page on the +[elinux.org](https://elinux.org) website for more information. -* Proprietary libraries for meta-rcar-gen3 +### Proprietary libraries for meta-rcar-gen3 -The meta-rcar-gen3 layer of meta-renesas is supported Graphic GLES(GSX) -libraries, proprietary library of multimedia, and ICCOM software. +The meta-rcar-gen3 layer of meta-renesas supports Graphic GLES(GSX) +libraries, proprietary multimedia libraries, and ICCOM software. -1. Build with Renesas multimedia libraries +#### Build with Renesas multimedia libraries Multimedia portions depend on GLES portions. @@ -857,89 +784,80 @@ Multimedia portions depend on GLES portions. * Please copy proprietary libraries to the directory of recipes. * Please set local.conf the following. - **Enable multimedia features. This provides package group of plug-ins of the GStreamer, multimedia libraries and kernel drivers.** - ```sh - MACHINE_FEATURES_append = " multimedia" - ``` + **Enable multimedia features. This provides package group of plug-ins of the GStreamer, multimedia libraries and kernel drivers.** + + ```sh + MACHINE_FEATURES_append = " multimedia" + ``` * B. Configuration for optional codecs and middleware * Please copy proprietary libraries to the directory of recipes. - * Add features to DISTRO_FEATURES_append to local.conf - -<details> - <summary> - **Additional configuration in OMX module** - </summary> - <pre> - <code> - " h263dec_lib" - for OMX Media Component H263 Decoder Library - " h264dec_lib" - for OMX Media Component H264 Decoder Library - " h264enc_lib" - for OMX Media Component H.264 Encoder Library - " h265dec_lib" - for OMX Media Component H265 Decoder Library - " mpeg2dec_lib" - for OMX Media Component MPEG2 Decoder Library - " mpeg4dec_lib" - for OMX Media Component MPEG4 Decoder Library - " vc1dec_lib" - for OMX Media Component VC-1 Decoder Library - " divxdec_lib" - for OMX Media Component DivX Decoder Library - " rvdec_lib" - for OMX Media Component RealVideo Decoder Library - " alacdec_lib" - for OMX Media Component ALAC Decoder Library - " flacdec_lib" - for OMX Media Component FLAC Decoder Library - " aaclcdec_lib" - for OMX Media Component AAC-LC Decoder Library - " aaclcdec_mdw" - for AAC-LC 2ch Decoder Middleware for Linux - " aacpv2dec_lib" - for OMX Media Component aacPlus V2 Decoder Library - " aacpv2dec_mdw" - for aacPlus V2 Decoder Middleware for Linux - " mp3dec_lib" - for OMX Media Component MP3 Decoder Library - " mp3dec_mdw" - for MP3 Decoder Middleware for Linux - " wmadec_lib" - for OMX Media Component WMA Standard Decoder Library - " wmadec_mdw" - for WMA Standard Decoder Middleware for Linux - " dddec_lib" - for OMX Media Component Dolby(R) Digital Decoder Library - " dddec_mdw" - for Dolby(R) Digital Decoder Middleware for Linux - " aaclcenc_lib" - for OMX Media Component AAC-LC Encoder Library - " vp8dec_lib" - for OMX Media Component VP8 Decoder Library for Linux - " vp8enc_lib" - for OMX Media Component VP8 Encoder Library for Linux - " vp9dec_lib" - for OMX Media Component VP9 Decoder Library for Linux - " aaclcenc_mdw" - for AAC-LC Encoder Middleware for Linux - " cmsbcm" - for CMS Basic Color Management Middleware for Linux - " cmsblc" - for CMS CMM3 Backlight Control Middleware for Linux - " cmsdgc" - for CMS VSP2 Dynamic Gamma Correction Middleware for Linux - " dtv" - for ISDB-T DTV Software Package for Linux - " dvd" - for DVD Core-Middleware for Linux - " adsp" - for ADSP driver, ADSP interface and ADSP framework for Linux - " avb" - for AVB Software Package for Linux - </code> - </pre> -</details> - - - Ex: - - ```sh - DISTRO_FEATURES_append = " h264dec_lib h265dec_lib mpeg2dec_lib aaclcdec_lib aaclcdec_mdw" - ``` + * Add features to `DISTRO_FEATURES_append` to local.conf + + **Additional configuration in OMX module**: + + ```text + " h263dec_lib" - for OMX Media Component H263 Decoder Library + " h264dec_lib" - for OMX Media Component H264 Decoder Library + " h264enc_lib" - for OMX Media Component H.264 Encoder Library + " h265dec_lib" - for OMX Media Component H265 Decoder Library + " mpeg2dec_lib" - for OMX Media Component MPEG2 Decoder Library + " mpeg4dec_lib" - for OMX Media Component MPEG4 Decoder Library + " vc1dec_lib" - for OMX Media Component VC-1 Decoder Library + " divxdec_lib" - for OMX Media Component DivX Decoder Library + " rvdec_lib" - for OMX Media Component RealVideo Decoder Library + " alacdec_lib" - for OMX Media Component ALAC Decoder Library + " flacdec_lib" - for OMX Media Component FLAC Decoder Library + " aaclcdec_lib" - for OMX Media Component AAC-LC Decoder Library + " aaclcdec_mdw" - for AAC-LC 2ch Decoder Middleware for Linux + " aacpv2dec_lib" - for OMX Media Component aacPlus V2 Decoder Library + " aacpv2dec_mdw" - for aacPlus V2 Decoder Middleware for Linux + " mp3dec_lib" - for OMX Media Component MP3 Decoder Library + " mp3dec_mdw" - for MP3 Decoder Middleware for Linux + " wmadec_lib" - for OMX Media Component WMA Standard Decoder Library + " wmadec_mdw" - for WMA Standard Decoder Middleware for Linux + " dddec_lib" - for OMX Media Component Dolby(R) Digital Decoder Library + " dddec_mdw" - for Dolby(R) Digital Decoder Middleware for Linux + " aaclcenc_lib" - for OMX Media Component AAC-LC Encoder Library + " vp8dec_lib" - for OMX Media Component VP8 Decoder Library for Linux + " vp8enc_lib" - for OMX Media Component VP8 Encoder Library for Linux + " vp9dec_lib" - for OMX Media Component VP9 Decoder Library for Linux + " aaclcenc_mdw" - for AAC-LC Encoder Middleware for Linux + " cmsbcm" - for CMS Basic Color Management Middleware for Linux + " cmsblc" - for CMS CMM3 Backlight Control Middleware for Linux + " cmsdgc" - for CMS VSP2 Dynamic Gamma Correction Middleware for Linux + " dtv" - for ISDB-T DTV Software Package for Linux + " dvd" - for DVD Core-Middleware for Linux + " adsp" - for ADSP driver, ADSP interface and ADSP framework for Linux + " avb" - for AVB Software Package for Linux + ``` + Example: + ```sh + DISTRO_FEATURES_append = " h264dec_lib h265dec_lib mpeg2dec_lib aaclcdec_lib aaclcdec_mdw" + ``` * C. Configuration for test packages - Must ensure that Multimedia features have been enabled. - (Please refer to III/A to enable Multimedia.) - - * Please add feature to DISTRO_FEATURES_append to local.conf. + Must ensure that Multimedia features have been enabled. + (Please refer to III/A to enable Multimedia.) - **Configuration for multimedia test package** - ```sh - DISTRO_FEATURES_append = "mm-test" - ``` + * Please add feature to `DISTRO_FEATURES_append` to local.conf. -2. Enable Linux ICCOM driver and Linux ICCOM library + **Configuration for multimedia test package** + ```sh + DISTRO_FEATURES_append = " mm-test" + ``` +#### Enable Linux ICCOM driver and Linux ICCOM library - For Linux ICCOM driver and Linux ICCOM library +For Linux ICCOM driver and Linux ICCOM library - * Please copy proprietary libraries to the directory of recipes. - - * Please set local.conf the following. +* Please copy proprietary libraries to the directory of recipes. +* Please set the following in local.conf: ```sh DISTRO_FEATURES_append = "iccom" ``` |