Posted on Leave a comment

Join Forces Against Natural Disasters with the Call for Code

The Call for Code initiative aims to harness the collective power of the global open source developer community against the growing threat of natural disasters. According to IBM, “the goal is to develop technology solutions that significantly improve disaster preparedness, provide relief from devastation caused by fires, floods, hurricanes, tsunamis and earthquakes, and benefit Call for Code’s charitable partners — the United Nations Human Rights Office and the American Red Cross.”

In a recent webcast — How 22M Developers Take on Disaster Preparedness — Mary Glackin, SVP of Science & Forecast at The Weather Company and IBM Business, spoke with representatives from participating organizations about the initiative and some of the specific goals it aims to achieve.

The Call for Code is “encouraging the global community of developers to stand up for the rights of others,” said Laurent Sauveur, Chief of External Relations, UN Human Rights.   

We invite you to amplify the initiative and join the call. You can learn more about the Call for Code and watch the complete webcast here: http://ibm.biz/BdYxHZ.

Read more at The Linux Foundation

Posted on Leave a comment

New Training Options Address Demand for Blockchain Skills

Blockchain technology is transforming industries and bringing new levels of trust to contracts, payment processing, asset protection, and supply chain management. Blockchain-related jobs are the second-fastest growing in today’s labor market, according to TechCrunch. But, as in the rapidly expanding field of artificial intelligence, there is a pronounced blockchain skills gap and a need for expert training resources.

Blockchain for Business

A new training option was recently announced from The Linux Foundation. Enrollment is now open for a free training course called Blockchain: Understanding Its Uses and Implications, as well as a Blockchain for Business professional certificate program. Delivered through the edX training platform, the new course and program provide a way to learn about the impact of blockchain technologies and a means to demonstrate that knowledge. Certification, in particular, can make a difference for anyone looking to work in the blockchain arena.

“In the span of only a year or two, blockchain has gone from something seen only as related to cryptocurrencies to a necessity for businesses across a wide variety of industries,” said Linux Foundation General Manager, Training & Certification Clyde Seepersad. “Providing a free introductory course designed not only for technical staff but business professionals will help improve understanding of this important technology, while offering a certificate program through edX will enable professionals from all over the world to clearly demonstrate their expertise.”

TechCrunch also reports that venture capital is rapidly flowing toward blockchain-focused startups. And, this new program is designed for business professionals who need to understand the potential – or threat – of blockchain to their company and industry.

“Professional Certificate programs on edX deliver career-relevant education in a flexible, affordable way, by focusing on the critical skills industry leaders and successful professionals are seeking today,” said Anant Agarwal, edX CEO and MIT Professor.

Hyperledger Fabric

The Linux Foundation is steward to many valuable blockchain resources and includes some notable community members. In fact, a recent New York Times article — “The People Leading the Blockchain Revolution” — named Brian Behlendorf, Executive Director of The Linux Foundation’s Hyperledger Project, one of the top influential voices in the blockchain world.

Hyperledger offers proven paths for gaining credibility and skills in the blockchain space. For example, the project offers a free course titled Introduction to Hyperledger Fabric for Developers. Fabric has emerged as a key open source toolset in the blockchain world. Through the Hyperledger project, you can also take the B9-lab Certified Hyperledger Fabric Developer course. More information on both courses is available here.

“As you can imagine, someone needs to do the actual coding when companies move to experiment and replace their legacy systems with blockchain implementations,” states the Hyperledger website. “With training, you could gain serious first-mover advantage.”

Posted on Leave a comment

AGL Outlines Virtualization Scheme for the Software Defined Vehicle

Last August when The Linux Foundation’s Automotive Grade Linux (AGL) project released version 4.0 of its Linux-based Unified Code Base (UCB) reference distribution for automotive in-vehicle infotainment, it also launched a Virtualization Expert Group (EG-VIRT). The workgroup has now released a white paper outlining a “virtualized software defined vehicle architecture” for AGL’s UCB codebase.

The paper explains how virtualization is the key to expanding AGL from IVI into instrument clusters, HUDs, and telematics. Virtualization technology can protect these more safety-critical functions from less secure infotainment applications, as well as reduce costs by replacing electronic hardware components with virtual instances. Virtualization can also enable runtime configurability for sophisticated autonomous and semi-autonomous ADAS applications, as well as ease software updates and streamline compliance with safety critical standards.

The paper also follows several recent AGL announcements including the addition of seven new members: Abalta Technologies, Airbiquity, Bose, EPAM Systems, HERE, Integrated Computer Solutions, and its first Chinese car manufacturer — Sitech Electric Automotive. These new members bring the AGL membership to more than 120. 

AGL also revealed that Mercedes-Benz Vans is using its open source platform as a foundation for a new onboard OS for commercial vehicles. AGL will play a key role in the Daimler business unit’s “adVANce” initiative for providing “holistic transport solutions.” These include technologies for integrating connectivity, IoT, innovative hardware, on-demand mobility and rental concepts, and fleet management solutions for both goods and passengers.

The Mercedes-Benz deal follows last year’s announcement that AGL would appear in 2018 Toyota Camry cars. AGL has since expanded to other Toyota cars including the 2018 Prius PHV.

An open-ended approach to virtualization

Originally, the AGL suggested that EG-VIRT would identify a single hypervisor for an upcoming AGL virtualization platform that would help consolidate infotainment, cluster, HUD, and rear-seat entertainment applications over a single multicore SoC. A single hypervisor (such as the new ACRN) may yet emerge as the preferred technology, but the paper instead outlines an architecture that can support multiple, concurrent virtualization schemes. These include hypervisors, system partitioners, and to a lesser extent, containers.

Virtualization benefits for the software defined vehicle

Virtualization will enable what the AGL calls the “software defined vehicle” — a flexible, scalable “autonomous connected automobile whose functions can be customized at run-time.” In addition to boosting security, the proposed virtualization platform offers benefits such as cost reductions, run-time flexibility for the software-defined car, and support for mixed criticality systems:

  • Software defined autonomous car — AGL will use virtualization to enable runtime configurability and software updates that can be automated and performed remotely. The system will orchestrate multiple applications, including sophisticated autonomous driving software, based on different licenses, security levels, and operating systems.

  • Cost reductions — The number of electronic control units (ECUs) — and wiring complexity — can be reduced by replacing many ECUs with virtualized instances in a single multi-core powered ECU. In addition, deployment and maintenance can be automated and performed remotely. EG-VIRT cautions, however, that there’s a limit to how many virtual instances can be deployed and how many resources can be shared between VMs without risking software integration complexity.

  • Security — By separating execution environments such as the CPU, memory, or interfaces, the framework will enable multilevel security, including protection of telematics components connected to the CAN bus. With isolation technology, a security flaw in one application will not affect others. In addition, security can be enhanced with remote patch updates.

  • Mixed criticality — One reason why real-time operating systems (RTOSes) such as QNX have held onto the lead in automotive telematics is that it’s easier to ensure high criticality levels and comply with Automotive Safety Integrity Level (ASIL) certification under ISO 26262. Yet, Linux can ably host virtualization technologies to coordinate components with different levels of criticality and heterogeneous levels of safety, including RTOS driven components. Because many virtualization techniques have a very limited footprint, they can enable easier ASIL certification, including compliance for concurrent execution of systems with different certification levels.

IVI typically requires the most basic ASIL A certification at most. Instrument cluster and telematics usually need ASIL B, and more advanced functions such as ADAS and digital mirrors require ASIL C or D. At this stage, it would be difficult to develop open source software that is safety-certifiable at the higher levels, says EG-VIRT. Yet, AGL’s virtualization framework will enable proprietary virtualization solutions that can meet these requirements. In the long-term, the Open Source Automation Development Lab is working on potential solutions for Safety Critical Linux that might help AGL meet the requirements using only open source Linux.</ul>

