Bringing Tizen to a Raspberry PI 2 Near You…

This article is part of a series on Tizen on the Raspberry Pi 2.

The Raspberry Pi is the most popular single-board computer with more than 5 million sold. While there are numerous Linux Distributions that run on RPI including Raspbian, Pidora, Ubuntu, OSMC, and OpenElec, the Tizen OS does not currently run on it. Since Tizen is being positioned as an important player within the growing Internet of Things (IoT) ecosystem, providing a Raspberry PI 2 port can help developers gain more Tizen experience. For this reason, the Samsung Open Source group decided to work on such port. This article will go over how to build a bootable Tizen image for Raspberry Pi from a computer running Linux.

The Raspberry Pi 2 has several advantages over the first version. Among them:

  • It has a quad-core CPU
  • It runs at 900 MHz
  • It uses an ARM Cortex-A7 CPU

The ARM Cortex-A7 CPU is very nice since most distributions are compiled to use the arm instruction set found on ARMv7 processors.

Initial Tests

Before doing a native Tizen build, we needed to determine if the new Raspberry PI2 was capable of running Tizen. To do this, we used a small trick: we downloaded a pre-built Tizen image found at tizen.org and borrowed a Debian boot image. Since the Tizen root image was built for ARMv7, the image ran properly on Raspberry Pi 2, except for a few issues related to graphics. That gave us enough confidence to go to step 2: building the boot image and root machine targeted for Raspberry Pi2.

Building Images on Tizen

Currently, as described on the Tizen Wiki, there are two ways used to build a Tizen image:

  • Via GBS: The “traditional” way, which requires setting up a GBS server to compile several packages
  • Via Yocto: The “new” way, which uses OpenEmbedded bitbake recipes to generate the image. This can easily be done on a user’s machine, provided a good Internet link is available.

GBS would require a lot of time, and we would need to allocate a dedicated build server, because of this, we decided to use Yocto to produce the images.

Creating a Tizen image for Raspberry PI2

BEFORE STARTING: As Yocto build will download lots of packages, you should ensure that your firewall policy won’t be blocking ftp, http, https and git protocols, as otherwise the build may fail.

1) Create a Local Copy of tizen-distro

The first step is to clone the Tizen distro tree. We actually use an alternate version of the already existing tizen.org tizen-distro tree.

Our variant has some patches on the top of the tree that allows building Tizen for ARM CPUs. It also disables the usage of the Open Source mesa/gallium 3D driver, since the Broadcom GPU used on Raspberry PI2 is not currently supported by this open source driver. The plan is to rework these patches to submit them to Tizen upstream, without breaking anything for x86.

To create the clone, do the following from any terminal window:

git clone git://git.s-osg.org/tizen-distro.git

2) Add Raspberry PI 2 BSP Meta Repository

Yocto works with several layers of software. The BSP (Board Supported Package) layer provides support for the board, and writing a BSP can consume a lot of time. Fortunately, there’s already a Yocto BSP for Raspbery PI 2, and the only extra requirement is to adjust the BSP to work with Tizen. Again, we opted to create a fork of the tree, to avoid interfering with other distros supported by this BSP, but the plan is to rework these patches in order to submit them to Yocto upstream in a way that would not affect builds for other distros.

The steps to create the clone is:

cd tizen-distro
git clone git://git.s-osg.org/meta-raspberrypi.git

3) Initialize the Environment to Prepare for Build

Now that we have a copy of both the Tizen and BSP Yocto bits, we need to setup the build environment in order to use bitbake. It should be noted that some packages may be needed to be installed, depending on the distribution you’re using at the build machine. The Yocto builder (bitbake) requires Python 2.7.3 or greater. So, we don’t recommend using an LTS distro for the build, as it may have packages that are too old. Here, we used Fedora 21, as it provides recent packages, while being stable enough for desktop needs.

The command to initialize the build environment is:

source ./tizen-common-init-build-env build

4) Modify Config Files to Point to Build for Raspberry PI2

The Tizen build is controlled by configuration files. Assuming Tizen was installed at ~/tizen-distro the previous steps would have changed the working directory to the new build directory. So, the current directory should be ~/tizen-distro/build and the configuration files are in the ./conf directory.

From the build directory, you’ll need to edit the conf/local.conf with your favorite editor. You should comment out any existing line that starts with “MACHINE”, and add the line bellow:

MACHINE ??= "raspberrypi2"

This will tell bitbake that it should compile for Raspberry PI 2 board.

Now, we need to add the BSP meta-raspberrypi layer to the conf/bblayers.conf file, at both BBLAYERS and BBLAYERS_NON_REMOVABLE. Again, use your favorite editor.

