Baikal T1 MIPS Processor – The Last of the Mohicans?

Last MIPS P5600 Development Board

CNXSoft: Guest post by Blu about Baikal T1 development board and SoC, potentially one of the last MIPS consumer grade platforms ever. It took me a long time to start writing this article, even though I had been poking at the test subject for months, and I felt during that time that there were findings worth sharing with fellow embedded devs. What was holding me back was the thought that I might be seeing one of the last consumer-grade specimen of a paramount ISA that once turned upside-down the CPU world. That thought was giving me mixed feelings of part sadness, part hesitation ‒ to not do some injustice to a possibly last-of-its-kind device. So it was with these feelings that I took to writing this article. But first, a short personal story. Two winters ago I was talking to a friend of mine over beers. We were discussing CPU architectures and hypothesizing on future CPU developments in the industry, …

How to Run Linux on RISC-V with QEMU Emulator

RISC-V open source architecture is starting to become more and more interesting thanks the growing RISC-V hardware & software ecosystem, and with the recent release of HiFive Unleashed, we even have a board capable of running Linux. The only problem: it costs $999. But luckily, it’s possible to experiment with Linux on RISC-V without extra hardware, just using your current PC. Imperas offers a commercial solution working on both Windows and Linux that relies on busybear-linux RISC-V Linux root filesystem comprised of busybox and dropbear SSH server. The rootfs also works with QEMU, so I tried it in Ubuntu 16.04. The instructions on Github are quite easy to follow. My computer is powered by an AMD FX8350 processor coupled with 16GB RAM, and the whole process took around 2 hours, so better use the fastest computer possible. It also requires around 26 GB of storage on your build machine. First, let’s create a working directory, and retrieve the RISC-V toolchain: …

Banana Pi M2 Ultra Allwinner R40 Development Board with SATA & GbE Sells for $46

Allwinner A10 and A20 processors have been quite popular in the past, since they could handle Fast or Gigabit Ethernet and SATA natively, included decent multimedia capabilities, and were found in low cost hardware such as Cubieboard 2 or MeLE A1000. Since then we’ve had a few boards with SATA using newer and faster processors without SATA IP, meaning it was usually implemented using a USB 2.0 to SATA bridge leading to mediocre to average performance depending on the implementation and selected bridge. Allwinner R40 is the successor of Allwinner R20 with a faster quad core Cortex A7 processor, but keeping Gigabit Ethernet, SATA, and most features of its predecessor. The good news is that Banana Pi has now launched the promised M2 Ultra development board based on the new processor for $45.80 + shipping on Aliexpress (Total for me: $48.35). Banana Pi M2 Ultra specifications: SoC – Allwinner R40 quad Core ARM Cortex A7 processor with ARM Mali-400MP2 GPU …

BusyBotNet is a Fork of Busybox with Security Tools

Busybox provides a lightweight version of common command line utilities normally found on “big” Linux into a single binary, in order to bring them to embedded systems with limited memory and storage. As more and more embedded systems are now connected to the Internet, or as they are called nowadays the Internet of Things nodes, adding security tools, such as cryptographic utilities, could prove useful for administrators of such system, and so BusyBotNet project wsa born out of a fork of Busybox. Some of the tools implemented include: fenc to encrypt stuff with salsa algo tsh. needs work, backdoor shell aes enc rathole backdoor shell, blowfish enc ssyn2 ddos tool sudp udp ddos tool jshon sh wrapper for json hydra prism userspace icmp triggered reverse shell backdoor You can access the source code and instructions on busyboxnet github repo. I’ve quickly tried it in my AMD x86 computer running Ubuntu 14.04 using BusyBotNet default settings: You could run make menuconfig …

DIY Stripboard/Veroboard Enclosure for Raspberry Pi (Part 2)

Following up my previous post entitled “DIY Modular Stripboard / Perfboard Casing for Raspberry Pi (Part 1)” where I explained how I created an modular enclosure made of perfboard, or the overall concept, I’ve now designed two “smart” sides for the enclosure: a 16-LED stripboard side, and a 5V relay stripboard side. Today, I’ll detail how I’ve done this, with details about electronics, soldering, assembly, the Linux distribution (built with Yocto), as well C programs, HTML page, and (CGI) shell scripts used to light up the 16 LEDs, and control a standard 220V lamp with a relay via my phone’s web browser. 16-LED Stripboard Top Schematics, Soldering, and Testing I had decided to design the top board of the enclosure with several LEDs, 3 LEDs on both side, and a Raspberry fruit (6 red LED) and 2 leaves (4 green LED) in the middle. Before getting started, I did some experiment on a breadboard, and quickly discovered that 5V LEDs …

12MB Minimal Image for Raspberry Pi using the Yocto Project

Last year, I wrote instructions and provided a download link about a minimal image for Raspberry Pi based on Raspbian. The compressed image is 84MB, and the good thing about it is that you can just use apt-get to install packages. The problem is that it’s not actually that small as once it is uncompressed the rootfs is still a massive 414 MB. So today, I’ll explain how to create a smaller (and custom) image using the Yocto Project, a platform that let you build an embedded Linux distribution matching exactly your project’s requirements. Other advantages are that the build is configurable with config files, so it’s easily reproducible with a few command lines, and it might turn out to be useful to learn more about the Yocto Project as many boards and SoC are now making use of the framework, including Freescale i.MX6 (Wandboard, Olinuxino-imx233, Sabrelite, etc…), the Beagleboard, and Minnowboard to name a few. If you just want …

Monkey, an Open Source High Performance Embedded Web Server

Some time ago, I mentioned 5 web servers (mathopd, thttpd, busybox httpd, boa and lighttpd) suitable for embedded systems (including those featuring no MMU processors) and low end machines. I’ve recently come across Monkey web server, a lightweight open source Web Server for Linux (2.6.29 or greater), which has been designed with focus in embedded devices. Monkey is currently supported on ARM, x86 and x64, although a quick analysis of the source code shows it forks, so it won’t be supported on processors that do not feature a memory management unit (MMU) without modifications. Monkey supports the following features: HTTP/1.1 compliant Virtual Hosts Asynchronous networking model (event-driven) Indented configuration Plugins Support C API Interface Other features through base plugins: SSL Security Log writter Directory Listing Shell: Command line The developers have benchmarked Monkey against busybox httpd and nginx on a now well-know ARMv6 platform: the Raspberry Pi. They used Siege v.2.72 benchmarking tool to perform the tests instead of Apache …

Locux: 15 USD Freescale i.MX233 System On Module

These days, low cost boards seem to pop-up a bit everywhere…  Featuring the same processor as Olimex OLinuXino, the Locux board will be powered by a Freescale i.MX233 with 64 MB and boot from a microSD card (no NAND on the board). This project is quite different from other low cost board projects, since it is a system on module (SoM) and will require a carrier board to access peripherals such as Ethernet, USB Host and video output, although  the developers managed to boot it with a simple breadboard. The developers also explain that this board stands apart as it does not feature any BGA parts and can be hand soldered, which could be an advantage when sourcing the boards and some hobbyist may also like to do the soldering themselves. The Raspberry Pi is still hard to get and the some other low cost boards such as the Beaglebone and Beagleboard are not always in stock. The other ideas …