docs: add Readme for Tizen and Readme RPI3 Setup for Tizen
authorMun, Gwan-gyeong <kk.moon@samsung.com>
Mon, 10 Apr 2017 10:36:58 +0000 (19:36 +0900)
committerXuelian Bai <xuelian.bai@samsung.com>
Thu, 18 Jan 2024 01:29:10 +0000 (09:29 +0800)
docs: Add Tizen Binary Download Instructions for RPI3

Readme_for_Tizen explains howto seting up build environment for tizen and geting
build dependancy packages.
Readme_RPI3_Setup_for_Tizen explains How to building RPI3 kernel for tizen and
downloading to tizen platform binaries to rpi3.

Add Tizen Binary Download Instructions for RPI3. it includes which packages
should be installed with Mesa for tizen.

Merged old commit a8f81f8f9382445f072c616e77ce0da72c028480

Change-Id: I44f8cdca5be8c8860d7f6a162889d534068168c1
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
Readme_RPI3_Setup_for_Tizen [new file with mode: 0644]
Readme_for_Tizen [new file with mode: 0644]
Tizen_Binary_Download_Instructions_for_RPI3 [new file with mode: 0644]

diff --git a/Readme_RPI3_Setup_for_Tizen b/Readme_RPI3_Setup_for_Tizen
new file mode 100644 (file)
index 0000000..2d0cdfb
--- /dev/null
@@ -0,0 +1,169 @@
+[Tizen Quick guide for Raspberry Pi3 ]
+
+1. How to build RPI3 kernel
+
+  1) Get kernel sources from git repository
+     repo: https://git.tizen.org/cgit/platform/kernel/linux-rpi3
+     branch: tizen
+
+  2) Setup aarch64 cross compiler like toolchain released from linaro http://releases.linaro.org/components/toolchain/binaries/
+
+  3) Build kernel using build-rpi3-arm64.sh script in kernel source
+     $ ./build-rpi3-arm64.sh
+
+  4) You can make boot.img including kernel/dtb binary and necessary files to boot
+     $ ./scripts/mkbootimg_rpi3.sh
+
+
+2. Making micro sd card to be possible to boot
+
+  This describes how to partition micro sd-card, format each partition of the card and flash vendor binaries and kernel images to the card
+
+  1) Get fusing script
+     You can get ./scripts/sd_fusing_rpi3.sh file from RPI3 kernel source
+     ( review.tizen.org:29418/platform/kernel/linux-rpi3 ) 
+
+  2) Prepare to use fusing script
+     Make the file executable
+     $ chmod u+x sd_fusing_rpi3.sh
+
+     Install the pv tools
+     $ sudo apt-get install pv
+
+  3) Partitioning for Tizen
+     Connect the micro sd to Desktop using Card Reader and check device node
+     $ sudo fdisk -l
+
+     ..........
+     Partition table entries are not in disk order
+     Disk /dev/sdb: 7948 MB, 7948206080 bytes
+     245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
+     Units = sectors of 1 * 512 = 512 bytes
+     Sector size (logical/physical): 512 bytes / 512 bytes
+     I/O size (minimum/optimal): 512 bytes / 512 bytes
+     Disk identifier: 0x00000000
+     Device Boot Start End Blocks Id System
+     /dev/sdb1 * 8192 139263 65536 e W95 FAT16 (LBA)
+     .......
+
+     Run "sd_fusing_rpi3.sh" script with device node
+     (This script does partitioning a given micro sd storage and formats each partition of the storage)
+     $ sudo ./sd_fusing_rpi3.sh -d /dev/sdb --format
+
+     Partition information after finishing sd_fusing_rpi3.sh
+     +---------------+------------+-----------+
+     |     Label     |   device   | size      |
+     +---------------+------------+-----------+
+     |     boot      | /dev/sdb1  | 64MB      |
+     +---------------+------------+-----------+
+     |     rootfs    | /dev/sdb2  | 3072MB    |
+     +---------------+------------+-----------+
+     |  system-data  | /dev/sdb3  | 512MB     |
+     +---------------+------------+-----------+
+     |     extend    | /dev/sdb4  |           |
+     +---------------+------------+-----------+
+     |     user      | /dev/sdb5  | 101MB     |
+     +---------------+------------+-----------+
+     |     module    | /dev/sdb6  | 20MB      |
+     +---------------+------------+-----------+
+     |     ramdisk   | /dev/sdb7  | 8MB       |
+     +---------------+------------+-----------+
+
+  4) Copy boot binaries to first partition of micro sd, which is boot partition.
+
+     [For Platform developers]
+      Please get boot binary tar.gz for rpi3 from download.tizen.org and flash it using sd_fusing_rpi3.sh script
+      http://download.tizen.org/snapshots/tizen/unified/latest/images/standard/common-boot-arm64-rpi3/
+
+     [For Kernel developers]
+      Mount first partition of micro sd
+        $ sudo mount /dev/sdb1 /mnt
+        (The parition, /dev/sdb1, is dependent on your Host PC env.)
+
+      Get boot binaries from kernel/rpi3/boot/ directory
+      (The file names are  bootcode.bin, config.txt, fixup.dat, LICENCE.broadcom and start.elf)
+        Copy all files from boot directory to /mnt, boot partition.
+        $ sudo cp -a boot/* /mnt/
+
+      Copy below kernel image and device tree binaries to /mnt after building kernel source code
+        bcm2710-rpi-3-b.dtb and bcm2837-rpi-3-b.dtb of arch/arm64/boot/dts/broadcom/
+        Image file of  arch/arm64/boot/
+        For kernel build, please refer to build-rpi3-arm64.sh ( review.tizen.org:29418/platform/kernel/linux-rpi3 )
+
+
+3. How to flash platform image for Tizen
+
+  1) If you have not initialized micro sd, please first do [1]
+     Insert the micro sd to Desktop PC using Card Reader and check device node
+     $ sudo fdisk -l
+
+     ..........
+     Partition table entries are not in disk order
+     Disk /dev/sdb: 7948 MB, 7948206080 bytes
+     245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
+     Units = sectors of 1 * 512 = 512 bytes
+     Sector size (logical/physical): 512 bytes / 512 bytes
+     I/O size (minimum/optimal): 512 bytes / 512 bytes
+     Disk identifier: 0x00000000
+     Device Boot Start End Blocks Id System
+     /dev/sdb1 * 8192 139263 65536 e W95 FAT16 (LBA)
+     .......
+
+  2) Flash a platform image to the micro sd card.
+     (you can download lastest tizen tv platform binary from here:
+      - https://download.tizen.org/snapshots/tizen/tv/latest/images/arm-wayland/tv-wayland-armv7l-odroidu3/ )
+
+     $sudo ./sd_fusing_rpi3.sh -d /dev/sdb -b platform.tar.gz
+
+     Above command will flash each image contained in the platform image to corresponding partition of the micro sd card like below.
+
+     +-----------------+------------------------+
+     | Image file name |  Partition table name  |
+     +-----------------+------------------------+
+     | boot.img        |       /dev/sdb1        |
+     +-----------------+------------------------+
+     | rootfs.img      |       /dev/sdb2        |
+     +-----------------+------------------------+
+     | system-data.img |       /dev/sdb3        |
+     +-----------------+------------------------+
+     | user.img        |       /dev/sdb5        |
+     +-----------------+------------------------+
+     | modules.img     |       /dev/sdb6        |
+     +-----------------+------------------------+
+     | ramdisk.img     |       /dev/sdb7        |
+     +-----------------+------------------------+
+
+
+4. Serial Connection
+
+   If you want to read and write serial messages via UART from host, you need USB to TTL cable and should connect it on Raspberry Pi3
+   refer to http://raspberrypi.stackexchange.com/questions/15819/how-to-identify-the-usb-to-serial-wire-mismatched
+
+
+5. SDB connection
+
+   The Smart Development Bridge (SDB) is a device management tool included in the Tizen SDK
+   refer to https://developer.tizen.org/dev-guide/2.4/org.tizen.devtools/html/common_tools/smart_dev_bridge.htm
+
+   1) host setup example
+      $ sudo ifconfig eth0:1 192.168.0.1 up
+
+   2) rpi3 setup example
+      # ifconfig eth0 192.168.0.2 up
+      # route add default gw 192.168.0.1
+
+   3) host sdb connect by ethernet example
+      $ sdb connect 192.168.0.2
+
+   4) check sdb connection
+      $ sdb devices
+
+      sdb devices
+      List of devices attached
+      192.168.0.2:26101                device          xu3
+
+   5) login sdb shell
+      $sdb shell
+
+   6) send data by sdb
+      $sdb push localfile remote_position
diff --git a/Readme_for_Tizen b/Readme_for_Tizen
new file mode 100644 (file)
index 0000000..5900df2
--- /dev/null
@@ -0,0 +1,48 @@
+0. Setup build environment for tizen
+
+   1) reference
+      https://source.tizen.org/documentation/developer-guide/getting-started-guide/installing-development-tools?langredirect=1
+      https://source.tizen.org/documentation/developer-guide/getting-started-guide/building-packages-locally-gbs?langredirect=1
+
+   2) build command example
+      gbs -c ~/gbs/gbs.conf build -B ~/gbs/GBS-ROOT/tizen_public/ -A armv7l --include-all --keep-packs --no-patch-export
+
+   3) gbs.conf example
+
+---------------------------------[gbs.conf]------------------------------------------------
+[general]
+profile = profile.tizen
+
+[profile.tizen]
+obs = obs.tizen
+repos = repo.tizen.base, repo.tizen.latest
+
+[obs.tizen]
+url = http://build.tizen.org
+
+[repo.tizen.base]
+url = https://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/
+
+[repo.tizen.latest]
+url = https://download.tizen.org/snapshots/tizen/mobile/latest/repos/arm-wayland/packages/
+------------------------------------------------------------------------------------------
+
+1. Mesa for Tizen build dependancy package on github
+
+ download below package and build with gbs
+
+ 1) repo: https://github.com/elongbug/tizen-python-mako
+
+ * python-mako for tizen is on progressing over tizen repository.
+   ( https://review.tizen.org/git/platform/upstream/python-mako )
+
+2. Mesa runtime dependancy package for rpi3 on tizen
+
+ 1) RPI3 tbm backend ( tbm vc4 backend)
+    repo: git://git.tizen.org/platform/adaptation/broadcom/libtbm-vc4
+    branch: tizen
+
+ 2) RPI3 tdm backend ( tdm vc4(drm) backend)
+    repo: https://review.tizen.org/git/platform/adaptation/broadcom/libtdm-vc4
+    repo: git://git.tizen.org/platform/adaptation/broadcom/libtdm-vc4
+    branch: tizen
diff --git a/Tizen_Binary_Download_Instructions_for_RPI3 b/Tizen_Binary_Download_Instructions_for_RPI3
new file mode 100644 (file)
index 0000000..81c66fc
--- /dev/null
@@ -0,0 +1,47 @@
+1. Download rpi3 fusing scrpit
+
+ $ wget https://review.tizen.org/gerrit/gitweb?p=platform/kernel/linux-rpi3.git;a=blob_plain;f=scripts/sd_fusing_rpi3.sh;hb=refs/heads/tizen
+
+2. Download and install latest tizen rpi3 kernel.
+
+ $ wget http://download.tizen.org/snapshots/tizen/unified/latest/images/standard/common-boot-arm64-rpi3/tizen-unified_common-boot-arm64-rpi3.tar.gz
+
+ $ sudo ./sd_fusing_rpi3.sh -d /dev/sdb -b tizen-unified_common-boot-arm64-rpi3.tar.gz
+
+3. Download and install latest tizen 3.0 rpi3 binary.
+
+ $ wget https://download.tizen.org/snapshots/tizen/3.0-tv/latest/images/arm-wayland/tv-wayland-armv7l-odroidu3/tizen-3.0-tv_20170411.1_tv-wayland-armv7l-odroidu3.tar.gz
+ $ sudo ./sd_fusing_rpi3.sh -d /dev/sdb -b tizen-3.0-tv_20170411.1_tv-wayland-armv7l-odroidu3.tar.gz
+
+4. build mesa and dependancy pagkages for tizen.
+
+ 1) mesa for tizen
+   repo: review.tizen.org:29418/platform/upstream/mesa
+   branch: devel/libtpl-egl
+
+ 2) libtbm for vc4
+   repo: review.tizen.org:29418/platform/adaptation/broadcom/libtbm-vc4
+   branch: tizen
+
+ 3) libtdm for vc4
+   repo: review.tizen.org:29418/platform/adaptation/broadcom/libtdm-vc4
+   branch: tizen
+
+ 4) libtpl-egl
+   repo: review.tizen.org:29418/platform/core/uifw/libtpl-egl 
+   branch: tizen
+
+ 5) libdrm
+   repo: review.tizen.org:29418/platform/upstream/libdrm
+   branch: tizen
+
+
+5. uninstall conflict package and install build package
+
+ 1) uninstall conflict package from rpi3
+
+    # rpm -e libtbm-exynos-1.2.8-32.1.armv7l libtdm-exynos-1.0.8-32.1.armv7l
+    # rm /usr/lib/tdm/libtdm-default.so /usr/lib/bufmgr/libtbm_default.so
+
+ 2) install built packages to rpi3
+    # rpm -Uvh libtbm-vc4-0.0.5-1.armv7l.rpm libtdm-vc4-0.5.0-0.armv7l.rpm libtpl-egl-1.0-0.armv7l.rpm libwayland-egl-1.0-0.armv7l.rpm mesa-17.1.0-0.armv7l.rpm  libdrm-2.4.75-0.armv7l.rpm --force