This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
start:building_for_the_renesas_r-car_m2 [2015/11/19 22:27] aeiche |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Build an R-Car M2 (porter) image ====== | ||
- | |||
- | #### Obtain and Install Renesas Graphics/Multimedia Drivers | ||
- | |||
- | 1. Download packages from Renesas | ||
- | |||
- | The graphics and multimedia acceleration packages for the R-Car M2 Porter board can be download directory from [[http://www.renesas.com/secret/r_car_download/rcar_demoboard.jsp|here]]. | ||
- | |||
- | There are 2 ZIP files can be downloaded. | ||
- | Multimedia and Graphics library which require registeration and click through license | ||
- | > r-car_series_evaluation_software_package_for_linux-*.zip | ||
- | Related Linux drivers | ||
- | > r-car_series_evaluation_software_package_of_linux_drivers-*.zip | ||
- | |||
- | These 2 files from Renesas should be store in your download directory in $HOME. (e.g. $HOME/Downloads) If not, envsetup.sh in below will stop and show some instruction, then please follow it. | ||
- | |||
- | ====== Build from the Source code ====== | ||
- | |||
- | === You can build a R-Car2 M2 (porter) image using the following steps: === | ||
- | |||
- | 1. Set up environment: You can specify any name for directory which storing all stuffs to build. | ||
- | $ source meta-agl/scripts/envsetup.sh porter [BUILD_DIR] | ||
- | |||
- | 2. (Optional) If you want to install various Qt5 examples, add below | ||
- | configuration to your local.conf. | ||
- | IMAGE_INSTALL_append = " \ | ||
- | packagegroup-agl-demo-qt-examples \ | ||
- | " | ||
- | PACKAGECONFIG_append_pn-qtbase = " examples" | ||
- | |||
- | IMPORTANT NOTE: | ||
- | To run examples with wayland-egl plugin, | ||
- | use ``LD_PRELOAD=/usr/lib/libEGL.so <command>``. | ||
- | If not, programs should not launch by error, | ||
- | 'EGL not available'. | ||
- | |||
- | 3. (Optional) If you want to use multimedia accelerations, uncomment | ||
- | manually `IMAGE_INSTALL_append_porter` in conf/local.conf. | ||
- | | ||
- | IMAGE_INSTALL_append_porter = " \ | ||
- | gstreamer1.0-plugins-bad-waylandsink \ | ||
- | " | ||
- | |||
- | IMAGE_INSTALL_append_porter = " \ | ||
- | gstreamer1.0-plugins-base-videorate \ | ||
- | ... | ||
- | " | ||
- | |||
- | IMAGE_INSTALL_append_porter = " \ | ||
- | libegl libegl-dev libgbm-dev \ | ||
- | ... | ||
- | " | ||
- | |||
- | IMAGE_INSTALL_append_porter = " \ | ||
- | packagegroup-rcar-gen2-multimedia \ | ||
- | ... | ||
- | " | ||
- | |||
- | Also it is needed to uncomment this, | ||
- | MACHINE_FEATURES_append = " multimedia" | ||
- | |||
- | This `multimedia` enables meta-renesas's multimedia configuration. The version of GStreamer1.0 which AGL distro use, will be changed to 1.2.3 (meta-renesas prefers) from 1.4.1(meta-agl default) by this switch. | ||
- | |||
- | 4. Build the full image of AGL Demo Platform and applications | ||
- | $ bitbake agl-demo-platform | ||
- | |||
- | === Deployment (SDCARD) === | ||
- | |||
- | NOTE: These instructions are based on GENIVI wiki, [here](http://wiki.projects.genivi.org/index.php/Hardware_Setup_and_Software_Installation/koelsch%26porter#Deployment_.28SDCARD.29). | ||
- | |||
- | === Instructions on the host === | ||
- | |||
- | 1. Format SD-Card and then, create single EXT3 partition on it. | ||
- | |||
- | 2. Mount the SD-Card, for example `/media/$SDCARD_LABEL`. | ||
- | |||
- | 3. Copy AGL root file system onto the SD-Card | ||
- | 1. Go to build directory | ||
- | $ cd $AGL_TOP/build/tmp/deploy/images/porter | ||
- | 2. Extract the root file system into the SD-Card | ||
- | $ sudo tar --extract --numeric-owner --preserve-permissions --preserve-order \ | ||
- | --totals --directory=/media/$SDCARD_LABEL --file=agl-demo-platform-porter.tar.bz2 | ||
- | 3. Copy kernel and DTB into the `/boot` of the SD-Card | ||
- | $ sudo cp uImage uImage-r8a7791-porter.dtb /media/$SDCARD_LABEL/boot | ||
- | |||
- | 4. After the copy finished, unmount SD-Card and insert it into the SD-Card slot of the porter board. | ||
- | |||
- | #### Instructions on the host | ||
- | |||
- | NOTE: There is details about porter board [[http://example.com|Here]] | ||
- | |||
- | NOTE: To boot weston on porter board, we need keyboard and mouse. (USB2.0 can be use for this) | ||
- | |||
- | ##### Change U-Boot parameters to boot from SD card | ||
- | |||
- | 1. Power up the board and, using your preferred terminal emulator, stop the board's autoboot by hitting any key. | ||
- | |||
- | > Debug serial settings are 38400 8N1. Any standard terminal emulator program can be used. | ||
- | |||
- | 2. Set the follow environment variables and save them | ||
- | => setenv bootargs_console console=ttySC6,${baudrate} | ||
- | => setenv bootargs_video vmalloc=384M video=HDMI-A-1:1024x768-32@60 | ||
- | => setenv bootcmd_sd 'ext4load mmc 0:1 0x40007fc0 boot/uImage;ext4load mmc 0:1 0x40f00000 boot/uImage-r8a7791-porter.dtb' | ||
- | => setenv bootcmd 'setenv bootargs ${bootargs_console} ${bootargs_video} root=/dev/mmcblk0p1 rw rootfstype=ext3;run bootcmd_sd;bootm 0x40007fc0 - 0x40f00000' | ||
- | => saveenv | ||
- | |||
- | Reboot to startup AGL. | ||
- | |||
- | ##### Boot from SD card | ||
- | |||
- | 1. After board reset, U-Boot is started and after a countdown, ... | ||
- | Linux boot message should be displayed. Please wait a moment. | ||
- | 2. Then weston is booted automatically, and weston-terminal appears. | ||
- | |||
- | 3. Have fun! :) | ||
- | |||
- | 4. (Optional) This is how to test and play multimedia contents with acceleration. | ||
- | |||
- | - Boot porter without mouse and keyboard, it avoid to boot weston automatically. For now, when running weston, V4L2 deosn't work correctly, so we have to stop weston first (GST plugin `waylandsink` also doesn't work correctly for now). | ||
- | - Execute these instructions: | ||
- | $ export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib:" | ||
- | |||
- | # Set the mixer | ||
- | $ amixer set "LINEOUT Mixer DACL" on | ||
- | $ amixer set "DVC Out" 10 | ||
- | |||
- | $ modprobe -a mmngr mmngrbuf s3ctl uvcs_cmn vspm fdpm | ||
- | |||
- | $ media-ctl -d /dev/media0 -r | ||
- | $ media-ctl -d /dev/media0 -l '"vsp1.2 rpf.0":1 -> "vsp1.2 uds.0":0 [1]' | ||
- | $ media-ctl -d /dev/media0 -l '"vsp1.2 uds.0":1 -> "vsp1.2 wpf.0":0 [1]' | ||
- | $ media-ctl -d /dev/media0 -l '"vsp1.2 wpf.0":1 -> "vsp1.2 lif":0 [1]' | ||
- | $ media-ctl -d /dev/media0 -V '"vsp1.2 rpf.0":0 [fmt:AYUV32/1920x1080]' | ||
- | $ media-ctl -d /dev/media0 -V '"vsp1.2 rpf.0":1 [fmt:AYUV32/1920x1080]' | ||
- | $ media-ctl -d /dev/media0 -V '"vsp1.2 uds.0":0 [fmt:AYUV32/1920x1080]' | ||
- | $ media-ctl -d /dev/media0 -V '"vsp1.2 uds.0":1 [fmt:AYUV32/640x480]' | ||
- | $ media-ctl -d /dev/media0 -V '"vsp1.2 wpf.0":0 [fmt:AYUV32/640x480]' | ||
- | $ media-ctl -d /dev/media0 -V '"vsp1.2 wpf.0":1 [fmt:ARGB32/640x480]' | ||
- | $ media-ctl -d /dev/media0 -V '"vsp1.2 lif":0 [fmt:ARGB32/640x480]' | ||
- | |||
- | # in caes R-Car M2 (HDMI - DU1 - vspd0) | ||
- | $ modetest -M rcar-du -s 10@8:1280x720@AR24 -d -P '8@19:640x480+100+200@XR24' & | ||
- | |||
- | After these command, Test pattern will show on display connected to porter's HDMI port. | ||
- | Then, you can play H264(MP4) movie like these, | ||
- | $ gst-launch-1.0 filesrc location=./sample.mp4 ! qtdemux name=d d. ! \ | ||
- | queue ! omxh264dec no-copy=true ! v4l2sink device=/dev/video1 \ | ||
- | io-mode=userptr d. ! queue ! faad ! alsasink device=hw:0,0 |