Building an open source interconnect

The paper includes the first architecture diagrams for AGL’s emerging virtualization framework. The framework orchestrates different hypervisors, VMs, AGL Profiles, and automotive functions as interchangeable modules that can be plugged in at compilation time, and where possible, at runtime. The framework emphasizes open source technologies, but also supports interoperability with proprietary components.

The AGL application framework already supports application isolation based on namespaces, cgroups, and SMACK. The framework “relies on files/processes security attributes that are checked by the Linux kernel each time an action processes and that work well combined with secure boot techniques,” says EG-VIRT. However, when multiple applications with different security and safety requirements need to be executed, “the management of these security attributes becomes complex and there is a need of an additional level of isolation to properly isolate these applications from each other…This is where the AGL virtualization platform comes into the picture.”

To meet EG-VIRT’s requirements, compliant hardware virtualization solutions must enable CPU, cache, memory, and interrupts to create execution environments (EEs) such as Arm Virtualization Extensions, Intel VT-x, AMD SVM, and IOMMU. The hardware must also support a trusted computing module to isolate safety-security critical applications and assets. These include Arm TrustZone, Intel Trusted Execution Technology, and others. I/O virtualization ​support for GPU and connectivity sharing is optional.

The AGL virtualization platform does not need to invent new hypervisors and EEs, but it does need a way to interconnect them. EG-VIRT is now beginning to focus on the development of an open source communication bus architecture that comprises both critical and non-critical buses. The architecture will enable communications between different virtualization technologies such as hypervisors and different virtualized EEs such as VT-x while also enabling direct communication between different types of EEs.

Potential AGL-compliant hypervisors and partitioners

The AGL white paper describes several open source and proprietary candidates for hypervisor and system partitioners. It does not list any containers, which create abstraction starting from the layers above the Linux kernel.

Containers are not ideal for most connected car functions. They lack guaranteed hardware isolation or security enforcement, and although they can run applications, they cannot run a full OS. As a result, AGL will not consider containers for safety and real time workloads, but only within non-safety critical systems, such as for IVI application isolation.

Hypervisors, however, can meet all these requirements and are also optimized for particular multi-core SoCs. “Virtualization provides the best performance in terms of security, isolation and overhead when supported directly by the hardware platform,” says the white paper.

For hypervisors, the open source options listed by EG-VIRT include Xen, Kernel-based Virtual Machine (KVM), the L4Re Micro-Hypervisor, and ACRN. The latter was announced as a new Linux Foundation embedded reference hypervisor project in March. The Intel-backed, BSD-licensed ACRN hypervisor provides workload prioritization and supports real-time and safety-criticality functions. The lightweight ACRN supports other embedded applications in addition to automotive.

Commercial hypervisors that will likely receive support in the AGL virtualization stack include the COQOS Hypervisor SDK, SYSGO PikeOS, and the Xen-based Crucible and Nautilus. The latter was first presented by the Xen Project as a potential solution for AGL virtualization back in 2014. There’s also the Green Hills Software Integrity Multivisor. Green Hills announced AGL support for Integrity earlier this month.

Unlike hypervisors, system partitioners do not tap specific virtualization functions within multi-core SoCs, and instead run as bare-metal solutions. Only two open source options were listed: Jailhouse and the Arm TrustZone based Arm Trusted Firmware (ATF). The only commercial solution included is the TrustZone based VOSYSmonitor.

In conclusion, EG-VIRT notes that this initial list of potential virtualization solutions is “non-exhaustive,” and that “the role of EG-VIRT has been defined as virtualization technology integrator, identifying as key next contribution the development of a communication bus reference implementation…” In addition: “Future EG-VIRT activities will focus on this communication, on extending the AGL support for virtualization (both as a guest and as a host), as well as on IO devices virtualization (e.g., GPU).”

