IoT-Gadgets-Logo-272-90

A Look at Samsung's Tizen Device Open-Source Releases

Instructions on searching for Samsung's Tizen device open-source releases and what can be found within those archive files. Linux kernel and more.
By
Bob Summerwill
 - 
Nov 2, 2015

 
The Samsung Open Source Release Center web portal is the go-to site for downloading the source code for open source packages used in all Samsung products.   That spans everything from TVs and cameras and mobile devices and printers and much more.

The web portal is hosted at http://opensource.samsung.com/.

Open Source Release Center

To make effective use of the web site, you will need to know Samsung's product code (ie, SM-R750) for your device, and probably also the specific software version.

Like every other individual or corporation, Samsung is obliged to comply with any conditions attached as part of the licensing terms of any third party software it uses, which might include releasing source code for open source packages incorporated into its products.

The term "Open Source" is a very broad and confusing term.   Many open source licenses are permissive, so do not require source code releases for any modifications.   One such license is the Apache v2.0 license used for the majority of Tizen packages.

In contrast, the most common "copyleft" license is the GPLv2 used for the Linux kernel and many other common packages used in GNU/Linux operating systems like Tizen.   The Linux kernel is an example of Free Software, which is not exactly synonymous with Open Source.

Looking purely at the Tizen mobile and wearable devices released to date, there are 5 relevant releases on the website, each of which comes in the form of a <filename>.TAR.GZ archive file, most of which are very large.

Search for the source code for particular devices by product code, ie.

z3_search

Then you have a brief legal agreement dialog to fill in:

agreement

The content within these archives varies quite widely between the devices.  Some contain RPMs.   Some contain ZIPs.   Some contain only the Linux kernel.   Others appear to contain source code for a large number of packages (perhaps for all open source package used for that device?)

DeviceCodeVersionSpec nameKernel
Gear 2SM-R380Unknowntizen_b2linux-3.4-exynos3250
Gear 2 NeoSM-R381
Gear SSM-R750NJ7?linux-3.4-msm8x26_SM-R750
Gear S2SM-R720R720XXU2AOIA /
R732XXU2AOIA
R720XXU2AOJ3 /
R732XXU2AOJ3
tizen_wc1linux-3.4-exynos3250
Gear S2 ClassicSM-R732
Samsung Z1SM-Z130HZ130HDDU0ANL7tizen-kiranlinux-3.10-sc7727
Samsung Z3SM-Z300HZ300HDDU0AOJ4tizen_grandprimeve3glinux-3.10-sc7730

 

I'll just show an example of one of the source code for the most recently released Tizen device - the Samsung Z3.

That partial archive comes as a 1.8Gb file called SM-Z300H_Opensource.tar.gz.  That contains two further archives.  One called repos and one called source.   The repos archive contains numerous RPMs used for building the kernel.

repos

The source archive contains the actual source code for (all?) the open source packages used on the device:

source

I'm going to drop into the linux-3.10-sc7730 package, as the most interesting one - the Linux kernel used for the Z3.   Here's what the directory tree looks like:

kernel

A key file to look at is packaging/linux-3.10-sc7730.spec which is the specification / description for the Linux kernel used on the device itself.   Here is a copy:

This fragment seems to indicate that the Z3 was codenamed "Grand Prime VE 3G" at some stage.

%if "%{?sec_product_feature_kernel_defconfig}" == "undefined"
%define BOARDS tizen_grandprimeve3g
%else
%define BOARDS tizen_%{?sec_product_feature_kernel_defconfig}
%endif

This defconfig file corresponds to arch/arm/config/tizen_grandprimeve3g_defconfig.   There are a few more tizen-prefixed files in the same directory, which presumably correspond to further Tizen devices which may or may not have been released, or may have been development devices on the path to the Z3.

  • tizen_coreprimeve3g_defconfig
  • tizen_grandprimeve3g_defconfig
  • tizen_z3_defconfig
  • tizen_z3lte_defconfig

Here is a copy of that default defconfig config, which determines which Linux kernel features are turned on-and-on.

These TAR.GZ files are, of course, not the only way to get hold of source code for Tizen devices.   The "shop window" is at https://source.tizen.org/ where the official SDK releases are made.

It would be an interesting exercise to compare-and-contract the source code in these two locations, and see where they differ, and also in what ways the source code within these Tizen releases differs from vanilla releases of the packages from their original authors.    Another day 🙂

IoT-Gadgets-Logo-272-90

About us

IoT Gadgets is dedicated to bring you all the Internet of Things IoT news that pertains to gadgets. Simple. We love for you to join us on this journey.

Contact us: [email protected]

FOLLOW US

crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram