@@ -45,6 +45,7 @@ function show_help() {
45
45
echo
46
46
echo " Options:"
47
47
echo " -h, --help Display this information"
48
+ echo " --cpu Comma separated list of CPUs. Like ` arm` or ` arm64` "
48
49
echo " --tizen-sdk-path Set directory for Tizen SDK installation. Default is $TIZEN_SDK_ROOT "
49
50
echo " --tizen-sdk-data-path Set directory for Tizen SDK runtime data. Default is $TIZEN_SDK_DATA_PATH "
50
51
echo " --install-dependencies This option installs all required dependencies"
@@ -141,8 +142,8 @@ function cleanup() {
141
142
}
142
143
143
144
# ------------------------------------------------------------------------------
144
- # Function for installing Tizen SDK.
145
- function install_tizen_sdk () {
145
+ # Function for installing Tizen SDK (arm) .
146
+ function install_tizen_sdk_arm () {
146
147
147
148
mkdir -p " $TIZEN_SDK_ROOT " || return
148
149
@@ -209,17 +210,9 @@ function install_tizen_sdk() {
209
210
' app-core-common-*.rpm'
210
211
' aul-0*.armv7l.rpm'
211
212
' aul-devel-*.armv7l.rpm'
212
- ' bluetooth-frwk-0*.armv7l.rpm'
213
213
' bundle-0*.armv7l.rpm'
214
214
' bundle-devel-*.armv7l.rpm'
215
215
' buxton2-*.armv7l.rpm'
216
- ' capi-network-bluetooth-0*.armv7l.rpm'
217
- ' capi-network-bluetooth-devel-*.armv7l.rpm'
218
- ' capi-network-nsd-*.armv7l.rpm'
219
- ' capi-network-thread-*.armv7l.rpm'
220
- ' capi-system-peripheral-io-*.armv7l.rpm'
221
- ' capi-system-peripheral-io-devel-*.armv7l.rpm'
222
- ' capi-system-resource-1*.armv7l.rpm'
223
216
' cynara-devel-*.armv7l.rpm'
224
217
' dbus-1*.armv7l.rpm'
225
218
' dbus-devel-*.armv7l.rpm'
@@ -232,23 +225,26 @@ function install_tizen_sdk() {
232
225
' libcynara-commons-*.armv7l.rpm'
233
226
' libdns_sd-*.armv7l.rpm'
234
227
' libjson-glib-*.armv7l.rpm'
235
- ' libnsd-dns-sd-*.armv7l.rpm'
236
228
' libsessiond-0*.armv7l.rpm'
237
229
' libsystemd-*.armv7l.rpm'
238
230
' libtzplatform-config-*.armv7l.rpm'
239
231
' parcel-0*.armv7l.rpm'
240
232
' parcel-devel-*.armv7l.rpm'
241
233
' pkgmgr-info-*.armv7l.rpm'
242
- ' sensord-*.armv7l.rpm'
243
234
' sensord-devel-*.armv7l.rpm'
244
235
' sensord-dummy-*.armv7l.rpm'
245
236
' vconf-compat-*.armv7l.rpm'
246
- ' vconf-internal-keys-devel-*.armv7l.rpm' )
247
- download " $URL " " ${PKG_ARR[@]} "
248
-
249
- # Unified packages (snapshots)
250
- URL=" http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/repos/standard/packages/armv7l/"
251
- PKG_ARR=()
237
+ ' vconf-internal-keys-devel-*.armv7l.rpm'
238
+ ' bluetooth-frwk-0*.armv7l.rpm'
239
+ ' capi-network-bluetooth-0*.armv7l.rpm'
240
+ ' capi-network-bluetooth-devel-*.armv7l.rpm'
241
+ ' capi-network-nsd-*.armv7l.rpm'
242
+ ' capi-network-thread-*.armv7l.rpm'
243
+ ' capi-system-peripheral-io-*.armv7l.rpm'
244
+ ' capi-system-peripheral-io-devel-*.armv7l.rpm'
245
+ ' capi-system-resource-1*.armv7l.rpm'
246
+ ' libnsd-dns-sd-*.armv7l.rpm'
247
+ ' sensord-*.armv7l.rpm' )
252
248
download " $URL " " ${PKG_ARR[@]} "
253
249
254
250
# Tizen Developer Platform Certificate
@@ -304,12 +300,185 @@ function install_tizen_sdk() {
304
300
echo -n " $COLOR_NONE "
305
301
}
306
302
303
+ # Function for installing Tizen SDK (arm64).
304
+ function install_tizen_sdk_arm64() {
305
+
306
+ mkdir -p " $TIZEN_SDK_ROOT " || return
307
+
308
+ info " Tizen SDK installation directory: $TIZEN_SDK_ROOT "
309
+
310
+ TIZEN_SDK_SYSROOT=" $TIZEN_SDK_ROOT /platforms/tizen-$TIZEN_VERSION /tizen/rootstraps/tizen-$TIZEN_VERSION -device64.core"
311
+
312
+ cd " $TMP_DIR " || return
313
+
314
+ # Get Tizen Studio CLI
315
+ info " Downloading Tizen Studio CLI..."
316
+
317
+ # Download
318
+ URL=" http://download.tizen.org/sdk/tizenstudio/official/binary/"
319
+ PKG_ARR=(
320
+ ' certificate-encryptor_1.0.10_ubuntu-64.zip'
321
+ ' certificate-generator_0.1.4_ubuntu-64.zip'
322
+ ' new-common-cli_2.5.64_ubuntu-64.zip'
323
+ ' new-native-cli_2.5.64_ubuntu-64.zip'
324
+ ' sdb_4.2.23_ubuntu-64.zip' )
325
+ download " $URL " " ${PKG_ARR[@]} "
326
+
327
+ # Get toolchain
328
+ info " Downloading Tizen toolchain..."
329
+
330
+ # Download
331
+ URL=" http://download.tizen.org/sdk/tizenstudio/official/binary/"
332
+ PKG_ARR=(
333
+ " cross-aarch64-gcc-9.2_0.1.9_ubuntu-64.zip"
334
+ " sbi-toolchain-gcc-9.2.cpp.app_2.2.16_ubuntu-64.zip" )
335
+ download " $URL " " ${PKG_ARR[@]} "
336
+
337
+ # Get Tizen sysroot
338
+ info " Downloading Tizen sysroot..."
339
+
340
+ # Base sysroot
341
+ # Different versions of Tizen have different rootstrap versions
342
+ URL=" http://download.tizen.org/sdk/tizenstudio/official/binary/"
343
+ PKG_ARR=(
344
+ " tizen-$TIZEN_VERSION -core-add-ons_*_ubuntu-64.zip"
345
+ " tizen-$TIZEN_VERSION -rs-device64.core_*_ubuntu-64.zip" )
346
+ download " $URL " " ${PKG_ARR[@]} "
347
+
348
+ # Base packages
349
+ URL=" http://download.tizen.org/releases/milestone/TIZEN/Tizen-$TIZEN_VERSION /Tizen-$TIZEN_VERSION -Base/latest/repos/standard/packages/aarch64/"
350
+ PKG_ARR=(
351
+ ' iniparser-*.aarch64.rpm'
352
+ ' libblkid-devel-*.aarch64.rpm'
353
+ ' libcap-*.aarch64.rpm'
354
+ ' libffi-devel-*.aarch64.rpm'
355
+ ' liblzma-*.aarch64.rpm'
356
+ ' libmount-devel-*.aarch64.rpm'
357
+ ' libncurses6-*.aarch64.rpm'
358
+ ' libreadline-*.aarch64.rpm'
359
+ ' libuuid-*.aarch64.rpm'
360
+ ' pcre-devel-*.aarch64.rpm'
361
+ ' readline-devel-*.aarch64.rpm'
362
+ ' xdgmime-*.aarch64.rpm' )
363
+ download " $URL " " ${PKG_ARR[@]} "
364
+
365
+ # Unified packages
366
+ URL=" http://download.tizen.org/releases/milestone/TIZEN/Tizen-$TIZEN_VERSION /Tizen-$TIZEN_VERSION -Unified/latest/repos/standard/packages/aarch64/"
367
+ PKG_ARR=(
368
+ ' app-core-common-*.rpm'
369
+ ' aul-0*.aarch64.rpm'
370
+ ' aul-devel-*.aarch64.rpm'
371
+ ' bundle-0*.aarch64.rpm'
372
+ ' bundle-devel-*.aarch64.rpm'
373
+ ' buxton2-*.aarch64.rpm'
374
+ ' cynara-devel-*.aarch64.rpm'
375
+ ' dbus-1*.aarch64.rpm'
376
+ ' dbus-devel-*.aarch64.rpm'
377
+ ' dbus-libs-1*.aarch64.rpm'
378
+ ' glib2-devel-2*.aarch64.rpm'
379
+ ' hal-api-common-*.aarch64.rpm'
380
+ ' hal-api-sensor-*.aarch64.rpm'
381
+ ' json-glib-devel-*.aarch64.rpm'
382
+ ' libcynara-client-*.aarch64.rpm'
383
+ ' libcynara-commons-*.aarch64.rpm'
384
+ ' libdns_sd-*.aarch64.rpm'
385
+ ' libjson-glib-*.aarch64.rpm'
386
+ ' libsessiond-0*.aarch64.rpm'
387
+ ' libsystemd-*.aarch64.rpm'
388
+ ' libtzplatform-config-*.aarch64.rpm'
389
+ ' parcel-0*.aarch64.rpm'
390
+ ' parcel-devel-*.aarch64.rpm'
391
+ ' pkgmgr-info-*.aarch64.rpm'
392
+ ' sensord-devel-*.aarch64.rpm'
393
+ ' sensord-dummy-*.aarch64.rpm'
394
+ ' vconf-compat-*.aarch64.rpm'
395
+ ' vconf-internal-keys-devel-*.aarch64.rpm'
396
+ ' bluetooth-frwk-0*.aarch64.rpm'
397
+ ' capi-network-bluetooth-0*.aarch64.rpm'
398
+ ' capi-network-bluetooth-devel-*.aarch64.rpm'
399
+ ' capi-network-nsd-*.aarch64.rpm'
400
+ ' capi-network-thread-*.aarch64.rpm'
401
+ ' capi-system-peripheral-io-*.aarch64.rpm'
402
+ ' capi-system-peripheral-io-devel-*.aarch64.rpm'
403
+ ' capi-system-resource-1*.aarch64.rpm'
404
+ ' libnsd-dns-sd-*.aarch64.rpm'
405
+ ' sensord-*.aarch64.rpm' )
406
+ download " $URL " " ${PKG_ARR[@]} "
407
+
408
+ # Tizen Developer Platform Certificate
409
+ URL=" http://download.tizen.org/sdk/extensions/Tizen_IoT_Headless/binary/"
410
+ # Tizen site does not have this package available in version 8.0.
411
+ # Certificates are the same for 7.0 and 8.0, though.
412
+ PKG_ARR=(
413
+ " 7.0-iot-things-add-ons_*_ubuntu-64.zip" )
414
+ download " $URL " " ${PKG_ARR[@]} "
415
+
416
+ # Install all
417
+ info " Installing Tizen SDK..."
418
+
419
+ unzip -o ' *.zip'
420
+ cp -rf data/* " $TIZEN_SDK_ROOT "
421
+
422
+ unrpm * .rpm
423
+ cp -rf lib64 usr " $TIZEN_SDK_SYSROOT "
424
+
425
+ # Install secret tool or not
426
+ if (" $SECRET_TOOL " ); then
427
+ info " Overriding secret tool..."
428
+ install " $SCRIPT_DIR /secret-tool.py" " $TIZEN_SDK_ROOT /tools/certificate-encryptor/secret-tool"
429
+ fi
430
+
431
+ # Configure Tizen CLI
432
+ echo " TIZEN_SDK_INSTALLED_PATH=$TIZEN_SDK_ROOT " > " $TIZEN_SDK_ROOT /sdk.info"
433
+ echo " TIZEN_SDK_DATA_PATH=$TIZEN_SDK_DATA_PATH " >> " $TIZEN_SDK_ROOT /sdk.info"
434
+ ln -sf " $TIZEN_SDK_DATA_PATH /.tizen-cli-config" " $TIZEN_SDK_ROOT /tools/.tizen-cli-config"
435
+
436
+ # Use Tizen developer platform certificate as defaultls
437
+ cp " $TIZEN_SDK_ROOT " /tools/certificate-generator/certificates/distributor/sdk-platform/* \
438
+ " $TIZEN_SDK_ROOT " /tools/certificate-generator/certificates/distributor/
439
+
440
+ # Make symbolic links relative
441
+ find " $TIZEN_SDK_SYSROOT /usr/lib64" -maxdepth 1 -type l | while IFS= read -r LNK; do
442
+ ln -sf " $( basename " $( readlink " $LNK " ) " ) " " $LNK "
443
+ done
444
+
445
+ ln -sf ../../lib64/libcap.so.2 " $TIZEN_SDK_SYSROOT /usr/lib64/libcap.so"
446
+ ln -sf openssl3.pc " $TIZEN_SDK_SYSROOT /usr/lib64/pkgconfig/openssl.pc"
447
+
448
+ info " Done."
449
+ echo
450
+
451
+ # Information on necessary environment variables
452
+ warning " Before proceeding with Matter export environment variables as follows:"
453
+ echo -n " $COLOR_YELLOW "
454
+ echo " export TIZEN_VERSION=\" $TIZEN_VERSION \" "
455
+ echo " export TIZEN_SDK_ROOT=\" $( realpath " $TIZEN_SDK_ROOT " ) \" "
456
+ echo " export TIZEN_SDK_TOOLCHAIN_ARM64=\"\$ TIZEN_SDK_ROOT/tools/aarch64-linux-gnu-gcc-9.2\" "
457
+ echo " export TIZEN_SDK_SYSROOT_ARM64=\"\$ TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION /tizen/rootstraps/tizen-$TIZEN_VERSION -device64.core\" "
458
+ echo " export PATH=\"\$ TIZEN_SDK_TOOLCHAIN_ARM64/bin:\$ TIZEN_SDK_ROOT/tools/ide/bin:\$ TIZEN_SDK_ROOT/tools:\$ PATH\" "
459
+ echo -n " $COLOR_NONE "
460
+ }
461
+
307
462
while (( $# )) ; do
308
463
case $1 in
309
464
-h | --help)
310
465
show_help
311
466
exit 0
312
467
;;
468
+ --cpu)
469
+ IFS=' ,' read -r -a array <<< " $2"
470
+ for CPU in " ${array[@]} " ; do
471
+ if [ " $CPU " == " arm" ]; then
472
+ INSTALL_ARM=true
473
+ elif [ " $CPU " == " arm64" ]; then
474
+ INSTALL_ARM64=true
475
+ else
476
+ error " Invalid CPU: $CPU . Use --help"
477
+ exit 1
478
+ fi
479
+ done
480
+ shift
481
+ ;;
313
482
--tizen-sdk-path)
314
483
TIZEN_SDK_ROOT=" $2 "
315
484
shift
368
537
369
538
# ------------------------------------------------------------------------------
370
539
# Installation Tizen SDK
371
- install_tizen_sdk
540
+
541
+ if [ " $INSTALL_ARM " = true ]; then
542
+ install_tizen_sdk_arm
543
+ fi
544
+
545
+ if [ " $INSTALL_ARM64 " = true ]; then
546
+ install_tizen_sdk_arm64
547
+ fi
0 commit comments