summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Dickow <jjdickow@gmail.com>2014-04-23 08:44:03 -0400
committerJustin Dickow <jjdickow@gmail.com>2014-04-23 08:44:03 -0400
commit882d80d851f471a4fa51b8468167a39d5318239a (patch)
tree77ee249fa8800bf81a6f6e59d4726efc79d06dee
parent5cd317e2e70ecbf43d593de7b70ca6b2adbc7f11 (diff)
downloadsmartdevicelink-882d80d851f471a4fa51b8468167a39d5318239a.tar.gz
Removed build_and_run_steps.txt added README.md
note: the documentation for building is now available at http://projects.genivi.org/smartdevicelink/documentation which is noted in the readme Signed-off-by: Justin Dickow <jjdickow@gmail.com>
-rw-r--r--SDL_Core/README.md1
-rw-r--r--SDL_Core/build_and_run_steps.txt150
2 files changed, 1 insertions, 150 deletions
diff --git a/SDL_Core/README.md b/SDL_Core/README.md
new file mode 100644
index 000000000..7ee95a5c7
--- /dev/null
+++ b/SDL_Core/README.md
@@ -0,0 +1 @@
+Instructions for building this source code can be found at the [SmartDeviceLink documentation](http://projects.genivi.org/smartdevicelink/documentation) site.
diff --git a/SDL_Core/build_and_run_steps.txt b/SDL_Core/build_and_run_steps.txt
deleted file mode 100644
index 6e25d24dc..000000000
--- a/SDL_Core/build_and_run_steps.txt
+++ /dev/null
@@ -1,150 +0,0 @@
-This instruction contains the information on how to build and run SDL depending on target OS and HMI type
-
-1. General
- 1.1. To build SDL for QNX, cross-compiling only shall be used.
- 1.2. To run SDL under Linux with Web HMI please follow steps: 3.1; 5.3; 5.5; 6.
- 1.3. To run SDL under Linux with QML HMI please follow steps: 3.1; 5.4; 5.5; 6.
- 1.4. To run SDL under virtualized QNX with Web HMI under Linux Host please follow steps: 3.1; 3.2; 3.3; 4.1; 5.1; 5.5; 7; 8.
- 1.5. To run SDL under virtualized QNX with QML HMI under Linux Host please follow steps: 3.1; 3.2; 3.3; 4.2; 5.2; 5.5; 5.4; 5.5; 9.
- 1.6. To run SDL under virtualized QNX with QML HMI under QNX Host please follow steps: 3.1; 3.2; 3.3; 5.2; 5.5; 7.
- 1.7. To turn media features (like audio/video streaming) on/off please set EXTENDED_MEDIA_MODE to ON/OFF (e.g. "cmake -DEXTENDED_MEDIA_MODE=OFF").
-
-==========================================================================================================
-2. Known problems.
- 2.1. Web HMI does not display icons in case it is running on distant computer (the reason: SDL sends absolute paths on local computer).
- 2.2. Bluetooth does not work under QNX (the reason: BT stack absence for QNX).
-
-==========================================================================================================
-3. Preparation steps.
- Note: see '1. General' to determine which of the below steps must be used.
-
- 3.1. To prepare the Linux Host:
- Note: in case Ubuntu/Xubuntu 12.04 is already installed, git repository is cloned and is switched to <Main_Develop> branch, proceed from the step 3.1.6.
- 3.1.1. Install Ubuntu/Xubuntu 12.04 or higher.
- 3.1.2. Configure source repositories (check "Canonical Partners" repositories in Update Manager->Settings->SW source).
- 3.1.3. Perform "sudo apt-get install git" command in terminal.
- 3.1.4. Clone git repository with "git clone git@adc.luxoft.com:applink".
- Note: the permissions to download the repository are required. Apply PSavyelyev@luxoft.com on this matter.
- 3.1.5. Switch to <Main_Develop> branch: "git checkout <Main_Develop>".
- 3.1.6. Run "sudo ./setup_env.sh -a" to install all mandatory and optional packages.
- Note: read the built-in setup environment help ("./setup_env.sh --help") which provides the description of predefined options:
- a) for Web HMI, b) for QML HMI, c) for QNX support.
-
- 3.2. To set up QNX cross platform build for Linux:
- 3.2.1. Download and install QNX SDP 6.5.0 SP1 cross platform tools for Linux (http://www.qnx.com/download/download/21179/qnxsdp-6.5.0-201007091524-linux.bin).
- Note: it is necessary to obtain license key: either trial or commercial one (Register on http://www.qnx.com/ website, enter 'QNX product evaluation' and apply for a license key).
- Note: during tools installation mark "GNU Public Licence Utility" check-box.
- 3.2.2. SSH configuration on Linux host:
- 3.2.2.1. Install Open-SSH server (For Xubuntu run "sudo apt-get install ssh", for Ubuntu run "sudo apt-get install openssh-server").
- 3.2.2.1. Restart computer if necessary.
- 3.2.3 Unpack crossbuild archive of log4cxx on Linux host “unzip ./log4cxx.qnx.cross.build.files.zip -d /”
- Note: log4cxx crossbuild archive "log4cxx.qnx.cross.build.files.zip" is located in git folder git@adc.luxoft.com:applink/src/thirdPartyLibs/
-
- 3.3. To run specially prepared QNX in virtual machine:
- 3.3.1. Download and install VMware Player from https://my.vmware.com/web/vmware/downloads
- 3.3.2. Download the archived QNX image for VMware from ftp://ford-applink.luxoft.com/Distrs/QNX/QNX_SDP_6.5.0.tar.gz
- 3.3.3. Extract image from archive and open it in VMware
- Note: QNX image has root with empty pass and user with pass 'user'. SSH is configured
- 3.3.4. Log as root.
- Note: ssh server shall be started automatically. (Common command is "/usr/sbin/sshd").
- Note: verify that you QNX host ip adress is 192.168.243.131 (if not change see step 4.2.1.)
-
- 3.4. To make QNX virtual machine from scratch:
- 3.4.2. SSH configuration on QNX server:
- 3.4.1. Download VMware Player https://my.vmware.com/web/vmware/downloads
- 3.4.2. Download the QNX Software Development Platform 6.5.0 bootable iso image from http://www.qnx.com/download/download/21182/qnxsdp-6.5.0-x86-201007091524-nto.iso
- 3.4.3. Create new VMware virtual machine and boot from QNX Software Development Platform bootable iso image
- Note: it is necessary to obtain license key: either trial or commercial one (Register on http://www.qnx.com/ website, enter 'QNX product evaluation' and apply for a license key).
- 3.4.2. SSH configuration on QNX server:
- 3.4.2.1. Run “passwd user” and set the new user id (just press enter), group (just press enter) and non-empty password.
- 3.4.2.2. Run "ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key".
- 3.4.2.3. Run "ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key".
- 3.4.2.4. Run ssh server if it is not running "/usr/sbin/sshd".
- 3.4.3. Download 'D-Bus' version 1.7.8 and 'Expat' version 2.1.0
- Note: for more details see https://adc.luxoft.com/confluence/display/APPLINK/How+to+install+D-Bus
- 3.4.4. Log4cxx installing for QNX
- 3.4.4.1. Download log4cxx development archive "log4cxx.qnx.cross.build.files.zip" and runtime archive "log4cxx.qnx.runtime.files.zip"
- Note: For development purpose use git folder git@adc.luxoft.com:applink/src/thirdPartyLibs/
- For releases purpose use delivery svn folder https://adc.luxoft.com/svn/APPLINK/doc/technical/Delivery/{Release_name}/binaries/qnx650
- 3.4.4.2. Unpack crossbuild archive of log4cxx on Linux host “unzip ./log4cxx.qnx.cross.build.files.zip -d /”
- 3.4.4.3. Download log4cxx runtime archive to QNX “scp <linuxhost_user>@<linuxhost_ip>:/<Delivery_Package_Path>/ log4cxx.qnx.runtime.files.zip ./”
- 3.4.4.4. Unpack on QNX server log4cxx binary files of log4cxx QNX port “unzip ./log4cxx.qnx.runtime.files.zip -d /” (this file is also located in git)
- 3.4.5. Set up dbus-daemon and sshd to run at time login
- 3.4.5.1 Create file "/etc/profile.d/sshd.sh" with command "/usr/sbin/sshd"
- 3.4.5.1 Create file "/etc/profile.d/dbus.sh" with command
- "if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
- DBUS_SESSION_BUS_ADDRESS=`dbus-daemon --fork --session --print-address`
- export DBUS_SESSION_BUS_ADDRESS
- fi"
- 3.4.6. Set up USB access mode
- 3.4.6.1 If file "/etc/rc.d/rc.local" is either absent or empty then copy file "<Project_Root_Src>/qnx/rc.local" to folder "/etc/rc.d"
- 3.4.6.2 If file "/etc/rc.d/rc.local" exists and is nonempty then append the last line of file "<Project_Root_Src>/qnx/rc.local" to its end
-
- 3.5. To set up Android Simulator for using instead of real device:
- 3.5.1. Install and configure the Android Simulator in keeping with the following instructions https://adc.luxoft.com/confluence/display/APPLINK/How+to+install+and+setup+android+emulator+on+Ubuntu
-
-==========================================================================================================
-4. Configuration steps.
- Note: see '1. General' to determine which of the below steps must be used.
-
- 4.1. Use this step if Web HMI and SDL are running on separate computers (virtualized QNX is also considered to be running on a separate computer):
- 4.1.1. LinHost: update SDL config file “<Project_Root_Src>/src/appMain/smartDeviceLink.ini”: find “ServerAddress = ” there and replace the value with <SDL server address>.
- 4.1.2. LinHost: update Web HMI network parameters: in file “<Project_Root_Src>/src/components/HMI/ffw/RPCClient.js” find “url: ” and replace the value ("ws://localhost:8087" or FLAGS.WEBSOCKET_URL) with <SDL server address>. (e.g. "url: "ws://192.168.177.128:8087"")
- Note: <SDL server address> is the IP of the computer where SDL is running.
-
- 4.2. Use this step if QML HMI and SDL are running on separate computers (virtualized QNX is also considered to be running on a separate computer):
- 4.2.1. QNXServer: add the following lines in the file "/usr/etc/dbus-1/session.conf":
- "<listen>tcp:host=IP-OF-YOUR-QNX-PC,port=PORT-FOR-LISTEN</listen><allow_anonymous/>"
- (e.g. "<listen>tcp:host=192.168.243.131,port=8087</listen><allow_anonymous/>).
- 4.2.2. LinHost: set up "export DBUS_SESSION_BUS_ADDRESS=tcp:host=<HOST>,port=<PORT>" on HMI side (e.g. "export DBUS_SESSION_BUS_ADDRESS=tcp:host=192.168.243.131,port=8087").
-
-==========================================================================================================
-5. Build SDL from source on Linux Host.
- Note: in above cases the <Project_Root_Src> is the path to 'Project_Root_Src' git folder (e.g. "/home/user_name/Work/Project_Root_src").
- Note: for release build add "-DCMAKE_BUILD_TYPE=Release" to cmake arguments. For QNX+QtHMI build flag "-DCMAKE_BUILD_TYPE=Release" is plainly required.
- 5.1. For QNX with Web HMI run command
- "mkdir <Project_QNX_Build_WebHMI> && cd <Project_QNX_Build_WebHMI>
- "cmake <Project_Root_Src> -DCMAKE_TOOLCHAIN_FILE=<Project_Root_Src>/qnx_6.5.0_linux_x86.cmake".
- 5.2. For QNX with QML HMI run command
- "mkdir <Project_QNX_Build_Qt> && cd <Project_QNX_Build_Qt>
- “cmake <Project_Root_Src> -DCMAKE_TOOLCHAIN_FILE=<Project_Root_Src>/qnx_6.5.0_linux_x86.cmake -DHMI2=ON -DCMAKE_BUILD_TYPE=Release”.
- 5.3. For Linux with Web HMI run command
- "mkdir <Project_Linux_Build_WebHMI> && cd <Project_Linux_Build_WebHMI>
- "cmake <Project_Root_Src> -DEXTENDED_MEDIA_MODE=ON".
- 5.4. For Linux with QML HMI run command
- "mkdir <Project_Linux_Build_Qt> && cd <Project_Linux_Build_Qt>
- "cmake <Project_Root_Src> -DEXTENDED_MEDIA_MODE=ON -DHMI2=ON".
- 5.5. Run build process “make install” in previous directory.
-
-==========================================================================================================
-6. Common run on Linux host (SDL + HMI).
- 6.1. Go to the binary folder "cd <Project_Linux_Build_WebHMI>/bin" or <Project_Linux_Build_Qt>/bin".
- 6.2. Run SDL "./smartDeviceLinkCore".
- Note: HMI shall be started automatically. Type of started HMI depends on build options described in 5.2.
-
-==========================================================================================================
-7. Common run on QNX host with Qt HMI.
- 7.1. Log as root and make sure you are not running Photon
- 7.2. QnxServ: download binary folder “scp -r <linux_host_user>@<linux_host_ip>:/<Project_QNX_Build_Qt>/bin/* ./” .
- 7.3. QnxServ: start SDL “su -c ./smartDeviceLinkCore”.
- Note: For QML usage start SDL as root “su -c ./smartDeviceLinkCore”.
-
-==========================================================================================================
-8. Run Web version on QNX host.
- 8.1. Log as root and make sure you are not running Photon
- 8.2. QnxServ: download binary folder “scp -r <linux_host_user>@<linux_host_ip>:/<Project_QNX_Build_WebHMI>/bin/* ./” .
- 8.3. QnxServ: start SDL “su -c ./smartDeviceLinkCore”.
- Note: For USB transport usage start SDL as root “su -c ./smartDeviceLinkCore”.
- 8.4. LinHost: start Chrome “chromium-browser '<Project_Root_Src>/src/components/HMI/index.html'”.
- Note: in case there is no connection with Web HMI probably it is necessary to add QNX Server IP to "no_proxy" config.
-
-==========================================================================================================
-9. Run SDL on QNX Server and QML HMI on Linux host.
- 9.1. LinHost: make "<Project_QNX_Build_Qt>/bin/start_hmi.sh" file empty
- 9.2. Log as root and make sure you are not running Photon
- 9.3. QnxServ: download binary folder “scp -r <linux_host_user>@<linux_host_ip>:/<Project_QNX_Build_Qt>/bin/* ./” .
- 9.4. QnxServ: start SDL “su -c ./smartDeviceLinkCore”.
- Note: For USB transport usage start SDL as root “su -c ./smartDeviceLinkCore”.
- Note: If SDL unexpectedly terminates (with any error) check that real IP of QNX Server is same to IP in "/usr/etc/dbus-1/session.conf"
- If not perform steps 4.2 and restart QNX server
- 9.5. LinHost: goto "<Project_Linux_Build_Qt>/bin" folder and execute "<QT_HOME_DIR>/qmlscene -I ./hmi/plugins ./hmi/MainWindow.qml" command.