Tag Archives: arm

ARM7 != ARMv7

ARM architecture is fun when it comes to names and numbers. And it is around 30 years old as well. So from time to time I have a discussion where I say something like in title…

There are few sources of mistakes when it comes to ARM. Family names, instruction sets, core names and marketing. Hard to tell which makes biggest mess…

Anything below ARMv7a is history — there is ARMology about it so please read it. But it does not mean that we have clear situation now :D

ARMv7a (and higher) means Cortex-A family. But due to companies like AllWinner and Apple we have it more complicated:

  • A4 is Apple cpu with Cortex-A8 core
  • A5 is low-end Cortex-A5 core but also Apple cpu with Cortex-A9 cores (there was also A5X)
  • A6 is Apple cpu with their own core (also A6X)
  • A7 is Cortex-A7 core but also Apple cpu with 64-bit ARMv8 cores
  • A8 is Cortex-A8 core (the only single core Cortex-A)
  • A9 is Cortex-A9 core
  • A10 is AllWinner cpu with Cortex-A8 core (there was also A10s)
  • A12 is Cortex-A12 core
  • A13 is AllWinner cpu with Cortex-A8 core (stripped down A10)
  • A15 is Cortex-A15 core
  • A17 is Cortex-A17 core
  • A20 is AllWinner cpu with Cortex-A7 cores
  • A23 is AllWinner cpu with Cortex-A7 cores
  • A31 is AllWinner cpu with Cortex-A7 cores (also A31s)
  • A53 is Cortex-A53 core (64-bit ARMv8)
  • A57 is Cortex-A57 core (64-bit ARMv8)
  • A80 is AllWinner cpu with eight cores (4xA7 + 4xA15)

There are also other Cortex cores but their name do not start with “A” :) But the good thing is that all ARMv7a cpus can run same code. ARMv8 ones can run own code — 32-bit support is optional. All all major distros like Debian, Fedora, OpenSUSE or Ubuntu work on support for both families.

UPDATE: Arnd Bergmann wrote in comment (switch to Blog below article) there is also A2, which is the PowerPC core used in BlueGene. Further, AMD has x86 CPUs called A4, A6, A8 and A10, which are also not ARM. Fun, isn’t it?

It is 10 years of Linux on ARM for me

It was somewhere between 7th and 11th February 2004 when I got package with my first Linux/ARM device. It was Sharp Zaurus SL-5500 (also named “collie”) and all started…

At that time I had Palm M105 (still own) and Sony CLIE SJ30 (both running PalmOS/m68k) but wanted hackable device. But I did not have idea what this device will do with my life.

Took me about three years to get to the point where I could abandon my daily work as PHP programmer and move to a bit risky business of embedded Linux consulting. But it was worth it. Not only from financial perspective (I paid more tax in first year then earned in previous) but also from my development. I met a lot of great hackers, people with knowledge which I did not have and I worked hard to be a part of that group.

I was a developer in multiple distributions: OpenZaurus, Poky Linux, Ångström, Debian, Maemo, Ubuntu. My patches landed also in many other embedded and “normal” ones. I patched uncountable amount of software packages to get them built and working. Sure, not all of those changes were sent upstream, some were just ugly hacks but this started to change one day.

Worked as distribution leader in OpenZaurus. My duties (still in free time only) were user support, maintaining repositories and images. I organized testing of pre-release images with over one hundred users — we had all supported devices covered. There was “updates” repository where we provided security fixes, kernel updates and other improvements. I also officially ended development of this distribution when we merged into Ångström.

I worked as one of main developers of Poky Linux which later became Yocto Linux. Learnt about build automation, QA control, build-after-commit workflow and many other things. During my work with OpenedHand I also spent some time on learning differences between British and American versions of English.

Worked with some companies based in USA. This allowed me to learn how to organize teamwork with people from quite far timezones (Vernier was based in Portland so 9 hours difference). It was useful then and still is as most of Red Hat ARM team is US based.

I remember moments when I had to explain what I am doing at work to some people (including my mom). For last 1.5 year I used to say “building software for computers which do not exist” but this is slowly changing as AArch64 hardware exists but is not on a mass market yet.

Now I got to a point when I am recognized at conferences by some random people when at FOSDEM 2007 I knew just few guys from OpenEmbedded (but connected many faces with names/nicknames there).

Played with more hardware then wanted. I still have some devices which I never booted (FRI2 for example). There are boards/devices which I would like to get rid of but most of them is so outdated that may go to electronic trash only.

But if I would have an option to move back that 10 years and think again about buying Sharp Zaurus SL-5500 I would not change it as it was one of the best things I did.

Crazy ARM Server hack idea

During break between talks I spoke with Rob Taylor and Andreia Gaita about lack of ARM powered servers. And then cute hack appeared in my head…

Rockchip released RK3268 (if I got numbers correctly) which uses four Cortex-A12 cores. There are HDMI dongles with it and 2 GB of ram.

So the idea is: we take 1U server case, glue as many dongles as we can and connect them with USB cables for power and network. Then put some OpenStack or other software to maintain a cloud and it may even work.

The problems Rob noted would be heat and lack of bandwidth. But it would be cute embedded nonsense hack.

Another distribution said goodbye to ARMv5 devices

Fedora 18 just became EOL. Most of the people do not care as F20 is present so they can run it on their PCs. But there is a group of users which may care.

All those people with ARMv5t hardware are left with Debian/armel now as there is no other big distribution supporting their devices anymore. Someone will ask “what about Ångström or Gentoo?” but who sane would build Gentoo on armv5te?

I do not remember when last time I used something with arm926 core (or similar – like Kirkwood). Probably few years ago when helped friend to get Sheevaplug booting into Debian.

But there are still Sheevaplugs, Guruplugs, *plugs and QNAP devices out there serving their users with selected services. And some of their owners will have to decide what next…

New boot setup of my Chromebook

After several recompilations I finally got what I wanted on my Chromebook. Clean and easy way of booting own kernel.

Now situation is clean and easy:

  • power on Chromebook
  • ChromeOS U-Boot from SPI flash starts
  • white screen of warning appears
  • Ctrl-d to skip it
  • U-Boot starts from mmcblk0p1
  • U-Boot reads boot.txt from mmcblk0p2 (ext2 /boot/ partition)
  • U-Boot reads uImage kernel and exynos5250-snow.dtb file from mmcblk0p2
  • Kernel boots directly to Fedora F19 stored on mmcblk0p3

This way I can quickly test mainline kernels (but this may require U-Boot change for simplefb support), manipulate 3.[48]-chromeos ones etc.

Next step would be replace bootloader stored in SPI flash but this voids warranty so let it wait a bit.

I am going with Fedora on Chromebook

Now when mainline kernel boots fine on Samsung ARM Chromebook I think that it is a time for me to end my work on Ubuntu support for this device.

Those few who use Ubuntu 13.04 or later: nothing will change for you probably. Kernel from repository is old and should be refreshed to at least same as Chrome OS is using. But during last few months no one tried to get it working so for me it looks like lack of interest.

Anyway I will need development machine for my work at Red Hat. So soon Ubuntu 13.10 gets replaced with Fedora 19 “remix” with 3.4 or 3.8 kernel first probably (for USB 3.0 and audio) and then sooner or later switch to mainline.