Download the free white paper to learn more and join us at Open Source Summit + Embedded Linux Conference Europe in Edinburgh, UK on October 22-24, 2018, for 100+ sessions on Linux, Cloud, Containers, AI, Community, and more.

Posted on Leave a comment

Decreasing Vulnerabilities Seen in Red Hat Linux

As usual there’s been a flurry of activity in the cloud and DevOps security space recently. In case you missed it, a particularly painful flaw was found in Red Hat Enterprise Linux’s DHCP (Dynamic Host Configuration Protocol) service not long ago.

The bug specifically affects RHEL 6 and 7 (and derivative OS, Fedora 28, apparently). The CVE folks allocated the following ID to it in case you want to look it up: CVE-2018-1111. What’s important to note about this discovery is that DHCP (the service which asks a DHCP server for a (usually) temporary IP address and then binds it to one of the host’s network interfaces) is a sometimes forgotten cornerstone of our current tech stacks. Amazon’s EC2 for example shouts out to a DHCP server whenever an instance is spun up. As well as asking for an IP address, your servers will  usually pick up DNS servers from DHCP requests, too.

A descendant of BOOTP, a similar service from a time gone by, the pervasive DHCP bug is commonly used on your home networks, your mobile networks and beyond. According to Red Hat the bug affects the “dhclient”, in tandem with the “NetworkManager” daemon, and means that “A malicious DHCP server, or an attacker on the local network able to spoof DHCP responses, could use this flaw to execute arbitrary commands with root privileges on systems using NetworkManager and configured to obtain network configuration using the DHCP protocol.”

At first glance, this vulnerability might make the RHEL naysayers complain that there’s yet another security issue that only affects Red Hat and not other Linux flavors. And, that must therefore mean that the other distributions are better at securing their packages. However, they couldn’t be more wrong.

The commercial model that Red Hat Inc offer is based around supporting enterprises with their products, on a paid-for basis, along with some consultancy on top for good measure. They’ve been very successful and now their products are in use globally on many mission critical opensource server estates. Why is this relevant? Well, aside from the fact that the (free) CentOS Linux flavour benefits from the downstream improvements made by Red Hat, the community as a whole does in addition.

I normally find that it’s hard to know who to believe when a lofty claim is made in the relatively congested Internet giants’ space,  However, a report published in November 2017 — called “The State of Open Source Security” — shows some evidence that Red Hat’s Linux might be ruling the roost for security currently. Obviously, I can’t make any guarantees for the report’s impartiality.

Commissioned by Snyk, the report states: “Open source library vulnerabilities increased by 53.8% in 2016, while Red Hat Linux vulnerabilities have decreased.” The report is well-constructed and easy to digest and, as a plumb line to what’s going on the with security on the Internet in general, it’s a welcome read. It states that there’s been a “65% decrease in Red Hat vulnerabilities since 2012” and in addition to that: “In 2016, 69% of Red Hat Linux vulnerabilities were fixed within a day of their public disclosure, and 90% were fixed within 14 days of their public disclosure”.

The report continues: “Red Hat Linux seems to be finding some level of stability” and “…it does make us optimistic that better security is achievable with a little bit of work”.

The truth, of course, is that every device or service has a vulnerability of some description or another, and, as the report states, “there are a lot of steps involved in the lifecycle of an open source security vulnerability. From discovery through final adoption of fixes, each part of the process is important in its own way, and ultimately plays a role in the overall state of security.” Code auditing is key as well as timely response to vulnerabilities. Check out the report to learn more.

Chris Binnie’s latest book, Linux Server Security: Hack and Defend, shows how hackers launch sophisticated attacks to compromise servers, steal data, and crack complex passwords. In the book, he also shows you how to make your servers invisible, perform penetration testing, and mitigate unwelcome attacks. You can find out more about DevOps, DevSecOps, Containers, and Linux security on his website: https://www.devsecops.cc.

Posted on Leave a comment

Big O Notation? More like Big O-M-G

