ARM/Beaglebone

From Tizen Wiki
< ARM
Jump to: navigation, search

This page is about my experiences for porting Tizen to beaglebone black Not succeeded yet.

Naive Plan & Approach

  • I'm planning to port tizen-common on my Beagle bone black(BBB) based on following approaches:
  • 2017.1.31 : Start from Ti's Official BSP build guide for BBB.


Tizen Platform build (rootfs)

I modified Tizen 3.0 mobile's ksfile to generate one rootfs image.

Get reference .ks file

 wget http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/builddata/images/arm-wayland/image-configurations/mobile-wayland-armv7l-tm2.ks
git clone https://github.com/hcyang1012/Tizen-BBB_mic_script.git
cd Tizen-BBB_mic_script
sudo mic create loop tizen-3.0-mobile_20170120.3_mobile-wayland-armv7l-BBB.ks

Development Environment Setup & BSP build except Linux kernel

Please refer to the following section in 'Beaglebone Black Ubuntu Setup Guide':

Linux Kernel Build and Install

Kernel download

git clone https://github.com/RobertCNelson/bb-kernel
cd bb-kernel/

I used Linux kernel version am33x-v4.4 (Longterm 4.4.x) :

git checkout origin/am33x-v4.4 -b tmp

Build

Follow script automatically starts kernel building:

./build_kernel.sh

Important : When the menuconfig is shown, then, enable following kernel configs

CONFIG_SECURITY_SMACK=y
CONFIG_DEFAULT_SECURITY_SMACK=y

Micro SD card setup

This step includes:

  • U-boot installation
  • Partition setup for Tizen rootfs

Please refer to following links:

From now on, I assume that the Tizen rootfs partition is mounted to /media/rootfs/.

Rootfs setup

Mount generated image (rootfs.img) to any directory you preferred.

cd mic-output
mkdir temp
sudo mount rootfs.img temp/
sudo cp temp/* /media/rootfs
sync

Kernel Install

Basic sequence is similar with this link You should know the exact kernel version that you built. This message printed after build_kernel.sh can help you:


-----------------------------
Script Complete
eewiki.net: [user@localhost:~$ export kernel_version=4.X.Y-Z]
-----------------------------

Once you get the version, set following environment variable:

export kernel_version=4.X.Y-Z
sudo sh -c "echo 'uname_r=${kernel_version}' >> /media/rootfs/boot/uEnv.txt"

Copy kernel image

sudo cp -v ./bb-kernel/deploy/${kernel_version}.zImage /media/rootfs/boot/vmlinuz-${kernel_version}

Copy DTBs

sudo mkdir -p /media/rootfs/boot/dtbs/${kernel_version}/
sudo tar xfv ./bb-kernel/deploy/${kernel_version}-dtbs.tar.gz -C /media/rootfs/boot/dtbs/${kernel_version}/

Copy Kernel modules

sudo tar xfv ./bb-kernel/deploy/${kernel_version}-modules.tar.gz -C /media/rootfs/usr/

Important : Do not extract the kernel module file to /media/root directly. If you do that, the /lib symbolic link in rootfs image will be replaced to the real directory, resulting in kernel boot failure. That is, do not execute following command, which is described in this link.

#Don't do following command:
sudo tar xfv ./bb-kernel/deploy/${kernel_version}-modules.tar.gz -C /media/rootfs/

Build libtbm-dumb and libtdm-drm

~/.gbs.conf configuration

[general]
profile = profile.tizen

[profile.tizen]
obs = obs.tizen
repos = repo.tizen_base, repo.tizen_latest

[obs.tizen]
url = https://api.tizen.org
user = obs_viewer

[repo.tizen_base]
url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/

[repo.tizen_latest]
url = http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/repos/arm-wayland/packages/

Get reference .ks file

 wget http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/builddata/images/arm-wayland/image-configurations/mobile-wayland-armv7l-tm2.ks

Links

Known Issues

  • eth0 network : ?
  • HDMI display : Not working.
  • sdb
  • Others..?