bs=4M
sync
```
### Booting the Board
Follow these steps to boot the board:
1. Use the board's power switch to turn off the board.
2. Insert the MicroSD card into the board.
3. Verify that you have plugged in the following:
* 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.
4. Use the board's power switch to turn on the board.
After a few seconds, you will see the AGL splash screen on the display and you
will be able to log in at the console's terminal or using the graphic screen.
## 8. Setting Up the Serial Console
Setting up the Serial Console involves the following:
* Installing a serial client on your build host
* Connecting your build host to your Renesas board's serial port
* Powering on the board to get a shell at the console
* Configuring U-Boot parameters
* Logging into the console
* Determining the board's IP address
### 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).
Of these three, "picocom" has less dependencies and is therefore
considered the "lightest" solution.
### Connecting Your Build Host to Your Renesas Board's Serial Port
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.
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:
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
[2097783.385862] usb 2-1.5.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[2097783.385864] usb 2-1.5.3: Product: FT232R USB UART
[2097783.385866] usb 2-1.5.3: Manufacturer: FTDI
[2097783.385867] usb 2-1.5.3: SerialNumber: AK04WWCE
[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
The device created is usually "/dev/ttyUSB0".
However, the number might vary depending on other USB serial ports connected to the host.
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
```
or
```sh
$ minicom -b 115200 -D /dev/ttyUSB0
```
or
```sh
$ screen /dev/ttyUSB0 115200
```
### Powering on the Board to Get a Shell at the Console
Both the Pro and Premier kits (e.g.
[m3ulcb](https://elinux.org/R-Car/Boards/M3SK) and
[h3ulcb](https://elinux.org/R-Car/Boards/H3SK#Hardware)) have nine
switches (SW1 through SW9).
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:
h3ulcb:
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
NOTICE: BL2: DDR1600(rev.0.15)
NOTICE: BL2: DRAM Split is 4ch
NOTICE: BL2: QoS is Gfx Oriented(rev.0.30)
NOTICE: BL2: AVS setting succeeded. DVFS_SetVID=0x52
NOTICE: BL2: Lossy Decomp areas
NOTICE: Entry 0: DCMPAREACRAx:0x80000540 DCMPAREACRBx:0x570
NOTICE: Entry 1: DCMPAREACRAx:0x40000000 DCMPAREACRBx:0x0
NOTICE: Entry 2: DCMPAREACRAx:0x20000000 DCMPAREACRBx:0x0
NOTICE: BL2: v1.1(release):41099f4
NOTICE: BL2: Built : 19:20:52, Jun 9 2016
NOTICE: BL2: Normal boot
NOTICE: BL2: dst=0xe63150c8 src=0x8180000 len=36(0x24)
NOTICE: BL2: dst=0x43f00000 src=0x8180400 len=3072(0xc00)
NOTICE: BL2: dst=0x44000000 src=0x81c0000 len=65536(0x10000)
NOTICE: BL2: dst=0x44100000 src=0x8200000 len=524288(0x80000)
NOTICE: BL2: dst=0x49000000 src=0x8640000 len=1048576(0x100000)
U-Boot 2015.04 (Jun 09 2016 - 19:21:52)
CPU: Renesas Electronics R8A7795 rev 1.1
Board: H3ULCB
I2C: ready
DRAM: 3.9 GiB
MMC: sh-sdhi: 0, sh-sdhi: 1
In: serial
Out: serial
Err: serial
Net: Board Net Initialization Failed
No ethernet found.
Hit any key to stop autoboot: 0
=>
m3ulcb:
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
NOTICE: BL2: Boot device is HyperFlash(80MHz)
NOTICE: BL2: LCM state is CM
NOTICE: BL2: AVS setting succeeded. DVFS_SetVID=0x52
NOTICE: BL2: DDR1600(rev.0.22)NOTICE: [COLD_BOOT]NOTICE: ..0
NOTICE: BL2: DRAM Split is 2ch
NOTICE: BL2: QoS is default setting(rev.0.17)
NOTICE: BL2: Lossy Decomp areas
NOTICE: Entry 0: DCMPAREACRAx:0x80000540 DCMPAREACRBx:0x570
NOTICE: Entry 1: DCMPAREACRAx:0x40000000 DCMPAREACRBx:0x0
NOTICE: Entry 2: DCMPAREACRAx:0x20000000 DCMPAREACRBx:0x0
NOTICE: BL2: v1.3(release):4eef9a2
NOTICE: BL2: Built : 00:25:19, Aug 25 2017
NOTICE: BL2: Normal boot
NOTICE: BL2: dst=0xe631e188 src=0x8180000 len=512(0x200)
NOTICE: BL2: dst=0x43f00000 src=0x8180400 len=6144(0x1800)
NOTICE: BL2: dst=0x44000000 src=0x81c0000 len=65536(0x10000)
NOTICE: BL2: dst=0x44100000 src=0x8200000 len=524288(0x80000)
NOTICE: BL2: dst=0x50000000 src=0x8640000 len=1048576(0x100000)
U-Boot 2015.04-dirty (Aug 25 2017 - 10:55:49)
CPU: Renesas Electronics R8A7796 rev 1.0
Board: M3ULCB
I2C: ready
DRAM: 1.9 GiB
MMC: sh-sdhi: 0, sh-sdhi: 1
In: serial
Out: serial
Err: serial
Net: ravb
Hit any key to stop autoboot: 0
=>
## 9. Setting-up U-boot
### Configuring U-Boot Parameters
Follow these steps to configure the board to use the MicroSD card as the
boot device and also to set the screen resolution:
1. As the board is powering up, press any key to stop the autoboot process.
You need to press a key quickly as you have just a few seconds in which to
press a key.
2. Once the autoboot process is interrupted, use the board's serial console to
enter printenv to check if you have correct parameters for booting your board:
Here is an example using the h3ulcb board:
=> printenv
baudrate=115200
bootargs=console=ttySC0,115200 root=/dev/mmcblk1p1 rootwait ro rootfstype=ext4
bootcmd=run load_ker; run load_dtb; booti 0x48080000 - 0x48000000
bootdelay=3
fdt_high=0xffffffffffffffff
initrd_high=0xffffffffffffffff
load_dtb=ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb.dtb
load_ker=ext4load mmc 0:1 0x48080000 /boot/Image
stderr=serial
stdin=serial
stdout=serial
ver=U-Boot 2015.04 (Jun 09 2016 - 19:21:52)
Environment size: 648/131068 bytes
Here is a second example using the m3ulcb board:
=> printenv
baudrate=115200
bootargs=console=ttySC0,115200 root=/dev/mmcblk1p1 rootwait ro rootfstype=ext4
bootcmd=run load_ker; run load_dtb; booti 0x48080000 - 0x48000000
bootdelay=3
fdt_high=0xffffffffffffffff
filesize=cdeb
initrd_high=0xffffffffffffffff
load_dtb=ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb.dtb
load_ker=ext4load mmc 0:1 0x48080000 /boot/Image
stderr=serial
stdin=serial
stdout=serial
ver=U-Boot 2015.04 (Nov 30 2016 - 18:25:18)
Environment size: 557/131068 bytes
3. To boot your board using the MicroSD card, be sure your environment is set up
as follows:
```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 :
**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 :
* **H3SK v2.0(DDR 4GB)** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb.dtb`
* **H3SK v2.0(DDR 8GB)/v3.0(DDR 8GB)** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb-4x2g.dtb`
* **M3SK v1.0** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb.dtb`
* **M3SK v3.0** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb-2x4g.dtb`
* **H3SK with a Kingfisher board** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb-kf.dtb`
* **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
```
## 10. Troubleshooting
### Logging Into the Console
Once the board boots, you should see the
[Wayland display](https://en.wikipedia.org/wiki/Wayland_(display_server_protocol))
on the external monitor.
A login prompt should appear as follows depending on your board:
**h3ulcb**:
```sh
Automotive Grade Linux ${AGL_VERSION} h3ulcb ttySC0
h3ulcb login: root
```
**m3ulcb**:
```sh
Automotive Grade Linux ${AGL_VERSION} m3ulcb ttySC0
m3ulcb login: root
```
At the prompt, login by using `root` as the login.
The password is "empty" so you should not be prompted for the password.
### Determining the Board's IP Address
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`.
Here is an example for the m3ulcb board:
m3ulcb login: root
Last login: Tue Dec 6 09:55:15 UTC 2016 on tty2
root@m3ulcb:~# ip -4 a
1: lo: 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: 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:
$ 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
Refer to the following for more information from [eLinux website](https://elinux.org/R-Car).
* 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.
1. Build with Renesas multimedia libraries
Multimedia portions depend on GLES portions.
* A. Configuration for Multimedia features
* 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"
```
* 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
**Additional configuration in OMX module**
" 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
Ex:
```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.
**Configuration for multimedia test package**
```sh
DISTRO_FEATURES_append = "mm-test"
```
2. Enable 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.
```sh
DISTRO_FEATURES_append = "iccom"
```