Time Complexity: O(n^2)

In this next scenario, let’s say that only one person knows who took your cookie and only by name. The person who took the cookie won’t fess up to it either, so you have to name off each other friend to the friend you are talking to. This can be written in Python3:

>>> def who_has_my_cookie(my_friends):
... for friend in my_friends:
... for their_friend in friend.get('friends'):
... if their_friend.get('has_cookie'):
... return their_friend.get('name')

If you imagine yourself in this situation you can see that it’s going to take a lot longer than any of the other situations because you need to keep reciting everyone’s name every time you go to the next friend.Worst case scenario, you need to cycle through each friend and ask them about every other friend. If you look at the loops, you can see that the outer loop has a time complexity of O(n), and the inner loop also has a time complexity of O(n). This means the function will have a time complexity of O(n^2) because you multiply the time complexities together O(n * n).

Let’s feed this function some input and see who took your cookie:

>>> my_friends = [
... {'name':'Steven', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Binita', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Linds', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Raman', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Elaine', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':True},
... {'name':'Elaine', 'has_cookie':False}
... ]
... }
... ]
>>> cookie_taker = who_has_my_cookie(my_friends)
>>> print(cookie_taker)
Raman

Summary of O(n^2): There is a loop within a loop, so you could instantly think that it would be O(n^2). That’s a correct assumption, but to make sure, double check and make sure the increments are still being incremented ntimes. Some loops within loops turn out to be O(nlog(n)).

Posted on Leave a comment

Big O? More like Big O-M-G

Time Complexity: O(n^2)

In this next scenario, let’s say that only one person knows who took your cookie and only by name. The person who took the cookie won’t fess up to it either, so you have to name off each other friend to the friend you are talking to. This can be written in Python3:

>>> def who_has_my_cookie(my_friends):
... for friend in my_friends:
... for their_friend in friend.get('friends'):
... if their_friend.get('has_cookie'):
... return their_friend.get('name')

If you imagine yourself in this situation you can see that it’s going to take a lot longer than any of the other situations because you need to keep reciting everyone’s name every time you go to the next friend.Worst case scenario, you need to cycle through each friend and ask them about every other friend. If you look at the loops, you can see that the outer loop has a time complexity of O(n), and the inner loop also has a time complexity of O(n). This means the function will have a time complexity of O(n^2) because you multiply the time complexities together O(n * n).

Let’s feed this function some input and see who took your cookie:

>>> my_friends = [
... {'name':'Steven', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Binita', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Linds', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Raman', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':False},
... {'name':'Elaine', 'has_cookie':False}
... ]
... },
... {'name':'Elaine', 'friends':[
... {'name':'Steven', 'has_cookie':False},
... {'name':'Binita', 'has_cookie':False},
... {'name':'Linds', 'has_cookie':False},
... {'name':'Raman', 'has_cookie':True},
... {'name':'Elaine', 'has_cookie':False}
... ]
... }
... ]
>>> cookie_taker = who_has_my_cookie(my_friends)
>>> print(cookie_taker)
Raman

Summary of O(n^2): There is a loop within a loop, so you could instantly think that it would be O(n^2). That’s a correct assumption, but to make sure, double check and make sure the increments are still being incremented ntimes. Some loops within loops turn out to be O(nlog(n)).

Posted on Leave a comment

Linux Weather Forecast

Welcome to the Linux Weather Forecast

This page is an attempt to track ongoing developments in the Linux development community that have a good chance of appearing in a mainline kernel and/or major distributions sometime in the near future. Your “chief meteorologist” is Jonathan Corbet, Executive Editor at LWN.net. If you have suggestions on improving the forecast (and particularly if you have a project or patchset that you think should be tracked), please add your comments below. 

Forecast Summaries

