Projects/Tizen Ports

Summary

Port Tizen to devices running mainline Linux.

Chat (Matrix)

Devices

Orange Pi PC

PinePhone

Samsung Galaxy A5

Create Images

Kernel config

CONFIG_AUDIT=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NETLABEL=y
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=4
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_EXT4_FS_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SMACK=y
CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf,smack"
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FTRACE_SYSCALLS=y

CMake builds

cmake -DENABLE_DLOG=on -DHAL_LICENSE_DIR=/hal/share/licenses -DHAL_LIB_DIR=/hal/lib ..
make DESTDIR="`pwd`/../install" install

Update Mesa

# 22.x
meson -Dc_link_args="-lttrace" -Dcpp_link_args="-lttrace" \
    -Dplatforms=tizen -Ddri-drivers= -Dgallium-drivers=freedreno,kmsro \
    -Dgallium-va=false -Dgallium-vdpau=false -Dgallium-xa=false -Dgallium-xvmc=false \
    -Dvulkan-drivers=freedreno -Dglx=disabled -Ddri3=false -Dprefix=/usr -Dgbm=true ..

# 23.1.x
meson -Dc_link_args="-lttrace" -Dcpp_link_args="-lttrace" -Dprefix=/usr -Dlibdir=/usr/lib \
    -Dgallium-va=disabled -Dgallium-vdpau=disabled -Dgallium-xa=disabled -Dglx=disabled \
    -Ddri3=disabled -Ddraw-use-llvm=false -Dllvm=disabled -Dgbm=enabled -Dplatforms="tizen" \
    -Dgallium-drivers=freedreno,kmsro -Dvulkan-drivers=freedreno

nice ninja -j3
DESTDIR=`pwd`/../install meson install --no-rebuild
rm usr/lib/{libEGL.so.1.4,libGLESv1_CM.so.1.1,libGLESv2.so.2.0}

Update libtdm-drm

Update libtbm-dumb

Install device-a5

Install pass-hal-msm8916

Update connman

setcap cap_net_admin,cap_net_bind_service,cap_net_broadcast,cap_net_raw,cap_dac_override=ei /usr/bin/connmand
chown network_fw.network_fw /usr/bin/connmand

Update org.tizen.lockscreen

Add additional firmware

Remove config files

rm -r etc/smack/onlycap \
   usr/lib/systemd/system/csa.mount \
   usr/lib/systemd/system/feedbackd.service \
   usr/lib/systemd/system/*/feedbackd* \
   hal/share/alsa/ucm/{TM1-sc7730,sprdphone}

Flash

fastboot flash system rootfs.img
fastboot flash cache system-data.img
fastboot flash userdata user.img

Additional Configuration

vconftool set -f -t bool db/setting/touch_wakeup_enable 0
sdb uninstall 9z6IujVul3
sed -i -e 's|\(:string\) TM1$|\1 A5|' \
    -e 's|\(:string\) SC7727S$|\1 MSM8916|' \
    -e 's|\(platform:tizen\.org/feature/screen\.size\.normal\.480\.800:bool\) TTTTTTTT|\1 FFFFFFFF|' \
    -e 's|\(platform:tizen\.org/feature/screen\.size\.normal\.720\.1280:bool\) FFFFFFFF|\1 TTTTTTTT|' \
    -e 's|\(platform:tizen\.org/feature/network\.telephony\.service\.lte:bool\) FFFFFFFF|\1 TTTTTTTT|' \
    etc/system_info_db/?
chsmack -a "_" -rt etc/system_info_db

Replace Distributor Root CA

  • replace /usr/share/ca-certificates/tizen/tizen-distributor-root-ca-public.pem
  • add fingerprint to /usr/share/ca-certificates/fingerprint/fingerprint_list.xml