2014年8月20日 星期三

Build NonHlos

OS: Ubuntu 12.04 Desktop 64bit
安裝compile環境:
Step1: 去QC下載Hexagon與ARM的compiler
Step2(HEXAGON): unzip 72-NB910-xxx.zip to [temp_dir]
Step3(HEXAGON): cd [temp_dir] and chmod 777 Install_HEXAGON_Tools_linux_xxxx.bin
Step4(HEXAGON): ./Install_HEXAGON_Tools_linux_xxxx.bin 並依指示安裝
Step5(ARM_CC): tar -zxvf DS500-PA-xxxxx-xxx-xxx(for Linux).tgz to [temp_dir]
Step6(ARM_CC): cd [temp_dir]/Installer && ./setup.sh


以上假定兩者都安裝在 HOME目錄中, 即:
$(HOME)/ARM_Compiler_5
$(HOME)/Qualcomm/HEXAGON_Tools/5.0.x
注意: ARM Compile需要另安裝一個 license server (此假定在安裝在 主機: 192.168.0.1)

請依各自安裝目錄, 自行修改下方 setup.sh檔內容:
export  COMPILE_TOOLS_ROOT=$HOME
export  HEXAGON_ROOT=$COMPILE_TOOLS_ROOT/Qualcomm/HEXAGON_Tools
export  HEXAGON_RTOS_RELEASE=5.0.xxxx(自行設定安裝的版本為何?)
export  HEXAGON_Q6VERSION=v5
export  HEXAGON_IMAGE_ENTRY=0x08000000
export  ARMTOOLS=ARMCT5.01
export  ARMROOT=$COMPILE_TOOLS_ROOT/ARM_Compiler_5
export  ARM_COMPILER_PATH=$ARMROOT/bin64
export  ARMHOME=$ARMROOT
export  ARMLIB=$ARMROOT/lib
export  ARMINCLUDE=$ARMROOT/include
export  ARMBIN=$ARMROOT/bin64
export  ARMINC=$ARMINCLUDE
export  ARMLMD_LICENSE_FILE=8224@192.168.0.1
export  SCONS_MAX_NUM_JOBS=1
export  PYTHON_PATH=/usr/bin/python
export  PYTHONPATH=/usr/bin/python
export  MAKE_PATH=/usr/bin/make
export  PATH=$MAKE_PATH:$ARM_COMPILER_PATH:$HEXAGON_ROOT/$HEXAGON_RTOS_RELEASE/qc/bin:$HEXAGON_ROOT/$HEXAGON_RTOS_RELEASE/gnu/bin:$PATH:PYTHONPATH


===================  ADSP compile ===========================
source  setenv.sh
cd [target2nonHlos_dir]/adsp_proc/build
python  ./build.sh

===================  Modem compile ===========================
source  setenv.sh
cd [target2nonHlos_dir]/modem_proc/build/ms
./build.sh 8974.gen.prod BUILD_VER=1022 -k

===================  Debug compile ===========================
cp  setenv.sh  [target2nonHlos_dir]/debug_image/build/ms
source setenv.sh
cd  [target2nonHlos_dir]/debug_image/build/ms
./build.sh  TARGET_FAMILY=8974  BUILD_ID=AAAAANAZ  BUILD_VER=8   BUILD_MIN=1  sdi

===================  RPM compile ===========================
cp  setenv.sh  [target2nonHlos_dir]/rpm_proc/build
source setenv.sh
cd  [target2nonHlos_dir]/rpm_proc/build
./build.sh

===================  TZ compile ===========================
cp  setenv.sh  [target2nonHlos_dir]/trustzone_images/build/ms
source setenv.sh
cd  [target2nonHlos_dir]/trustzone_images/build/ms
./build.sh  CHIPSET=msm8974  tz  sampleapp  tzbsp_no_xpu  playready  widevine  isdbtmm  securitytest  keymaster  commonlib  mobicore  sse   securemm

===================  WCNSS compile ===========================
cp  setenv.sh  [target2nonHlos_dir]/wncss_proc/core/bsp/build/
source setenv.sh
cd  [target2nonHlos_dir]/wcnss_proc/Pronto/bsp/build
./wncss_build.sh  8974  pronto  BUILD_ID=SCAQBAZ