Current conditions: the 4.17 kernel was released on June 3; some of the more important additions in this kernel are::

  • Some significant scheduler improvements that, in particular, will help with energy-efficient scheduling on mobile devices.
  • Support for the unloved blackfin, cris, frv, m32r, metag, mn10300, score, and tile architectures has been removed. This change will result in 4.17 being smaller (in terms of lines of code) than 4.16 — only the third time that has happened in the history of the kernel project.
  • Support for the receiving TLS-encrypted data has been added to the kernel.
  • The tracing subsystem has gained support for histogram triggers, making it easier to aggregate event data in the kernel without needing to write BPF programs.

In addition to that, of course, is a long list of bug fixes, code cleanups, and more. The 4.17 kernel was the work of 1,700 developers who contributed over 13,500 individual changes; see this article for more information on where 4.17 came from.

Short-term forecast: the 4.18 kernel can be expected in early August. There are a number of changes coming in this release, including:

  • The power domains subsystem has seen a number of enhancements that will lead to improved whole-system power management.
  • It is now possible for unprivileged processes to mount filesystems when running in a user namespace. This will make it possible to mount filesystems within containers without the need for additional privileges.
  • Zero-copy TCP data reception is now supported.
  • The AF_XDP subsystem will eventually lead to highly accelerated networking in a number of settings. This work is part of a larger effort to win back users of user-space networking stacks by providing better facilities in the kernel.
  • Bpfilter is a new packet-filtering mechanism based on the BPF virtual machine. The 4.18 version of bpfilter won’t do much, but it is expected to be the base on which the next generation of kernel firewalling systems is built.
  • Restartable sequences, a new API for performing highly optimized lockless operations in user space, have finally made it into the mainline kernel.

It’s also worth noting that the new AIO-based polling mechanism, originally merged for 4.18, has been reverted pending further work. 4.18 is in the stabilization phase now, so there should be no new features merged during this development cycle.

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.

Posted on Leave a comment

4MLinux: More Than Just Another Lightweight Distro

I don’t want to get up on yet another “Here’s another lightweight Linux distribution to revive your aging hardware” soapbox. So many distributions make that promise, and most of them do an outstanding job of fulfilling their mission statement. Also, many of those distributions are fairly similar: They offer a small footprint, work with 32-bit systems, and install a minimal amount of software dedicated to the task of helping you get your work done as best a lightweight operating system can do.

