Posted on

ARM Server Linux Update, March 2016

It has been a few months since our last ARM Server update, and as usual, a lot has changed in just a short time!

The biggest and most important news is the launch of the Raspberry Pi 3, freshly upgraded to a quad-core 64-bit ARM processor from Broadcom, whereas all previous Raspberry Pi’s have been based on 32-bit processors. With 8 million units sold, the Raspberry Pi is by far the most popular ARM single board computer, so the move to a 64-bit processor will potentially add millions of units to the 64-bit ARM ecosystem.

In January, the AMD Opteron A1100 officially launched, which is also a 64-bit model. It is available in 3 different SKU’s with varying core count and speeds, and AMD is arguably the biggest name to launch an ARM Server SOC thus far.

The LeMaker Cello is a new board based on the 96Boards Enterprise Edition specification, utilizing one of the AMD Opteron processors. It has gigabit ethernet, DDR3 memory, SATA, and USB 3.0, so connectivity and data throughput should be excellent.

Finally, as part of the latest 96Boards Reference Software Platform, both Debian and CentOS are now supported for install, and a single 4.4 Kernel run the DragonBoard, HiKey, and HuskyBoard.

So there you have it. Just a few short months, and lots of change has happened in the ARM Server ecosystem (as usual)!

Posted on

ARM Linux Update, December 2015

Since our last update, quite a bit has happened in the Linux on ARM and ARM Server ecosystem. First and foremost, the price point for running a Linux ARM machine has reached a new low, only $5 USD! At the end of November, the Raspberry Pi Foundation released a new board known as the Raspberry Pi Zero, with a 1ghz ARM processor and 512mb of RAM running Raspbian (based on Debian Linux), at an incredible $5 price point. So, while it is not the exactly the fastest ARM PC around, it is still an amazing achievement and value for the $5 cost.

Previous low price leader CHIP from NextThingCo ($9 USD) began shipping to the early Kickstarter backers, though the bulk shipments won’t happen until next year. Following close behind at the $15 price point is the Orange Pi PC, running a quad-core Allwinner H3 with support for Debian, Fedora, Ubuntu, ArchLinux and more.

Another very interesting option is the new PINE64 board currently being funded on Kickstarter. This project promises to deliver Allwinner A64 processors, with 1gb or 2gb of RAM, also starting at $15. This will be the low cost leader for a 64-bit ARM processor board, coming in significantly cheaper than the $75 Qualcomm Dragonboard (although the Dragonboard is still the leader among *currently* shipping boards). According to the project, they are planning support for Ubuntu and Android.

On the server side, SoftIron has showed off their Overdrive 3000 server, based on the AMD Opteron A1100 processor. The Opteron A1100 is a 64-bit, 8-core, ARM Cortex-A57 design, and the Overdrive 3000 adds 16gb RAM, a 1TB hard drive, and 2 10gig Ethernet ports. The server is optimized for cloud, storage, and web based work, while reducing power consumption and TCO in the datacenter.

Looking back, 2015 saw a ton of progress in the ARM Linux ecosystem, and 2016 is shaping up to be just as exciting!

Posted on

Running Linux on the Allwinner A80 Optimusboard ARM Server (Part 2)

Previously, we discussed how to build Linux for the new Allwinner A80 Optimusboard ARM Microserver using the SDK.  Now, let’s go through the process of installing it to the board and getting Linux actually up and running.

We’ll pick up where we left off previously, with the build process having just completed.

Next, we are going to create an image that can be flashed via LiveSuit.  LiveSuit is going to need a rootfs.ext4 file as input for the process, and it will be looking in the A80/lichee/out/sun9iw1p1/dragonboard/common directory.  This file should have been created automatically during the build process.  After verifying it exists, we can run our ‘pack’ command.

./build.sh pack

If successful, you will get an output file of sun9iw1p1_dragonboard_optimus.img in the A80/lichee/tools/pack directory.  This is the file we will use in LiveSuit to push Linux to the Optimusboard.  Load LiveSuit from its directory via:

$./LiveSuit.sh

We need to choose the file to flash, so we navigate to the proper location and select our sun9iw1p1_dragonboard_optimus.img file.

The A80 Optimusboard does not have a dedicated FEL button on it like some other devices, so, to get the board ready for the flash we have to attach a Serial cable and manually intervene with it’s boot process.  We hook up the cable to the UART port, use the ‘screen’ command to capture the input and output, and plug it in to a USB port.  While the board initializes, we press any key on the keyboard to interrupt the autoboot and are presented with a command prompt.  The ‘efex’ command will launch FEL mode for us.

efex

The board will switch to FEL mode, and LiveSuit will automatically recognize that it is now ready to flash the image to the NAND.  It will take a couple of minutes to complete, and once done, we should now have Linux installed.  Leaving the console cable attached, we reboot the board, and we can now see that it boots up and has a Linux filesystem installed and running.  Keep in mind, its pretty minimal at this point, as we have not built a robust, feature rich environment like Ubuntu, Fedora, or other Linux distributions.  But this is a good base to build upon as we continue further development and leverage ARM processors for use as microservers.

linux-optimusboard

 

linux-optimusboard-1

 

linux-optimusboard-2

 

Posted on

How to Build Linux for the Allwinner A80 Optimusboard

With the recent leak of an SDK for the Allwinner A80 ARM processor, it is now possible to build Linux for the Optimusboard.  However, the SDK does not appear to be a final build, and has quite a few bugs that have to be squashed before the build will successfully complete.  Here are the steps required to get the Linux build to finish:

First, we have to download and extract the SDK from the Linux-Sunxi website:  http://dl.linux-sunxi.org/SDK/A80/A80_SDK_20140728_lichee.tar.gz

tar -xvf A80_SDK_20140728.tar.gz
cd lichee
./build.sh config

I have selected the following options:

@ubuntu:~/A80/lichee$ ./build.sh config
Welcome to mkscript setup progress
All available chips:
0. sun9iw1p1
Choice: 0
All available platforms:
0. android
1. dragonboard
2. linux
Choice: 2
All available kernel:
0. linux-3.4
Choice: 0
All available boards:
0. optimus
1. p1
2. perf
3. perf5
4. perf-lpddr3
Choice: 0

gedit lichee/buildroot/toolchain/toolchain-external/ext-tool.mk

In the last section, where the external toolchains are defined, update Line 127 to read:
TOOLCHAIN_EXTERNAL_SITE=http://www.mininodes.com/

./build.sh
gedit /lichee/out/sun9iw1p1/linux/common/buildroot/build/host-m4-1.4.15/lib/stdio.h

Edit Line 456, and change ‘gets’ to ‘fgets’

./build.sh

Download http://www.mininodes.com/fuse-exfat-0.9.5.tar.gz

tar -xvf fuse-exfat-0.9.5.tar.gz

Copy the contents to /lichee/out/sun9iw1p1/linux/common/buildroot/build/fuse-exfat-0.9.5

./build.sh
gedit /lichee/out/sun9iw1p1/linux/common/buildroot/.config

Edit Line 72, to point to miniNodes.com.
BR2_BACKUP_SITE=”http://www.mininodes.com/

./build.sh

Download http://www.mininodes.com/rzsz-3.48.tar.gz, and then copy it to /lichee/buildroot/dl/

./build.sh

The build should now complete successfully. Next time, we will discuss getting the newly built Linux written to an SD Card and boot up the Optimusboard straight to Linux!

Credit for many of the packages that we needed to self-host go to Qubir, who had the exact versions we needed for an A20 board he had hosted on https://github.com/qubir/phoenixA20_buildroot_sourcecode/tree/master/dl