===================  Bootimg compile ===========================
source  setenv.sh
cd  [target2nonHlos_dir]/boot_images/build/ms
./build.sh  TARGET_FAMILY=8974  --prod


2014年8月12日 星期二

Google Chrome的參數 (command line與捷徑限定)

全文源自 : 
1. http://www.minwt.com/pc/2363.html
2. chrome's code:
 https://chromium.googlesource.com/chromium/chromium/+/142dbc0336a678cde9069b7da4e4808e0c4b2da1/chrome/common/chrome_switches.cc
 

Step1: 先拉個捷徑出來

Step2: 右鍵"內容",修改目標:  (參數不可放到 "...\chrome.exe" 裡面)

Options:
參數名稱參數說明
--activate-on-launchActivate (make foreground) myself on launch. Helpful when Chrome is launched on the command line (e.g. by Selenium). Only needed on Mac.
--allow-sandbox-debugging允許沙盒除錯
Allows debugging of sandboxed processes (see zygote_main_linux.cc).
--always-enable-dev-tools允許使用開發工具進行視窗的除錯
Enable web inspector for all windows, even if they're part of the browser.
Allows us to use our dev tools to debug browser windows itself.
--appSpecifies that the associated value should be launched in "application" mode.
--automation-channel自動化頻道
The value of this switch tells the app to listen for and broadcast
automation-related messages on IPC channel with the given ID.
--bookmark-menu開啟書籤選單
Enables the bookmark menu.
--assert-testCauses the browser process to throw an assertion on startup.
--crash-test模擬Chrome當機
Causes the browser process to crash on startup.
--browser-subprocess-path瀏覽器沙盒路徑
Path to the exe to run for the renderer and plugin subprocesses.
--chrome-frameRun Chrome in Chrome Frame mode. This means that Chrome expects to be run as a dependent process of the Chrome Frame plugin.
--countryThe Country we should use. This is normally obtained from the operating system during first run and cached in the preferences afterwards. This is a string value, the 2 letter code from ISO 3166-1.
--debug-print輸出除錯訊息
Enables support to debug printing subsystem.
--diagnosticsTriggers a pletora of diagnostic modes.
--disable-winstaDisables the alternate window station for the renderer.
--disable-audio關閉音效
Replaces the audio IPC layer for <audio> and <video> with a mock audio
device, useful when using remote desktop or machines without sound cards.
This is temporary until we fix the underlying problem.

