Fedora 22 was released today for x86, and almost simultaneously for aarch64. I have already built a virt-builder image, so you can install it immediately (either on real hardware or under virtualization on x86):
$ virt-builder --arch aarch64 fedora-22
To boot this on x86, use a slightly modified version of the instructions from here:
$ wget http://libguestfs.org/download/builder/fedora-22-aarch64-nvram.xz
$ unxz fedora-22-aarch64-nvram.xz
$ qemu-system-aarch64 -nodefconfig -nodefaults -display none \
-M virt -cpu cortex-a57 -machine accel=tcg \
-m 2048 \
-drive if=pflash,format=raw,file=/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw,readonly \
-drive if=pflash,format=raw,file=fedora-22-aarch64-nvram \
-device virtio-scsi-device,id=scsi \
-drive file=fedora-22.img,format=raw,if=none,id=hd0 \
-device scsi-hd,drive=hd0 \
-netdev user,id=usernet \
-device virtio-net-device,netdev=usernet \
Never heard of the company or of their 64 bit ARM SoC, but there is a press release here.
Just looking at the Debian Ports page, how many of these architectures do I own?
|| Good, working Alpha hardware is getting hard to obtain these days.
| amd64 (x86-64)
|| Obviously …
| ARM (32 bit)
|| I don’t really care about anything less than ARM version 7 these days, although I do have a Sheevaplug which I think is v5 or v6. My “go-to” 32 bit ARM board is the Cubietruck.
| ARM (64 bit)
|| I don’t own, but have under my desk at work, the Applied Micro X-gene (picture), and a lovely piece of kit it is too.
|I would love to get my hands on some HP-PA RISC hardware, but it’s even harder to get hold of than Alpha. Edit: If you really want HP PA then the HP C8000 workstation is available on eBay for $300 or so.
|| I own a Lenovo X60s laptop, which is one of the few 32 bit Intel processors with (very slow) hardware virtualization
|| HP Itanium RX2620
|| As I started out my professional career writing 68k assembler, I’d love to buy an MVME crate, but incredibly they go for upwards of $1000 on ebay, even 20 years after they stopped being made.
|| I just bought the MIPS Creator CI20. I don’t own any Big Endian MIPS hardware, nor any 64 bit MIPS hardware.
|| I have this burned into an FPGA, but in storage.
| PPC (32 bit)
|| I recently sent a couple of old 32 bit Mac G4s to recycling.
| PPC/POWER (64 bit)
|| I own a Mac G5 running Linux (picture). However I don’t own, and as far as I know cannot get my hands on any of the more interesting POWER7 or POWER8 hardware, although I have remote access to it through Red Hat.
|| Similar to ppc64, no possible way to own it, but I am able to remote access it through Red Hat.
| SPARC (32 bit)
|| Currently sitting in storage, but it’s there and it used to run Linux, albeit with only 128 MB of RAM
| SPARC (64 bit)
|| Is it possible to buy 64 bit SPARC hardware for a reasonable price?
Looks like I’m about half way there!
You can use virt-builder to make Fedora 21 aarch64 guests easily:
$ virt-builder --arch aarch64 fedora-21
but unless you have real aarch64 hardware, how do you boot them?
Well the latest qemu supports working system emulation for 64 bit ARM. So assuming you (a) have compiled a very new
qemu-system-aarch64 (I recommend qemu from git), and (b) you have the AAVMF (UEFI for aarch64) firmware, then:
$ qemu-system-aarch64 \
-nodefconfig -nodefaults -display none \
-M virt -cpu cortex-a57 -machine accel=tcg -m 2048 \
-drive if=pflash,format=raw,file=AAVMF_CODE.fd,readonly \
-drive if=pflash,format=raw,file=vars.fd \
-drive file=fedora-21.img,format=raw,if=none,id=hd0 \
-device virtio-blk-device,drive=hd0 \
-netdev user,id=usernet \
-device virtio-net-device,netdev=usernet \
And that will boot the aarch64 guest.
Edit: If using Gerd’s AAVMF repo, replace
Why has wordpress.com decided to break all inline images in postings?
If you have ARM 64 bit hardware, you can now use virt-builder to create Fedora 21 guests …
$ virt-builder fedora-21
[ 1.0] Downloading: http://libguestfs.org/download/builder/fedora-21-aarch64.xz
[ 5.0] Planning how to build this image
[ 5.0] Uncompressing
[ 12.0] Opening the new disk
[ 44.0] Setting a random seed
[ 44.0] Setting passwords
virt-builder: Setting random password of root to JRjjjDxEfsZuCWca
[ 47.0] Finishing off
Output file: fedora-21.img
Output size: 4.0G
Output format: raw
Total usable space: 5.2G
Free space: 4.4G (85%)
I’m thankful to Pino Toscano for adding multi-architecture support to virt-builder a while back.
As shown above, virt-builder will pick the right architecture corresponding to the host, or you can override its choice by using
OpenStack can now be installed using Fedora 21 or Rawhide, on aarch64 hardware.
You have to use the
packstack --allinone install method. Ceilometer doesn’t work because we don’t have mongodb on aarch64 yet, and there are a selection of bugs which you need to work around until they are fixed.
The big problem is I don’t have a convenient set of aarch64 cloud images to run on it yet 😦
Happy holidays everyone 🙂
 1170646 1174795 1174805 1175419 1175428 1175450 1175460 1175472
Pictured above is my 64 bit ARM server. It’s under NDA so I cannot tell you who supplied it or even show you a proper photo.
However it runs Fedora 21 & Rawhide:
Linux arm64.home.annexia.org 3.16.0-0.rc6.git1.1.efirtcfix1.fc22.aarch64 #1 SMP Wed Jul 23 12:15:58 BST 2014 aarch64 aarch64 aarch64 GNU/Linux
libvirt and libguestfs run fine, with full KVM acceleration, although right now you have to use qemu from git as the Rawhide version of qemu is not new enough.
Also OCaml 4.02.0 beta works (after we found and fixed a few bugs in the arm64 native code generator last week).
I was going to title this post something like “ARM – from miniscule to enormous” because it refers to the Cortex M0+ (check out this picture!) and the 64 bit ARMs processors. But since they are such radically different beasts which don’t even share the same instruction set, let’s say this is about two items produced by ARM Holdings.
Firstly I ordered
a two fun little Cortex-M0-based development boards, the Element 14 Freescale Freedom Board (buy here —You have to order two because they are individually too cheap to meet the minimum order value on the Farnell site).
This is very very different from the other ARM hardware I have, because you can’t run Linux on it (it has only 128 KB of programmable flash, and a mere 16 KB of running memory). Nevertheless, it’s a proper 32 bit processor which runs FORTH (eg) or you can program to the metal with ease.
Secondly, Linaro Connect Asia 2014 starts very early tomorrow morning (around 2am UTC, or about 7 hours from now). It looks like it will be streamed as Google Hangouts, and available on YouTube shortly after. There are interesting talks on virtualization, big.LITTLE scheduling and ARMv8 and Red Hat’s own Jon Masters is giving a keynote.
Update: Thanks to Peter Robinson, there is now a build of OCaml for aarch64 in the Fedora repository.
I have backported the upstream ARM64 support into Fedora 21’s OCaml, so you can now use it to generate native ARM64/AArch64 binaries. If you don’t have hardware, use qemu to emulate it instead.