After the changes, the file contents should look like the one below, with your home directory instead of /home/mchehab:

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "5"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /home/mchehab/tizen-distro/meta \
  /home/mchehab/tizen-distro/meta-raspberrypi \
  /home/mchehab/tizen-distro/meta-openembedded/meta-oe \
  /home/mchehab/tizen-distro/meta-openembedded/meta-multimedia \
  /home/mchehab/tizen-distro/meta-openembedded/meta-ruby \
  /home/mchehab/tizen-distro/meta-openembedded/meta-systemd \
  /home/mchehab/tizen-distro/meta-openembedded/meta-gnome \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-adaptation/meta \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-adaptation/meta-oe \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-common-base \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-common-share \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-common-devtools \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-common-demo \
"

BBLAYERS_NON_REMOVABLE ?= " \
  /home/mchehab/tizen-distro/meta \
  /home/mchehab/tizen-distro/meta-raspberrypi \
  /home/mchehab/tizen-distro/meta-openembedded/meta-oe \
  /home/mchehab/tizen-distro/meta-openembedded/meta-multimedia \
  /home/mchehab/tizen-distro/meta-openembedded/meta-ruby \
  /home/mchehab/tizen-distro/meta-openembedded/meta-systemd \
  /home/mchehab/tizen-distro/meta-openembedded/meta-gnome \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-adaptation-oe-core \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-adaptation-meta-oe \
  /home/mchehab/tizen-distro/meta-tizen/meta-tizen-common-base \
"

Notice the new entry for “~/tizen-distro/meta-raspberrypi \” in each of the sections.

5) Start building

Now that everything is set, it is time to start the build. This is the step that will take a considerable amount of time, and will require a good Internet connection because it will download thousands of packages and/or clone upstream git trees for several packages.

Do this by running the following command:

bitbake rpi-hwup-image

NOTE: On some distros, this step will cause an error (this has been confirmed on multiple Debian-based distros):

ERROR: Task 400 (/tizen-distro/meta-tizen/meta-tizen-common-base/recipes-extended/pam/pam_git.bb, do_compile) failed with exit code '1'

If such an error happens, just pull an extra patch, and re-run bitbake with the following commands:

git pull . origin/tizen-debianhost
bitbake rpi-hwup-image

If everything goes well, the images will be located in the tmp-glibc/deploy/images/raspberrypi2 directory, and will look like the ones below:

$ ls tmp-glibc/deploy/images/raspberrypi2/
bcm2835-bootfiles
Image
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-bcm2708-rpi-b-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-bcm2708-rpi-b-plus-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-bcm2709-rpi-2-b-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-ds1307-rtc-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-hifiberry-amp-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-hifiberry-dac-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-hifiberry-dacplus-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-hifiberry-digi-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-iqaudio-dac-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-iqaudio-dacplus-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-lirc-rpi-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-pcf8523-rtc-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-pps-gpio-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-raspberrypi2-20150409151425.bin
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-w1-gpio-overlay-20150409151425.dtb
Image--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-w1-gpio-pullup-overlay-20150409151425.dtb
Image-bcm2708-rpi-b.dtb
Image-bcm2708-rpi-b-plus.dtb
Image-bcm2709-rpi-2-b.dtb
Image-ds1307-rtc-overlay.dtb
Image-hifiberry-amp-overlay.dtb
Image-hifiberry-dac-overlay.dtb
Image-hifiberry-dacplus-overlay.dtb
Image-hifiberry-digi-overlay.dtb
Image-iqaudio-dac-overlay.dtb
Image-iqaudio-dacplus-overlay.dtb
Image-lirc-rpi-overlay.dtb
Image-pcf8523-rtc-overlay.dtb
Image-pps-gpio-overlay.dtb
Image-raspberrypi2.bin
Image-w1-gpio-overlay.dtb
Image-w1-gpio-pullup-overlay.dtb
modules--3.18.5+gita6cf3c99bc89e2c010c2f78fbf9e3ed478ccfd46-r0-raspberrypi2-20150409151425.tgz
modules-raspberrypi2.tgz
README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
rpi-hwup-image-raspberrypi2-20150409151425.rootfs.ext3
rpi-hwup-image-raspberrypi2-20150409151425.rootfs.manifest
rpi-hwup-image-raspberrypi2-20150409151425.rootfs.rpi-sdimg
rpi-hwup-image-raspberrypi2-20150409151425.rootfs.tar.bz2
rpi-hwup-image-raspberrypi2.ext3
rpi-hwup-image-raspberrypi2.manifest
rpi-hwup-image-raspberrypi2.rpi-sdimg
rpi-hwup-image-raspberrypi2.tar.bz2

Use the Image

Be careful at this point, because the steps below should be run as root, and will rewrite a disk image. If you do something wrong at this point, you may end by damaging what’s stored on your disks!

Let’s assume that the SD card will be mapped as /dev/sdc. Replace /dev/sdc with the device where your SD card is stored. To find out where your device is mapped, you can run the command:

