U-Boot Now Supports UEFI on 32-bit and 64-bit ARM Platforms

Intel/AMD x86 based computers now boot via a standard UEFI binary, which can load grub2, allows you to update the command line as needed, or select different version of the Linux kernel. On ARM everything is a little more complicated and messy, as bootloaders such as U-boot need to support different configurations formats. Alexander Graf has been working on implementing UEFI support in U-boot, and it’s now supported by U-boot mainline and enabled by default for 32-bit and 64-bit ARM platforms, but not x86-64 (yet). That means you should now be able to boot any ARM boards supported by mainline U-boot through UEFI. Alexander gave a presentation about his work at an openSUSE event in June, and demonstrated u-boot with UEFI, and GRUB2 support with an openSUSE image running on a Raspberry Pi board. Thanks to David for the tip. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a […]

Google QUIC is a Secure UDP Protocol Aiming to Replace TCP + TLS

A lot of traffic over the Internet goes through  secure https connections. Under the hood this requires a 3-way handshake to establish a TCP connection, followed by even more packets exchanged between the client and server to negotiate TLS in order to establish a secure connection.  Google is now working one the new experimental QUIC protocol that uses the “send and forget” UDP protocol, together with its own crypto, and its own way to making sure the connection is properly establish. The whole idea about QUIC is to reduce the effect of latency (e.g. ping time) by exchanging less messages to achieve the same secure connectivity. For example, if there’s a 200ms latency between a server and a client, and if a TCP connection requires 4 packets, while a QUIC/UDP connection requires only 1 packet, you’ll save about 600ms. One downside with UDP according to Jim Roskind, designer of QUIC, […]

How to Resolve Slow Boot Times in Ubuntu 16.04

I’ve recently upgraded my machine from Ubuntu 14.04.4 to Ubuntu 16.04.1, but while my computer used to boot in about 40 seconds, after the upgrade boot times increased considerably to 2 to 3 minutes. The first easy check was to look at dmesg:

There’s a bit 87 seconds gap between checking for the floppy, and VirtualBox drivers loading. So there’s definitely an issue here, but the log does not exactly give a clear queue. I’ve read you could use systemd-analyze to find which process(es) may be slowing down your computer at boot time:

Two processes are taking close to 8 seconds, but those 16 seconds still do not explain why it takes 2 minutes more to boot…Eventually, I realized systemd-analyze has a few more tricks up its sleeves:

The first command shows there’s no problem with the kernel itself, and something is slow in user space. The […]

Minimal Ubuntu 16.04 Image for ODROID-C2, and C1/C1+ Boards, Ubuntu Core Image for Bubblegum-96 Board

If you’ve been wanting minimal Ubuntu distributions for your server, IoT, or other headless projects, there are some good news from Hardkernel with the release of a minimal Ubuntu 16.04 image for ODROID-C2 and ODROID-C1+ boards, and Canonical has recently announced Actions Semi S900 based BubbleGum-96 board was getting support for Ubuntu Core distribution. If you’re using an ODROID board you can download ubuntu64-16.04-minimal-odroid-c2-20160803.img.xz (196MB) firmware, which become 1.7 GB once uncompressed and flash it 2GB or greater micro SD card. After Raspberry Pi 2 and Samsung Artik 5/10, Bubblegum-96 is the third officially supported board that can run Ubuntu Core. You can download the 3.63GB beta image and instructions to flash it from an Ubuntu 16.04 machine on Mega. Bugglegum-96 is a 96boards compliant development board based on an quad core Cortex A53 processor with 2GB RAM and 8GB flash manufactured and sold by ucRobotics for $89. Jean-Luc Aufranc […]

Ubuntu 16.04.1 ISO Images Released for Intel Atom Bay Trail & Cherry Trail Compute Sticks

Canonical has recently released Ubuntu 16.04.1, which is now considered stable enough to update from Ubuntu 14.04.04 LTS, and while I could do that easily on my main machine using update-manager, upgrading to Ubuntu 16.04 on Intel Atom “Bay Trail” and “Cherry Trail” devices is a bit more complicated if you need audio & wireless networking (WiFi/Bluetooth) support since the kernel needs to be patched, and on top of that recent Linux kernels are not stable on such platforms without some extra hacks. Linuxium has done all the hard work, and created Ubuntu 16.04.1 ISO images for Intel Atom Compute Sticks with working audio, WiFi, Bluetooth, and “C-state” patchsets to avoid freezes. The images may also work on other devices, but this has not been tested so far. If you want to give it a try, you can download ubuntu-16.04.1-desktop-linuxium-ics.iso, and flash it to a USB drive with Rufus (Windows) […]

SolidRun ClearFog Base is a $90 Router/Networking Board with USB 3.0, M.2, mSATA, and Gigabit Ethernet Support

SolidRun introduced ClearFog Pro and Base board based on Marvell Armada 380/388 processor at the end of last year, but at the time, only the higher-end ClearFog Pro board was available for $170 and up. Now the company  has officially launched the cheaper ClearFog Base board based on the same processor, two Gigabit Ethernet RJ45 ports, one SFP cage, a USB 3.0 port, an M.2 slot, mPCIe expansion slot, and more. ClearFog Base board specifications: Processor – Marvell ARMADA 388 (88F6828) dual core ARMv7 processor (Cortex A9 class) @ up to 1.6 GHz with 1MB L2 cache, NEON and FPU System Memory –  1GB RAM by default (2GB optional) Storage – 1x micro SD slot, optional 4GB eMMC flash, 1x M.2 slot, 1x mSATA/mPCIE Connectivity – 2x dedicated Gigabit Ethernet ports, 1x SFP cage USB – 1x USB 3.0 port Expansions 1x mini PCI Express slots (shared with mSATA ) 1x […]

Samsung JerryScript is a Lightweight Open Source JavaScript Engine for the Internet of Things

In the old days, micro-controller programming was all done in assembly or C, but in recent years higher level languages, included interpreted ones such as Python and JavaScript, have made their ways into MCUs with projects such as MicroPython or Espruino (JS) often running on STMicro STM32 ARM Cortex M micro-controllers, but also other platforms such as ESP8266. As I browsed through the Embedded Linux Conference Europe 2016 schedule, I discovered that Samsung worked on it own implementation of a JavaScript engine for the Internet of Things: JerryScript. It is a full implementation of ECMAScript 5.1 standard written in C that can run on micro-controllers with less than 64KB RAM, and less than 200KB storage (160KB footprint with ARM Thumb-2 compilation). JerryScript is comprised of two main components: Parser and Virtual Machine (VM), with the parser performing translation of input ECMAScript application into byte-code than is then executed by the Virtual […]

Embedded Linux Conference & IoT Summit Europe 2016 Schedule

Embedded Linux Conference & IoT summit 2016 first took place in the US in April, but the events are now also scheduled in Europe on October 11 – 13 in Berlin, Germany, and the schedule has now been published. Even if you are no going to attend, it’s always interesting to find out more about the topic covered in that type of events, so I had a look, and created my own virtual schedule with some of the sessions. Tuesday, October 11 10:40 – 11:30 – JerryScript: An Ultra-lightweight JavaScript Engine for the Internet of Things – Tilmann Scheller, Samsung Electronics JerryScript is a lightweight JavaScript engine designed to bring the success of JavaScript to small IoT devices like lamps, thermometers, switches and sensors. This class of devices tends to use resource-constrained microcontrollers which are too small to fit a large JavaScript engine like V8 or JavaScriptCore. JerryScript is heavily […]