But then there’s 4MLinux. This particular take on the lightweight Linux distribution is a different beast altogether. First and foremost, 4MLinux doesn’t include a package manager. That’s right, the only way you can install packages on this distribution is to do so from source (unless you install the limited number of packages from within the Extensions menu (more on that in a bit). That, of course, can lead to a dependency nightmare. But if you really give it some thought, that could be a serious plus, especially if you’re looking for a distribution that could be considered an ideal desktop for end users with specific use cases. If those users only need to work with a web browser, 4MLinux allows that while preventing users from installing other applications.

What’s in a name?

The name 4MLinux comes from a strong focus on the following “Ms”:

  • Maintenance — 4M can be used as a system rescue Live CD.

  • Multimedia — 4M offers full support for a large number of image, audio and video formats.

  • Miniserver — 4M includes DNS, FTP, HTTP, MySQL, NFS, Proxy, SMTP, SSH, and Telnet servers.

  • Mystery — 4M includes a collection of classic Linux games.

It is the inclusion of servers that makes 4MLinux stand out above the lightweight competition. On top of that, the distribution goes out of its way to make the managing of these servers pretty simple (more on that in a bit).

Let’s install 4MLinux and see take a look at what it has to offer.

Installation

The installation of 4MLinux is a bit more complicated than many other distributions in its class. When you boot the live CD/USB, you must first create a partition it can be installed on. To do that, click the start button > Maintenance > Partitions > GParted. I installed 4MLinux as a VirtualBox VM. In order to do that, I had to first create a partition table on the virtual drive. Do this by clicking Device > Create Partitions Table (Figure 1).

Once the partition table has been created, click the New button and create a partition that can house 4MLinux (Figure 2).

With the partition created, go to Start > 4MLinux > Installer. This will open a terminal window. When prompted, hit the Enter key on your keyboard and then select the partition to use for the installation (Figure 3).

You will then need to answer two questions:

After you type “y” to start the installation, 4MLinux will install (a process that takes less than 5 minutes). When you see “Done” presented, close the window and reboot the system. Upon reboot, you will be prompted (in a text-only window) to create a root password (Figure 4).

Creating a standard user

Naturally, you don’t want to run 4MLinux as a standard user. Of course, you won’t find a GUI tool for this, so open the terminal window and issue the command adduser USERNAME (Where USERNAME is the name of the user). After typing (and verifying) a password for the new user, you can log out and log back in as that user.

The Desktop

4MLinux employs Joe’s Window Manager (JWM). It’s actually quite a lovely little desktop, one that includes all the features you’d want for easy interaction. There’s a panel, a start menu, launchers, desktop icons, a dock, a system tray, a mouse menu (Figure 5), and, for good measure, Conky (the lightweight, themeable system monitor).

Applications

Out of the box, you won’t find much in the way of productivity tools. And even though there isn’t a package manager, you can install a few tools, by way of the Start > Extensions menu. Click on that menu and you’ll see entries like LibreOffice, AbiWord, GIMP, Gnumeric (Figure 6), Thunderbird, Firefox, Opera, Skype, Dropbox, FileZilla, VLC, Audacious, VirtualBox, Wine, Java, and more.


Click on one of those entries and a terminal window will open, asking if you want to continue. Type y and hit Enter. The package will be downloaded and installed. Once installed, the package is started from the same Extensions menu entry used for installation.

Miniserver

Let’s talk about that Miniserver menu entry. If you open that menu, you’ll find entries for StartAll, StopAll, Settings, Tests, and MiscTools. If you click the StartAll entry, all of the included servers will start. Once they’ve started, click on Miniserver > Settings > LAMP. This will open up the default web browser (Chromium) to a page allowing you to select from LAMP Admin, Webmin, or Help. Out of the box, Webmin is not ready to be used. Before you can log into that powerful tool, you must first open up a terminal window and issue the command webmin. This will download and install Webmin on the machine. You’ll have to answer a few questions (Figure 7) and create a password for the Webmin admin user.

Once you’ve installed Webmin, you can click Start > Miniserver > Settings > LAMP and, when presented with the available links, click the Webmin entry. You’ll be required to log in with the user admin and the password you created during the Webmin installation. You can now administer your LAMP server (and quite a bit more) from within an all-too familiar web GUI.

Is 4MLinux for You?

4MLinux is a very intriguing distribution that’s really hard to classify. It offers the best of a few worlds and misses out on the best of others (such as a traditional package manager). It’s one of those distributions that might never wind up your go-to, but it is certainly one you need to experience first hand. And, who knows, you might find this unique flavor of Linux just right for you.

Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.

Posted on Leave a comment

Raspberry Pi 3 B+ Tops Hacker Board Survey

The Raspberry Pi 3 Model B+ won our 2018 reader survey as the most popular community-backed, Linux/Android hacker board under $200. The survey, run in partnership with LinuxGizmos.com, asked readers to select their favorite boards from among 116 community-backed SBCs that run Linux or Android and sell for under $200. All 116 SBCs are summarized in LinuxGizmos’ recently updated hacker board catalog and feature comparison spreadsheet. (Downloadable versions of the spreadsheet may be found here.)

The sample of 683 fell far short of the 1,705 survey respondents for the June 2017 survey and the 1,721 voters in 2015, but it beat out the 473 total for the 2016 survey. Considering the modest sample, the survey may not be highly representative of market share, but it’s still indicative of enthusiasm.

To rank the boards, we used Borda Count scoring, in which we tripled the number of first choices, then doubled the number of second place selections, and added the two results to the unadjusted third-choice amount. The top 10 boards are shown in the chart below:

The Raspberry Pi 3 Model B+, which builds upon the RPi 3 Model B design with a faster Broadcom SoC, faster WiFi and Ethernet, and optional PoE, earned a Borda score of 811. This was about twice the score of the second place (414) UDOO X86, which is one of the most powerful of the handful of x86 based hacker boards.

There was a big drop to the next three boards, including the Odroid-XU4 (278), the Raspberry Pi 3 Model B (277), which was last year’s runaway winner, and the tiny Raspberry Pi Zero W/WH (255). The remainder of the top 10 list includes the venerable sixth place BeagleBone Black (126) and the Raspberry Pi like Asus Tinker Board (112) and Odroid-C2 (95). The Raspberry Pi Zero (85) came in 9th and the BeagleBone Black Wireless (67) was 10th.

If you prefer a top 10 list based on first choice only, the top 7 rankings would stay the same, but the Odroid-C2, RPi Zero, and BB Black Wireless would drop lower. This would make way for the UP Squared, Odroid-N1, RockPro64, Orange Pi Zero H2+/Zero Plus 2 H3/Zero Plus 2 H5, and the Rock64, all of which had higher first-pick scores.

Although the small size of the sample makes it difficult to read too much into the rankings, two trends seem clear: First, SBCs with Raspberry Pi like dimensions and 40-pin expansion connectors continue to do well. Second, it’s tough for a new board to break into the top ranks, at least among LinuxGizmos readers. Seven of the top 10 Borda-ranked boards were also in last year’s top 10, and the RPi 3 B+ was the only top 10 board that was not available a year ago.

A few newcomers did, however, break into our 11-20 ranked group, including the RockPro64, Orange Pi Zero H2+, and DragonBoard 820c. The top 10 list also includes a board that will never see the light of day. We included the Odroid-N1 with the expectation that it would ship on time in June, but Hardkernel’s Odroid project just announced that the Rockchip RK3399 based SBC has been cancelled in favor or an Odroid-N2 model with an unnamed new SoC within 5-6 months.

Reader buying priorities and goals

In addition to asking survey participants to list their favorite boards, we asked about buying criteria and intended applications. The year-to-year consistency we’re seeing in the answers suggests that a 683 sample may be more significant than we thought. In ranking buying criteria, for example, the rankings were very similar. High-quality open source software again led the list as the top priority, while networking/wireless I/O swapped with community ecosystem for second and third places.

When asked about intended applications, home automation was again on top, but the previous second-ranked education category dropped several levels. Home multimedia and special function servers advanced to second and third place, and data acquisition and control also jumped considerably, suggesting a growing role for hacker boards in industrial settings.

In a separate question about more general usage, the maker/hobbyist segment once again led the way, but by a smaller margin. The other three categories increased, with the research and commercial categories seeing the largest gains.

Fifteen randomly selected survey participants will receive a free hacker board in the coming weeks. Many thanks to all the participants who voted, as well as the vendors who donated boards.

Join us at Open Source Summit + Embedded Linux Conference Europe in Edinburgh, UK on October 22-24, 2018, for 100+ sessions on Linux, Cloud, Containers, AI, Community, and more.

Posted on Leave a comment

Hyperledger’s Brian Behlendorf Named as Top Blockchain Influencer by New York Times

Brian Behlendorf, Executive Director of the Linux Foundation’s Hyperledger project, has been named one of the top 10 influential voices in the blockchain world, in a New York Times commentary titled “The People Leading the Blockchain Revolution.” Blockchain technology—which encompasses smart contracts, distributed ledgers, and more—is already transforming contracts, payment processing, asset protection, and supply chain management.

In the article, Behlendorf is credited with driving the evolution and widespread adoption of numerous essential blockchain platforms and tools.

“Mr. Behlendorf has helped bring in other big names who are helping to make Hyperledger the focus of much of the corporate and governmental interest in blockchains today,” the Times reports.

Read more at The Linux Foundation