TODO(scherkus): remove --disable-audio when we have a proper fallback
mechanism.
--disable-byte-range-supportDisable support for cached byte-ranges.
--disable-custom-jumplistDisables the custom JumpList on Windows 7.
--disable-databases
--disable-desktop-notifications
--disable-dev-toolsBrowser flag to disable the web inspector for all renderers.
--disable-extensionsDisable extensions.
--disable-hang-monitorSuppresses hang monitor dialogs in renderer processes.
--disable-ipv6關閉ipv6
Don't resolve hostnames to IPv6 addresses. This can be used when debugging
issues relating to IPv6, but shouldn't otherwise be needed. Be sure to
file bugs if something isn't working properly in the presence of IPv6.
--disable-images關閉圖片
Prevent images from loading.
--disable-javascript關閉javascript
Don't execute JavaScript (browser JS like the new tab page still runs).
--disable-java關閉java
Prevent Java from running.
--disable-logging關閉自動登入
Force logging to be disabled. Logging is enabled by default in debug
builds.
--disable-metricsCompletely disables UMA metrics system.
--disable-new-tab-first-runWhether we should prevent the new tab page from showing the first run notification.
--disable-plugins關閉外掛
Prevent plugins from running.
--disable-popup-blocking關閉封鎖彈出式視窗
Disable pop-up blocking.
--disable-prompt-on-repostNormally when the user attempts to navigate to a page that was the result of a post we prompt to make sure they want to. This switch may be used to disable that check. This switch is used during automated testing.
--disable-shared-workers
--disable-site-specific-quirks
--disable-sync關閉書籤同步
Disable syncing bookmarks to a Google Account.
--disable-web-resourcesEnables the backend service for web resources, used in the new tab page for loading tips and recommendations from a JSON feed.
--disable-web-securityDon't enforce the same-origin policy. (Used by people testing their sites.)
--disable-web-socketsDisable Web Sockets support.
--disable-xss-auditorDisable WebKit's XSSAuditor. The XSSAuditor mitigates reflective XSS.
--disk-cache-dir
ex:"chrome.exe" --disk-cache-dir="X:/"
指定暫存檔快取目錄
Use a specific disk cache location, rather than one derived from the
UserDatadir.
--disk-cache-size快取暫存容量大小
Forces the maximum disk space to be used by the disk cache, in bytes.
--dns-log-details
--dns-prefetch-disableDisables prefetching of DNS information.
--dom-automationSpecifies if the dom_automation_controller_ needs to be bound in the renderer. This binding happens on per-frame basis and hence can potentially be a performance bottleneck. One should only enable it when automating dom based tests.
--dump-histograms-on-exitDump any accumualted histograms to the log when browser terminates (requires logging to be enabled to really do anything). Used by developers and test scripts.
--enable-application-cache開啟應用程式快取
Enable ApplicationCache. Still mostly not there.
--enable-benchmarkingEnables the benchmarking extensions.
--enable-databasesEnables HTML5 DB support
--enable-desktop-notificationsEnabled desktop notifications.
--enable-experimental-extension-apisEnables extension APIs that are in development.
--enable-webglEnable experimental WebGL support.
--enable-extension-timeline-apiEnable experimental timeline API.
--enable-extension-toolstrips
--enable-fastbackEnable the fastback page cache.
--enable-file-cookiesBy default, cookies are not allowed on file://. They are needed in for testing, for example page cycler and layout tests. See bug 1157243.
--disable-local-storageEnable local storage. Still buggy.
--enable-logging開啟自動登入
Force logging to be enabled. Logging is disabled by default in release
builds.
--enable-monitor-profileOn Windows, converts the page to the currently-installed monitor profile. This does NOT enable color management for images. The source is still assumed to be sRGB.
--enable-native-web-workersEnable Native Web Worker support
--enable-new-autofill
--disable-remote-fontsEnable remote web font support. SVG font should always work whether this option is specified or not.
--enable-renderer-accessibilityTurns on the accessibility in the renderer. Off by default until http://b/issue?id=1432077 is fixed.
--enable-seccomp-sandboxEnable the seccomp sandbox (Linux only)
--enable-session-storageEnable session storage. Still buggy.
--enable-stats-tableEnables StatsTable, logging statistics to a global named shared memory table.
--enable-sync開啟同步書籤
--enable-tabtastic2Enables the new Tabstrip on Windows.
--enable-udd-profilesWhether the multiple profiles feature based on the user-data-dir flag is enabled or not.
--enable-user-scriptsEnable user script support.
--enable-watchdogSpawn threads to watch for excessive delays in specified message loops. User should set breakpoints on Alarm() to examine problematic thread. Usage: -enable-watchdog=[ui][io] Order of the listed sub-arguments does not matter.
--experimental-spellchecker-features開啟實驗性拼字檢查
Enables experimental features for Spellchecker. Right now, the first
experimental feature is auto spell correct, which corrects words which are
misppelled by typing the word with two consecutive letters swapped. The
features that will be added next are:
1 - Allow multiple spellcheckers to work simultaneously.
2 - Allow automatic detection of spell check language.
TODO(sidchat): Implement the above fetaures to work under this flag.
--explicitly-allowed-portsExplicitly allow additional ports using a comma separated list of port numbers.
--extension
--extensions-update-frequencyFrequency in seconds for Extensions auto-update.
--file-descriptor-limitThe file descriptor limit is set to the value of this switch, subject to the OS hard limits. Useful for testing that file descriptor exhaustion is handled gracefully.
--first-runDisplay the First Run experience when the browser is started, regardless of whether or not it's actually the first run.
--force-fieldtestSome field tests may rendomized in the browser, and the randomly selected outcome needs to be propogated to the renderer. For instance, this is used to modify histograms recorded in the renderer, or to get the renderer to also set of its state (initialize, or not initialize components) to match the experiment(s). The argument is a string-ized list of experiment names, and the associated value that was randomly selected. In the recent implementetaion, the persistent representation generated by field_trial.cc and later decoded, is a list of name and value pairs, separated by slashes. See field trial.cc for current details.
--hide-icons隱藏圖示
Make Windows happy by allowing it to show "Enable access to this program"
checkbox in Add/Remove Programs->Set Program Access and Defaults. This
only shows an error box because the only way to hide Chrome is by
uninstalling it.
--homepage
ex:"chrome.exe"--homepage=http://www.minwt.com
開啟首頁
The value of this switch specifies which page will be displayed
in newly-opened tabs. We need this for testing purposes so
that the UI tests don't depend on what comes up for http://google.com.
--importPerform importing from another browser. The value associated with this setting encodes the target browser and what items to import.
--in-process-plugins外掛不啟用處理序
Runs plugins inside the renderer process
--incognito無痕視窗
Causes the browser to launch directly in incognito mode.
--internal-naclRuns the Native Client inside the renderer process.
--js-flagsSpecifies the flags passed to JS engine
--load-extensionLoad an extension from the specified directory.
--load-plugin載入外掛
Load an NPAPI plugin from the specified path.
--log-filter-prefixWill filter log messages to show only the messages that are prefixed with the specified value. See also kEnableLogging and kLoggingLevel.
--log-plugin-messagesMake plugin processes log their sent and received messages to LOG(INFO).
--log-levelSets the minimum log level. Valid values are from 0 to 3: INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3.
--make-default-browserMake Chrome default browser
--media-cache-sizeForces the maximum disk space to be used by the media cache, in bytes.
--memory-profileEnable dynamic loading of the Memory Profiler DLL, which will trace all memory allocations during the run.
--message-loop-histogrammerEnable histograming of tasks served by MessageLoop. See about:histograms/Loop for results, which show frequency of messages on each thread, including APC count, object signalling count, etc.
--metrics-recording-onlyEnables the recording of metrics reports but disables reporting. In contrast to kDisableMetrics, this executes all the code that a normal client would use for reporting, except the report is dropped rather than sent to the server. This is useful for finding issues in the metrics code during UI and performance tests.
--naclCauses the process to run as a NativeClient's sel_ldr subprocess.
--new-tab-pageAllows the new tab page resource to be loaded from a local HTML file. This should be a path to the HTML file that you want to use for the new tab page. It is used for manually testing new versions of the new tab page only, performance will be poor.
--no-default-browser-check關閉啟動時預設瀏覽器檢查
Disables the default browser check. Useful for UI/browser tests where we
want to avoid having the default browser info-bar displayed.
--no-eventsDon't record/playback events when using record & playback.
--no-first-runBypass the First Run experience when the browser is started, regardless of whether or not it's actually the first run. Overrides kFirstRun in case you're for some reason tempted to pass them both.
--no-js-randomnessSupport a separate switch that enables the v8 playback extension. The extension causes javascript calls to Date.now() and Math.random() to return consistent values, such that subsequent loads of the same page will result in consistent js-generated data and XHR requests. Pages may still be able to generate inconsistent data from plugins.
--no-proxy-server不使用代理伺服器
Don't use a proxy server, always make direct connections. Overrides any
other proxy server flags that are passed.
--no-sandbox取消沙盒模式
Runs the renderer outside the sandbox.
--omnibox-popup-countNumber of entries to show in the omnibox popup.
--pack-extensionPackage an extension to a .crx installable file from a given directory.
--pack-extension-keyOptional PEM private key is to use in signing packaged .crx.
--parent-profileSpecifies the path to the user data folder for the parent profile.
--pinned-tab-countNumber of tabs to pin on startup. This is not use if session restore is enabled.
--playback-modeRead previously recorded data from the cache. Only cached data is read. See kRecordMode.
--plugin-data-dir外掛資料夾名稱
Specifies the plugin data directory, which is where plugins (Gears
specifically) will store its state.
--plugin-launcherSpecifies a command that should be used to launch the plugin process. Useful for running the plugin process through purify or quantify. Ex: --plugin-launcher="path\to\purify /Run=yes"
--plugin-path外掛路徑
Tells the plugin process the path of the plugin to load
--pluginCauses the process to run as a plugin subprocess.
--plugin-startup-dialogCauses the plugin process to display a dialog on launch.
--printPrints the pages on the screen.
--privacy-blacklistEnables the Privacy Blacklist with the specified data file. The file contains data from all imported blacklists.
--process-per-site每個站台使用獨立處理序
Runs a single process for each site (i.e., group of pages from the same
registered domain) the user visits. We default to using a renderer process
for each site instance (i.e., group of pages from the same registered
domain with script connections to each other).
--process-per-tab每個標籤使用獨立處理序
Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own
renderer process. We default to using a renderer process for each
site instance (i.e., group of pages from the same registered domain with
script connections to each other).
--profile-importCauses the process to run as a profile import subprocess.
--proxy-auto-detectForce proxy auto-detection.
--proxy-bypass-listSpecify a list of hosts for whom we bypass proxy settings and use direct connections. Ignored if --proxy-auto-detect or --no-proxy-server are also specified. TODO(robertshield): Specify host format.
--proxy-pac-urlUse the pac script at the given URL
--proxy-serverUse a specified proxy server, overrides system settings. This switch only affects HTTP and HTTPS requests.
--purge-memory-buttonAdds a "Purge memory" button to the Task Manager, which tries to dump as much memory as possible. This is mostly useful for testing how well the MemoryPurger functionality (which is normally triggered on Suspend) works. NOTE: This is only implemented for Views.
--record-modeChrome supports a playback and record mode. Record mode saves *everything* to the cache. Playback mode reads data exclusively from the cache. This allows us to record a session into the cache and then replay it at will. See also kPlaybackMode.
--remote-shell-portEnable remote debug / automation shell on the specified port.
--renderer-assert-testCauses the renderer process to throw an assertion on launch.
--renderer-cmd-prefixOn POSIX only: the contents of this flag are prepended to the renderer command line. Useful values might be "valgrind" or "xterm -e gdb --args".
--renderer-crash-testCauses the renderer process to crash on launch.
--rendererCauses the process to run as renderer instead of as browser.
--renderer-startup-dialogCauses the renderer process to display a dialog on launch.
--restore-last-sessionIndicates the last session should be restored on startup. This overrides the preferences value and is primarily intended for testing. The value of this switch is the number of tabs to wait until loaded before 'load completed' is sent to the ui_test.
--safe-pluginsRuns the plugin processes inside the sandbox.
--enable-sdchEnable support for SDCH filtering (dictionary based expansion of content). Optional argument is *the* only domain name that will have SDCH suppport. Default is "-enable-sdch" to advertise SDCH on all domains. Sample usage with argument: "-enable-sdch=.google.com" SDCH is currently only supported server-side for searches on google.com.
--enable-sync-extensions開啟外掛同步
--search-in-omnibox-hintEnables the showing of an info-bar instructing user they can search directly from the omnibox.
--show-icons顯示小圖示
See kHideIcons.
--show-extensions-on-top外掛顯示在上方
Show extensions on top with toolbar.
--silent-dump-on-dcheckChange the DCHECKS to dump memory and continue instead of displaying error dialog. This is valid only in Release mode when --enable-dcheck is specified.
--simple-data-sourceReplaces the buffered data source for <audio> and <video> with a simplified resource loader that downloads the entire resource into memory. TODO(scherkus): remove --simple-data-source when our media resource loading is cleaned up and playback testing completed.
--single-process單處理序運行(瀏覽有些網站會導致chrome掛掉)
Runs the renderer and plugins in the same process as the browser
--start-maximized開啟時最大化
Start the browser maximized, regardless of any previous settings.
--sync-url同步網址
Override the default server used for profile sync.
--syncer-thread-timed-stopUse the SyncerThread implementation that matches up with the old pthread impl semantics, but using Chrome synchronization primitives. The only
difference between this and the default is that we now have no timeout on
Stop(). Should only use if you experience problems with the default.
--tab-count-to-load-on-session-restoreUsed to set the value of SessionRestore::num_tabs_to_load_. See session_restore.h for details.
--test-namePass the name of the current running automated test to Chrome.
--test-sandboxRuns the security test for the sandbox.
--testing-channelThe value of this switch tells the app to listen for and broadcast testing-related messages on IPC channel with the given ID.
--thumbnail-storeEnables using ThumbnailStore instead of ThumbnailDatabase for setting and getting thumbnails for the new tab page.
--trusted-pluginsExcludes these plugins from the plugin sandbox. This is a comma-separated list of plugin library names.
--try-chrome-againExperimental. Shows a dialog asking the user to try chrome. This flag is to be used only by the upgrade process.
--uninstallRuns un-installation steps that were done by chrome first-run.
--use-flipUse Flip for the transport protocol instead of HTTP. This is a temporary testing flag.
--testing-fixed-serverForce all requests to go to this server. This commandline is provided for testing purposes only, and will likely be removed soon. It can also hurt startup performance as it does a synchronous name resolution on the UI thread. The port is not optional. The host resolution using this scheme is done exactly once at startup. From that point on, it is completely a static configuration. TODO(mbelshe): Remove this flag when testing is complete. --testing-fixed-server=myserver:1000
--use-lf-heapUse the low fragmentation heap for the CRT.
--user-agent
ex:--user-agent="Opera/9.63 (Windows NT 5.2; U; zh-tw) Presto/2.1.1"

