Tizen+RPI2

April 18, 2015 - Mauro Carvalho Chehab

Bringing Tizen to a Raspberry PI 2 Near You…

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:

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:

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:

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:

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:

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:

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

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

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

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:

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:

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:

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:

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

About Mauro Carvalho Chehab

Mauro is the upstream maintainer of the Linux kernel media and EDAC subsystems, and also a major contributor for the Reliability Availability and Serviceability (RAS) subsystems. Mauro also maintains Tizen on Yocto packages upstream. He works for the Samsung Open Source Group since 2013. Has worked during 5 years at the Red Hat RHEL Kernel team, having broad experience in telecommunications due to his work at some of the Brazilian largest wired and wireless carriers.

Embedded Technology / Linux / Tizen Port / Raspberry PI2 / Tizen /

Comments

  • Guy Martin Guy Martin says:

    For those that don’t want to go through the full build process, we have, by popular demand, placed a pre-compiled version here:

    http://files.s-osg.org/tizen-on-rpi2/

    Enjoy!

    • 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

      • 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?

        • 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.

          • Derek Foreman Derek Foreman says:

            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…

        • Christian Daudt says:

          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.

  • […] hecho como confiesan los desarrolladores en el blog oficial, de entrada Tizen ya funcionaba en una Raspberry Pi 2, aunque había algunos problemas con los […]

  • Andrea Giammarchi says:

    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

    • Mauro Carvalho Chehab says:

      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.

      • Andrea Giammarchi says:

        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.

  • Mark Birss says:

    Mauro,

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

    .

  • Oliver says:

    Nice work, would it work for the Raspberry ‘1’ B+ setting the MACHINE variable?

    • Mauro Carvalho Chehab says:

      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?

      • Oliver says:

        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

        • RzR says:

          @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.

  • d says:

    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….

  • […] full article can be found here and will show you how to build and flash a Tizen OS on to the Raspberry PI […]

  • David says:

    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.

    • Mauro Carvalho Chehab says:

      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.

  • […] Bringing Tizen to a Raspberry PI 2 Near You… I described the work we completed to port Tizen to Raspberry Pi 2. Since then, the Samsung Open […]

  • Woochang Kim says:

    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.

    • 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/

      • Woochang Kim says:

        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.

        • Woochang Kim says:

          root password is “root”.
          Thanks.

          • Siva says:

            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.

  • Khang LE TRUONG says:

    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

  • Georgi says:

    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!

  • Siva says:

    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)

  • SeanPark says:

    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?

  • sandeep says:

    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.

  • […] Derek provided fixes for the VC4 DRM driver (used in the RaspberryPi 2) to allow the vblank to be disabled and to use the fbdev CMA helpers to free and restore the framebuffer. These fixes were made as a part of our work porting Tizen to the RPI2. […]

  • Kevin Welsh says:

    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.

  • Chi Vo says:

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

Leave a Reply

Your email address will not be published. Required fields are marked *

Comments Protected by WP-SpamShield Anti-Spam