$ df -aTh

WARNING: In the next section, be sure to change any instance of /dev/sdc to your specific disk that it is mapped. Otherwise you may damage your system!

1) Fill the SD Card With the Image

Insert an SD card on your computer using an SD->USB adapter and check if it was mapped at /dev/sdc.

The current image size is about 620 MB. Be sure to have an SD card big enough to fit the size of the generated image.

Now, write the image with the following command:

# dd if=tmp-glibc/deploy/images/raspberrypi2/rpi-hwup-image-raspberrypi2.rpi-sdimg of=/dev/sdc bs=128M && sync
4+1 records in
4+1 records out
616562688 bytes (617 MB) copied, 91.798 s, 6.7 MB/s

NOTE: the actual image size may vary, as we add more packages to the build image.

The image is now created and you can use it to boot into Tizen.

NOTE: The root password used on this image will be “root”.

2) Optional: Resize the Root Image to the Disk Size

By default, the image size doesn’t fill the entire SD disk. If you want to extend it to use all your SD card space, you can check what’s the first sector of the second partition of the disk.

Assuming that the first sector is 49152, you should delete it and re-create, using the maximum SD size as the last sector, as shown below:

# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/sdc: 7.4 GiB, 7969177600 bytes, 15564800 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
Disklabel type: dos
Disk identifier: 0x000ceb8d

Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 8192 49151 40960 20M c W95 FAT32 (LBA)
/dev/sdc2 49152 1204223 1155072 564M 83 Linux

Command (m for help): d
Partition number (1,2, default 2):

Partition 2 has been deleted.

Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2048-15564799, default 2048): 49152
Last sector, +sectors or +size{K,M,G,T,P} (49152-15564799, default 15564799):

Created a new partition 2 of type 'Linux' and of size 7.4 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Now, we’ll use e2fsck to extend the ext4 partition to fill the entire partition. Before that, the partition should be checked with e2fsck.

Those steps are shown below:

# e2fsck -f /dev/sdc2
e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Setting filetype for entry 'uncompress' in /bin (12) to 1.
Setting filetype for entry 'mke2fs' in /sbin (317) to 1.
Setting filetype for entry 'mkfs.ext4dev' in /sbin (317) to 1.
Setting filetype for entry 'fsck.ext3' in /sbin (317) to 1.
Setting filetype for entry 'mkfs.ext4' in /sbin (317) to 1.
Setting filetype for entry 'e2fsck' in /sbin (317) to 1.
Setting filetype for entry 'fsck.ext4' in /sbin (317) to 1.
Setting filetype for entry 'mkfs.ext2' in /sbin (317) to 1.
Setting filetype for entry 'fsck.ext4dev' in /sbin (317) to 1.
Setting filetype for entry 'arm-oe-linux-gnueabi-ld' in /usr/bin (416) to 1.
Setting filetype for entry 'gawk' in /usr/bin (416) to 1.
Pass 3: Checking directory connectivity
Pass 3A: Optimizing directories
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/sdc2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdc2: 3647/60480 files (0.8% non-contiguous), 157146/241664 blocks

# sudo resize2fs /dev/sdc2
resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/sdc2 to 7757824 (1k) blocks.
The filesystem on /dev/sdc2 is now 7757824 (1k) blocks long.

Get Involved

Now, You’re ready to use Tizen on your Raspberry PI 2. If you want to learn more or get involved, you can join us in the Tizen IRC chatroom, or subscribe to the Tizen Community mailing list. Lastly, you can also stay tuned to this blog to catch more articles about building things on Tizen and Raspberry Pi. Have fun!

Raspberry Pi is a trademark of the Raspberry Pi Foundation

Author: Mauro Carvalho Chehab

Mauro is the maintainer of the Linux kernel media and EDAC subsystems and Tizen on Yocto. He's also a major contributor to the Reliability Availability and Serviceability (RAS) subsystems.