ex:--user-agent="iPhone 的 User Agent"
偽裝瀏覽器名稱
A string used to override the default user agent with a custom one.
--user-data-dir
ex:--user-data-dir="c:\Temp"
設定資料目錄(書籤和歷史瀏覽記錄目錄)
Specifies the user data directory, which is where the browser will look
for all of its state.
--user-scripts-dirdirectory to locate user scripts in as an over-ride of the default
--utility-cmd-prefixOn POSIX only: the contents of this flag are prepended to the utility process command line. Useful values might be "valgrind" or "xterm -e gdb --args".
--utilityCauses the process to run as a utility subprocess.
--utility-allowed-dir
--wait-for-debugger-childrenWill add kWaitForDebugger to every child processes. If a value is passed, it will be used as a filter to determine if the child process should have the kWaitForDebugger flag passed on or not.
--web-worker-process-per-coreCauses the worker process allocation to use as many processes as cores.
--web-worker-share-processesCauses workers to run together in one process, depending on their domains. Note this is duplicated in webworkerclient_impl.cc
--winhttp-proxy-resolverUse WinHTTP to fetch and evaluate PAC scripts. Otherwise the default is to use Chromium's network stack to fetch, and V8 to evaluate.
--wininet-ftpOn Windows only: use the old WinInet-based ftp implemetation.
--workerCauses the process to run as a worker subprocess.
--worker-startup-dialog
--zygote-cmd-prefixThe prefix used when starting the zygote process. (i.e. 'gdb --args')
--zygoteCauses the process to run as a renderer zygote.
--cookie-pipe#if defined(OS_CHROMEOS)
The name of the pipe over which the Chrome OS login manager will send
single-sign-on cookies.
--enable-gview#if defined(OS_CHROMEOS)
Enable the redirection of viewable document requests to the Google
Document Viewer.
--auto-ssl-client-auth#if defined(OS_LINUX)
A temporary switch before we implement the client certificate selection UI.
When an SSL server requests client authentication, select a client
certificate automatically.
WARNING: This switch has privacy issues because it reveals the user's
identity to any server that requests a client certificate without the
user's consent.
--enable-crash-reporter#if defined(OS_POSIX)
Bypass the error dialog when the profile lock couldn't be attained.
A flag, generated internally by Chrome for renderer and other helper process
command lines on Linux and Mac. It tells the helper process to enable crash
dumping and reporting, because helpers cannot access the profile or other
files needed to make this decision.
If passed to the browser, it'll be passed on to all the helper processes
as well, thereby force-enabling the crash reporter.
--no-process-singleton-dialog#if defined(OS_POSIX)
This switch is used during automated testing.
--enable-sendbox-logging#if defined(OS_MACOSX)
Cause the OS X sandbox write to syslog every time an access to a resource
is denied by the sandbox.
--gears-plugin-pathDebug only switch to specify which gears plugin dll to load.
--enable-new-autofillEnable AutoFill++.
--kiosk全螢幕不可調整