35 thoughts on “Bringing Tizen to a Raspberry PI 2 Near You…”

    1. I tried tizen.rpi-sdimg.2015-08-12 on my Pi-2.
      I can ssh into it on ethernet just fine.
      But when I plug it into an HDMI TV, I get no picture, apart from a quick flash of some white text every 10 sec.
      I assume there should be a graphic display? Or should I be using a different img?
      @andysc

      1. I put it into HDMI safe mode in config.txt, and I had long enough this time to see an error message:
        *** Error in /usr/bin/weston: double free or corruption (tprev) 0x1c309b0 ***
        That would explain why I’m getting no image then :)
        Any ideas?

      2. I have now also tried it with tizen-common-core-image-crosswalk-dev-raspberrypi2.rpi-sdimg-2015-08-14
        same problem:
        *** Error in /usr/bin/weston: double free or corruption (tprev) [different hex number] ***
        coming up every 10 sec then blank screen again.

      3. Really strange! Can you provide any additional information about what’s plugged into the Pi-2? USB devices, what kind of monitor..
        Since you can ssh in, you should be able to see weston’s log file in /run/display/weston.log
        This might have a backtrace I can use to find the crash.

        Weston will fail to start if you don’t have a keyboard or mouse connected – perhaps that’s what you’re seeing? If the log says failed to create input device, that’s probably what you’re looking at.

        Still interested in the double free error if there’s a backtrace in the log though…

      4. I ran into the same problem – got the hint on irc that it might be related to weston not liking to start without input devices (thanks ManMower!). Once I plugged in a keyboard+mouse the problem went away.

  1. If I understand correctly the image has only a working weston-terminal and nothing else. Other icons, like Calc or Browser, won’t possibly work, am I wrong?

    Nice job, I was expecting better performance though, not sure this is XWayland or pure Wayland, but even when the terminal appears it’s not that smooth. Any extra detail on this?

    Best Regards

    1. Andrea,

      Yes, the image doesn’t have many packages installed on it, just the basic stuff. It is possible to compile extra packages via Yocto or gbs and then install the built rpm files on Tizen.

      With regards to performance, it is because 3D accel wasn’t enabled yet. Weston/Wayland requires mesa to compile a wayland-egl driver for accel. I’m currently doing some tests to see if I can enable 3D on it, using a Broadcom’s userland fork that contains its own version of wayland-egl. I’ll post here the information and add the new images once its done.

      1. oh wow, good luck with that, but now I am impressed everything I’ve seen is actually SW rendered!!! Good stuff, and thanks for sharing.

  2. Mauro,

    Thank you for the detailed build instructions, look forward to further developments Particularly interested in more applications and 3d acceleration.

    .

    1. The meta-raspberrypi BSP layer supports the raspberry PI version 1B. You need to change MACHINE at build/conf/local.conf to:

      MACHINE ??= “raspberrypi”

      I didn’t try to compile or test Tizen on it. Would mind posting here the results if you test and it works?

      1. Of course Mauro,

        Unfortunately on my side(ubuntu 14.04) the recipes parsing fails for both targets:

        $ bitbake rpi-hwup-image

        ERROR: ExpansionError during parsing /home/oliver/rasptizen/tizen-distro/meta-tizen/meta-tizen-common-share/recipes-crosswalk/crosswalk/crosswalk-thirdparty_git.bb: Failure expanding variable do_fetch[file-checksums], expression was ${@bb.fetch.get_checksum_file_list(d)} which triggered exception MalformedUrl: The URL: ‘${INCLUDE_GYPI}’ is invalid and cannot be interpreted

      2. @olivier, maybe you can try again , the bitbake rpi-hwup-image should not bulld xwalk ? does it still build it ?

        FYI, I managed to build a raspberrypi image . but it didnt boot on my old rpi1 , I’ll have to investigate later on that.

  3. I tried making tizen boot on raspi around a month ago and you just helped me fill in the gaps I was missing, thank you!
    Now back to trying to port Firefox OS on my nexus 6….

  4. how to enable wifi interface(usb type dongle) on this platform? I use usb type wifi dongle and I could see the wlan0 interface for this device but I was failed to enable it in general way.

    1. I didn’t test wifi on it. Support for wifi requires to have the Kernel module for the wifi chip used on your dongle, plus the corresponding firmwares. As you’re seeing wlan0, then the Kernel module is probably compiled. So, I would check if the firmware needed for your dongle is there. That’s said, I’m not sure if the wifi userspace tools are packaged on the current image. Perhaps you’ll need to compile it manually.

  5. I succeeded to build the tizen image with yocto and boot it up.
    There are four windows.
    guest, carol, bob and alice.
    I connected mouse, keyboard and hdmi monitor.
    How can I shutdown tizen?
    And I have another question.
    I connected the UART of raspberry pi2 to my host pc.
    I want to see the kernel message and login.
    How do I do?
    Please help me.

    1. The only way that I’m aware of to shut it down properly is to issue “shutdown now” from a terminal as root. However, I haven’t had any problems with simply unplugging the RPi2 when I need to turn it off.

      As for your other question, I haven’t used UART, so I’m not familiar with how that works. I’ve been connecting to my RPi2 via ssh over my local network and that has served me well so far. If you don’t have the option to connect it with an Ethernet cable, you can use our guide to setup WiFi on the device and connect that way: http://blogs.s-osg.org/setup-wifi-raspberry-pi-2-tizen/

      1. Thanks for your comment.
        I added “console=ttyAMA0” into cmdline.txt on first partition.
        I saw the message on UART.
        Do you know the root password?
        In rpi-hwup-image.bb, there is a function – set_root_passwd().
        It changes no root passwd into “wYNffsf6sozwE:%”.
        I can’t find out the real passwd from shadow.

      2. Hi ,
        After adding console into cmdline.txt file , i saw log on serial console.
        But , the shell is not taking the input from me .
        It is not asking for me any passwords like that .
        I connected mouse , key board and mouse.
        I can”t find the real problem.

        If anybody faced this issue , please post your comments.

        Thanks.

  6. Hi all,
    I have following error while building:

    khang@ThinkPad-R500:~/Workspace/Source/RaspberryPi2/Yocto/Tizen/build$ bitbake rpi-hwup-image
    Loading cache: 100% |###########################################| ETA: 00:00:00
    Loaded 57 entries from dependency cache.
    ERROR: ExpansionError during parsing /home/khang/Workspace/Source/RaspberryPi2/Yocto/Tizen/meta-tizen/meta-tizen-common-share/recipes-crosswalk/crosswalk/crosswalk_git.bb: Failure expanding variable do_fetch[file-checksums], expression was ${@bb.fetch.get_checksum_file_list(d)} which triggered exception MalformedUrl: The URL: ‘${INCLUDE_GYPI}’ is invalid and cannot be interpreted

    Summary: There was 1 ERROR message shown, returning a non-zero exit code.

    Can anyone helps me, please? Many thanks

  7. Guys, I’m newbe and my build failed with the following error:
    /tizen/tizen-distro/build$ bitbake rpi-hwup-im
    Parsing recipes: 100% |############################################################################| Time: 00:00:44
    Parsing of 1767 .bb files complete (0 cached, 1767 parsed). 2416 targets, 148 skipped, 0 masked, 0 errors.
    ERROR: Nothing PROVIDES ‘rpi-hwup-im’. Close matches:
    rpi-hwup-image

    Could you please give me a hint what I could have done wrong?? I followed word-by-word the instructions above.

    Thanks!

  8. Hi all,
    I took the tizen prebuilt images for the rpi 2 . After flashing , put the sd card into the board . I was able to see some log on the serial port. I was not able to see the display . I am seeing the systemd related error messages in the log .

    Below is the log which i got .

    Any help from you is appreciate .
    Thanks in advance.

    Log::

    [ 0.000000] Booting Linux on physical CPU 0xf00
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Initializing cgroup subsys cpuacct
    [ 0.000000] Linux version 4.1.0 (b.pearson@SAL-Headnode) (gcc version 4.9.1 (GCC) ) #1 SMP PREEMPT Tue Aug 11 13:09:40 PDT 2015
    [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: Raspberry Pi 2 Model B Rev 1.1
    [ 0.000000] cma: Reserved 8 MiB at 0x3a800000
    [ 0.000000] Memory policy: Data cache writealloc
    [ 0.000000] On node 0 totalpages: 241664
    [ 0.000000] free_area_init_node: node 0, pgdat 808eaec0, node_mem_map b9fa6000
    [ 0.000000] Normal zone: 2124 pages used for memmap
    [ 0.000000] Normal zone: 0 pages reserved
    [ 0.000000] Normal zone: 241664 pages, LIFO batch:31
    [ 0.000000] [bcm2709_smp_init_cpus] enter (9420->f3003010)
    [ 0.000000] [bcm2709_smp_init_cpus] ncores=4
    [ 0.000000] PERCPU: Embedded 13 pages/cpu @b9f65000 s20608 r8192 d24448 u53248
    [ 0.000000] pcpu-alloc: s20608 r8192 d24448 u53248 alloc=13*4096
    [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 239540
    [ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=480 bcm2709.boardrev=0xa01041 bcm2709.serial=0x794a7d68 smsc95xx.macaddr=B8:27:EB:4A:7D:68 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 init=/lib/systemd/systemd rw rootwait debug
    [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Memory: 938948K/966656K available (6250K kernel code, 534K rwdata, 1924K rodata, 424K init, 757K bss, 19516K reserved, 8192K cma-reserved)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 – 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 – 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xbb800000 – 0xff000000 (1080 MB)
    [ 0.000000] lowmem : 0x80000000 – 0xbb000000 ( 944 MB)
    [ 0.000000] modules : 0x7f000000 – 0x80000000 ( 16 MB)
    [ 0.000000] .text : 0x80008000 – 0x80803d10 (8176 kB)
    [ 0.000000] .init : 0x80804000 – 0x8086e000 ( 424 kB)
    [ 0.000000] .data : 0x8086e000 – 0x808f3b94 ( 535 kB)
    [ 0.000000] .bss : 0x808f3b94 – 0x809b118c ( 758 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Additional per-CPU info printed with stalls.
    [ 0.000000] NR_IRQS:608
    [ 0.000000] Architected cp15 timer(s) running at 19.20MHz (virt).
    [ 0.000000] clocksource arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
    [ 0.000012] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
    [ 0.000034] Switching to timer-based delay loop, resolution 52ns
    [ 0.000324] Console: colour dummy device 80×30
    [ 0.002347] console [tty1] enabled
    [ 0.002405] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
    [ 0.002504] pid_max: default: 32768 minimum: 301
    [ 0.002907] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.002975] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.004298] Initializing cgroup subsys blkio
    [ 0.004381] Initializing cgroup subsys memory
    [ 0.004454] Initializing cgroup subsys devices
    [ 0.004516] Initializing cgroup subsys freezer
    [ 0.004592] Initializing cgroup subsys net_cls
    [ 0.004723] CPU: Testing write buffer coherency: ok
    [ 0.004845] ftrace: allocating 21021 entries in 62 pages
    [ 0.056079] CPU0: update cpu_capacity 1024
    [ 0.056166] CPU0: thread -1, cpu 0, socket 15, mpidr 80000f00
    [ 0.056214] [bcm2709_smp_prepare_cpus] enter
    [ 0.056372] Setting up static identity map for 0x8240 – 0x8274
    [ 0.115927] [bcm2709_boot_secondary] cpu:1 started (0) 17
    [ 0.116238] [bcm2709_secondary_init] enter cpu:1
    [ 0.116294] CPU1: update cpu_capacity 1024
    [ 0.116302] CPU1: thread -1, cpu 1, socket 15, mpidr 80000f01
    [ 0.135916] [bcm2709_boot_secondary] cpu:2 started (0) 17
    [ 0.136165] [bcm2709_secondary_init] enter cpu:2
    [ 0.136195] CPU2: update cpu_capacity 1024
    [ 0.136203] CPU2: thread -1, cpu 2, socket 15, mpidr 80000f02
    [ 0.155954] [bcm2709_boot_secondary] cpu:3 started (0) 18
    [ 0.156134] [bcm2709_secondary_init] enter cpu:3
    [ 0.156162] CPU3: update cpu_capacity 1024
    [ 0.156170] CPU3: thread -1, cpu 3, socket 15, mpidr 80000f03
    [ 0.156262] Brought up 4 CPUs
    [ 0.156398] SMP: Total of 4 processors activated (153.60 BogoMIPS).
    [ 0.156441] CPU: All CPU(s) started in SVC mode.
    [ 0.157440] devtmpfs: initialized
    [ 0.181461] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
    [ 0.181824] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.183021] pinctrl core: initialized pinctrl subsystem
    [ 0.183850] NET: Registered protocol family 16
    [ 0.189757] DMA: preallocated 4096 KiB pool for atomic coherent allocations
    [ 0.191084] bcm2709.uart_clock = 3000000
    [ 0.197404] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [ 0.197479] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [ 0.197650] Serial: AMBA PL011 UART driver
    [ 0.197879] 3f201000.uart: ttyAMA0 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a PL011 rev2
    [ 0.726389] console [ttyAMA0] enabled
    [ 0.730873] bcm2708_vcio 3f00b880.mailbox: mailbox at f300b880
    [ 0.808468] bcm2708-dmaengine 3f007000.dma: DMA legacy API manager at f3007000, dmachans=0x7f35
    [ 0.817849] bcm2708-dmaengine 3f007000.dma: Load BCM2835 DMA engine driver
    [ 0.824756] bcm2708-dmaengine 3f007000.dma: dma_debug:0
    [ 0.830157] bcm_power: Broadcom power driver
    [ 0.834456] bcm_power_open() -> 0
    [ 0.837788] bcm_power_request(0, 8)
    [ 0.866971] bcm_mailbox_read -> 00000080, 0
    [ 0.871178] bcm_power_request -> 0
    [ 0.875208] SCSI subsystem initialized
    [ 0.879248] usbcore: registered new interface driver usbfs
    [ 0.884858] usbcore: registered new interface driver hub
    [ 0.890386] usbcore: registered new device driver usb
    [ 0.897528] Switched to clocksource arch_sys_counter
    [ 0.953568] FS-Cache: Loaded
    [ 0.956858] CacheFiles: Loaded
    [ 0.971600] NET: Registered protocol family 2
    [ 0.977309] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.984565] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [ 0.991263] TCP: Hash tables configured (established 8192 bind 8192)
    [ 0.997785] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [ 1.003781] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [ 1.010527] NET: Registered protocol family 1
    [ 1.015347] RPC: Registered named UNIX socket transport module.
    [ 1.021384] RPC: Registered udp transport module.
    [ 1.026113] RPC: Registered tcp transport module.
    [ 1.030859] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 1.038689] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
    [ 1.048275] futex hash table entries: 1024 (order: 4, 65536 bytes)
    [ 1.070404] VFS: Disk quotas dquot_6.6.0
    [ 1.074747] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 1.084393] FS-Cache: Netfs ‘nfs’ registered for caching
    [ 1.090908] NFS: Registering the id_resolver key type
    [ 1.096037] Key type id_resolver registered
    [ 1.100312] Key type id_legacy registered
    [ 1.107112] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    [ 1.114792] io scheduler noop registered
    [ 1.118835] io scheduler deadline registered
    [ 1.123459] io scheduler cfq registered (default)
    [ 1.130750] BCM2708FB: allocated DMA memory fac00000
    [ 1.135776] BCM2708FB: allocated DMA channel 0 @ f3007000
    [ 1.148033] Console: switching to colour frame buffer device 90×30
    [ 1.239402] KGDB: Registered I/O driver kgdboc
    [ 1.268341] vc-cma: Videocore CMA driver
    [ 1.274132] vc-cma: vc_cma_base = 0x00000000
    [ 1.280696] vc-cma: vc_cma_size = 0x00000000 (0 MiB)
    [ 1.287925] vc-cma: vc_cma_initial = 0x00000000 (0 MiB)
    [ 1.295342] vc-mem: phys_addr:0x00000000 mem_base=0x3dc00000 mem_size:0x3f000000(1008 MiB)
    [ 1.307758] [drm] Initialized drm 1.1.0 20060810
    [ 1.317185] vc4-drm soc:vc4@0x7e4c0000: bound 3fc00000.brcm,vc4-v3d (ops vc4_v3d_ops)
    [ 1.327160] vc4-drm soc:vc4@0x7e4c0000: bound 3f206000.brcm,vc4-pixelvalve (ops vc4_crtc_ops)
    [ 1.339524] vc4-drm soc:vc4@0x7e4c0000: bound 3f207000.brcm,vc4-pixelvalve (ops vc4_crtc_ops)
    [ 1.351960] vc4-drm soc:vc4@0x7e4c0000: bound 3f807000.brcm,vc4-pixelvalve (ops vc4_crtc_ops)
    [ 1.364539] [drm:vc4_hdmi_bind] *ERROR* Failed to get ddc i2c adapter by node
    [ 1.373875] vc4-drm soc:vc4@0x7e4c0000: failed to bind 3f902000.brcm,vc4-hdmi (ops vc4_hdmi_ops): -517
    [ 1.388445] vc4-drm soc:vc4@0x7e4c0000: master bind failed: -517
    [ 1.412523] brd: module loaded
    [ 1.427180] loop: module loaded
    [ 1.433610] vchiq: vchiq_init_state: slot_zero = 0xbac80000, is_master = 0
    [ 1.443748] Loading iSCSI transport class v2.0-870.
    [ 1.451892] usbcore: registered new interface driver smsc95xx
    [ 1.460032] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
    [ 1.668428] Core Release: 2.80a
    [ 1.673841] Setting default values for core params
    [ 1.680995] Finished setting default values for core params
    [ 1.889360] Using Buffer DMA mode
    [ 1.895054] Periodic Transfer Interrupt Enhancement – disabled
    [ 1.903291] Multiprocessor Interrupt Enhancement – disabled
    [ 1.911236] OTG VER PARAM: 0, OTG VER FLAG: 0
    [ 1.917942] Dedicated Tx FIFOs mode
    [ 1.924033] WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xbac14000 dma = 0xfac14000 len=9024
    [ 1.938648] FIQ FSM acceleration enabled for :
    [ 1.938648] Non-periodic Split Transactions
    [ 1.938648] Periodic Split Transactions
    [ 1.938648] High-Speed Isochronous Endpoints
    [ 1.963993] dwc_otg: Microframe scheduler enabled
    [ 1.970798] WARN::hcd_init_fiq:412: FIQ on core 1 at 0x8044317c
    [ 1.978744] WARN::hcd_init_fiq:413: FIQ ASM at 0x804434ec length 36
    [ 1.986960] WARN::hcd_init_fiq:438: MPHI regs_base at 0xbb8ac000
    [ 1.994903] dwc_otg 3f980000.usb: DWC OTG Controller
    [ 2.001827] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
    [ 2.011163] dwc_otg 3f980000.usb: irq 32, io mem 0x00000000
    [ 2.018720] Init: Port Power? op_state=1
    [ 2.024511] Init: Power Port (0)
    [ 2.029875] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 2.038598] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 2.047736] usb usb1: Product: DWC OTG Controller
    [ 2.054315] usb usb1: Manufacturer: Linux 4.1.0 dwc_otg_hcd
    [ 2.061782] usb usb1: SerialNumber: 3f980000.usb
    [ 2.069162] hub 1-0:1.0: USB hub found
    [ 2.074778] hub 1-0:1.0: 1 port detected
    [ 2.081064] dwc_otg: FIQ enabled
    [ 2.086023] dwc_otg: NAK holdoff enabled
    [ 2.091735] dwc_otg: FIQ split-transaction FSM enabled
    [ 2.098653] Module dwc_common_port init
    [ 2.104482] usbcore: registered new interface driver usb-storage
    [ 2.112465] mousedev: PS/2 mouse device common for all mice
    [ 2.119797] i2c /dev entries driver
    [ 2.125581] bcm2708_i2c 3f805000.i2c: BSC2 Controller at 0x3f805000 (irq 79) (baudrate 100000)
    [ 2.138929] bcm2835-cpufreq: min=600000 max=900000
    [ 2.145949] sdhci: Secure Digital Host Controller Interface driver
    [ 2.154029] sdhci: Copyright(c) Pierre Ossman
    [ 2.160703] mmc-bcm2835 3f300000.mmc: mmc_debug:0 mmc_debug2:0
    [ 2.168450] mmc-bcm2835 3f300000.mmc: DMA channels allocated
    [ 2.207896] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 2.221501] ledtrig-cpu: registered to indicate activity on CPUs
    [ 2.229718] hidraw: raw HID events driver (C) Jiri Kosina
    [ 2.238347] usbcore: registered new interface driver usbhid
    [ 2.245866] usbhid: USB HID core driver
    [ 2.254068] Initializing XFRM netlink socket
    [ 2.260309] NET: Registered protocol family 17
    [ 2.267752] Key type dns_resolver registered
    [ 2.274384] Registering SWP/SWPB emulation handler
    [ 2.277698] Indeed it is in host mode hprt0 = 00021501
    [ 2.289085] registered taskstats version 1
    [ 2.295319] vc-sm: Videocore shared memory driver
    [ 2.297627] mmc0: host does not support reading read-only switch, assuming write-enable
    [ 2.302152] mmc0: new high speed SDHC card at address aaaa
    [ 2.312223] mmcblk0: mmc0:aaaa SU08G 7.40 GiB
    [ 2.313913] mmcblk0: p1 p2
    [ 2.330660] [vc_sm_connected_init]: start
    [ 2.337244] [vc_sm_connected_init]: end – returning 0
    [ 2.345941] vc4-drm soc:vc4@0x7e4c0000: bound 3fc00000.brcm,vc4-v3d (ops vc4_v3d_ops)
    [ 2.356474] vc4-drm soc:vc4@0x7e4c0000: bound 3f206000.brcm,vc4-pixelvalve (ops vc4_crtc_ops)
    [ 2.368804] vc4-drm soc:vc4@0x7e4c0000: bound 3f207000.brcm,vc4-pixelvalve (ops vc4_crtc_ops)

  9. I also get this error message while building in Ubuntu 14.04 and it’s 32bit.

    $ bitbake rpi-hwup-image
    /…/tizen-distro/meta-tizen/meta-tizen-common-share/recipes-crosswalk/crosswalk/crosswalk_git.bb: Failure expanding variable do_fetch[file-checksums], expression was ${@bb.fetch.get_checksum_file_list(d)} which triggered exception MalformedUrl: The URL: ‘${INCLUDE_GYPI}’ is invalid and cannot be interpreted

    so, how do I fix this? or Ubuntu 14.04 is not supported? or should upgrade to 64bit?

  10. Hello all,
    I pulled the prebuilt binaries and tizen is running successful.
    But while installing new RPM giving error:-
    root@raspberrypi2:~# rpm -Uvh –nodeps –force com.samsung.test-0.0.01-1.armv7l.rpm
    Smackfs isn’t mounted at (null). Going to the image build mode.
    Preparing… ################################# [100%]
    package com.samsung.test-0.0.01-1.armv7l is intended for a different architecture

    If I use –ignorearch option while installing, RPM installation will be successful but
    running binary gives error as :-
    root@raspberrypi2:~# simpleclient
    -sh: /usr/bin/simpleclient: No such file or directory

    root@raspberrypi2:~# ll /usr/bin/simpleclient
    -rwxr-xr-x 1 root root ? 778260 Jan 11 2016 /usr/bin/simpleclient
    root@raspberrypi2:~# file /usr/bin/simpleclient
    /usr/bin/simpleclient: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.25, BuildID[sha1]=1f56a287ddc46e1fe77ec95c6590bb63270e1e89, stripped

    TIA.

  11. I’m trying to build an image on Ubuntu 14.04 (64 bit) following the newer guide, but it seems that there’s some complications trying to get the pam compiled. I tried pulling “origin/tizen-debianhost” but during the auto-merging, two conflicts came up (efl.inc and weston.inc).

    Kinda stuck now; anyone else have success building on Ubuntu 14.04? Is there some trick to getting pam? Any hints would be greatly appreciated.

  12. Hello,
    Is this project supported build Tizen with IVI profile?
    Could you please help to confirm?
    Thanks & Best Regards,
    Chi

Comments are closed.