Linux Archive

What’s a CPU to do when it has nothing to do?

It would be reasonable to expect doing nothing to be an easy, simple task for a kernel, but it isn't. At Kernel Recipes 2018, Rafael Wysocki discussed what CPUs do when they don't have anything to do, how the kernel handles this, problems inherent in the current strategy, and how his recent rework of the kernel's idle loop has improved power consumption on systems that aren't doing anything.

I had no idea doing nothing was this complex.

Killing processes that don’t want to die

Suppose you have a program running on your system that you don't quite trust. Maybe it's a program submitted by a student to an automated grading system. Or maybe it's a QEMU device model running in a Xen control domain ("domain 0" or "dom0"), and you want to make sure that even if an attacker from a rogue virtual machine manages to take over the QEMU process, they can't do any further harm. There are many things you want to do as far as restricting its ability to do mischief. But one thing in particular you probably want to do is to be able to reliably kill the process once you think it should be done. This turns out to be quite a bit more tricky than you'd think.

Linus apologises for his years of abrasive behaviour

Linus Torvalds on the lkml:

This is my reality. I am not an emotionally empathetic kind of person and that probably doesn't come as a big surprise to anybody. Least of all me. The fact that I then misread people and don't realize (for years) how badly I've judged a situation and contributed to an unprofessional environment is not good.

This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for. Especially at times when I made it personal. In my quest for a better patch, this made sense to me. I know now this was not OK and I am truly sorry.

The above is basically a long-winded way to get to the somewhat painful personal admission that hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.

I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.

Actions speak louder than words, so we'll see if this sudden realisation will lead to anything tangible.

PowerShell launches as a snap

PowerShell Core from Microsoft is now available for Linux as a Snap. Built on the .NET Framework, PowerShell is an open source task-based command-line shell and scripting language with the goal of being the ubiquitous language for managing hybrid cloud assets. It is designed specifically for system administrators and power-users to rapidly automate the administration of multiple operating systems and the processes related to the applications that run on those operating systems.

Linux Mint 19 released

Linux Mint 19 is a long term support release which will be supported until 2023. It comes with updated software and brings refinements and many new features to make your desktop experience more comfortable.

In Linux Mint 19, the star of the show is Timeshift. Although it was introduced in Linux Mint 18.3 and backported to all Linux Mint releases, it is now at the center of Linux Mint's update strategy and communication.

Thanks to Timeshift you can go back in time and restore your computer to the last functional system snapshot. If anything breaks, you can go back to the previous snapshot and it's as if the problem never happened.

This new release is jampacked with new features and improvements, and I must say this looks mightily intriguing.

A broad overview of how modern Linux systems boot

For reasons beyond the scope of this entry, today I feel like writing down a broad and simplified overview of how modern Linux systems boot. Due to being a sysadmin who has stubbed his toe here repeatedly, I'm going to especially focus on points of failure.

I always find it fascinating to read about how computers boot - it's often a very intricate process, built atop decades of backwards compatibility.

C gfx library for the Linux framebuffer with parallelism support

FBGraphics was made to produce fullscreen pixels effects easily with non-accelerated framebuffer by leveraging multi-core processors, it is a bit like a software GPU (much less complex and featured!), the initial target platform is a Raspberry PI 3B and extend to the NanoPI (and many others embedded devices), the library should just work with many others devices with a Linux framebuffer altough there is at the moment some restrictions on the supported framebuffer format (24 bits).

FBGraphics is lightweight and does not intend to be a fully featured graphics library, it provide a limited set of graphics primitive and a small set of useful functions to start doing framebuffer graphics right away with or without multi-core support.

Neat project.

There’s real reasons for Linux to replace ifconfig, netstat, et al.

One of the ongoing system administration controversies in Linux is that there is an ongoing effort to obsolete the old, cross-Unix standard network administration and diagnosis commands of ifconfig, netstat and the like and replace them with fresh new Linux specific things like ss and the ip suite. Old sysadmins are generally grumpy about this; they consider it yet another sign of Linux's 'not invented here' attitude that sees Linux breaking from well-established Unix norms to go its own way. Although I'm an old sysadmin myself, I don't have this reaction. Instead, I think that it might be both sensible and honest for Linux to go off in this direction. There are two reasons for this, one ostensible and one subtle.

Living in a Docker world

Have you ever tried to install Minecraft and seen an error message like, "This application requires a Java Runtime Environment 1.6.0"? Or you try to install something on Windows, and you get an error that says some .NET framework is missing? Or, as a more basic example, have you ever spent a couple hours setting up a new computer with all your applications and preferences?

Those are the kinds of problems Docker, and "containers" more broadly (Docker is kind of the Kleenex of containers), are meant to solve. Docker makes it easy to install Linux applications on servers, along with their required dependencies and whatever preferences you might have for those applications. And, as an added bonus, conflicting dependencies between applications (maybe one app relies on Python 2, and another app relies on Python 3) aren't an issue, because everything is isolated in different containers.

Google brings Linux applications to Chromebooks

Support for Linux will enable you to create, test and run Android and web app for phones, tablets and laptops all on one Chromebook. Run popular editors, code in your favorite language and launch projects to Google Cloud with the command-line. Everything works directly on a Chromebook.

Linux runs inside a virtual machine that was designed from scratch for Chromebooks. That means it starts in seconds and integrates completely with Chromebook features. Linux apps can start with a click of an icon, windows can be moved around, and files can be opened directly from apps.

It's official now.

Bring your own Linux to Windows

After starting with Ubuntu, Microsoft has added a number of Linux distributions to its Windows Subsystem for Linux (WSL) Linux runtime environment. A Windows machine can simultaneously offer an Ubuntu, SUSE, Debian, and Kali "personality," providing users with a choice of the different distributions' preferences and package management.

But if your distribution isn't yet available or if you want a Linux installation that's customized just the way you like it, there's now an answer: Microsoft has an open source tool for building your own Linux package. The tool is aimed at two groups: distribution owners (so they can produce a bundle to ship through the Microsoft Store) and developers (so they can create custom distributions and sideload them onto their development systems).

Neat.

Linux ported to Nintendo Switch

There are two major reasons I can think of to hack a game console. The first one is obvious: so you can play cracked copies of games. That’s why modern consoles are so difficult to hack, because millions of dollars are on the line.

But some people just want to run any software they choose on the hardware they own. And for those people, Linux on the Switch is a huge achievement.

I'm surprised it even took this long.

The oldest x86 processor still supported by a modern Linux kernel?

What is the oldest x86 processor that is still supported by a modern Linux kernel in present time?

I asked the above quiz question during the Geekcamp tech conference in Nov 2017 during my emcee role. The theoretical answer as you can glean from the title of this post is the 486 which was first released in 1989. I determined that fact from this article where support for the 386 was dropped in Dec 2012.

To get you interested, here is the result of my effort.

Cool project.

Interactive X Linux desktop rendered to TTY and streamed over SSH

I'm travelling around the world and sometimes I don't have very good Internet. If all I have is a 3kbps connection tethered from my phone then it's good to SSH into my server and browse the web through elinks. That way my server downloads the web pages and uses the limited bandwidth of my SSH connection to display the result. But it lacks JS support and all that other modern HTML5 goodness. Texttop is simply a way to have the power of a remote server running a desktop, but interfaced through the simplicity of a terminal and very low bandwidth.

Why not VNC? Well VNC is certainly one solution but it doesn't quite have the same ability to deal with extremely bad Internet. Texttop uses MoSH to further reduce the bandwidth and stability requirements of the connection. Mosh offers features like automatic reconnection of dropped connections and diff-only screen updates. Also, other than SSH or MoSH, Texttop doesn't require a client like VNC. But of course another big reason for Texttop is that it's just very cool geekery.

How to set up a Pixelbook for programming

Well, I've really done it. I've taken a pure and unsullied Google Pixelbook, which at one time was fast and secure in all ways, and made it into a crashy mess. My crime? The desire to code.

I'm going to walk you through my process for converting this machine into something that's marginally desirable for programming, but I just wanted to warn you before I begin: this isn't easy, clean, intuitive, or practical. There are rumors that Google is working on better ways to make Chrome OS a host for other flavors of Linux or Linux apps, but right now we're basically working with hacks, and hacks hurt.

Because these hacks hurt, I'd implore you to read this entire guide before attempting any of the steps so you know what you're getting yourself into, and if you, in fact, desire the results.

I think the PixelBook is a stunningly beautiful and fast machine, and while Chrome OS isn't nearly as useless as people often think it is, it clearly isn't the kind of operating system many OSNews readers would prefer. This is a guide to getting a traditional Linux setup up and running.

RISC-V port merged to Linux

The RISC-V port was just merged to Linux a few minutes ago. This means we will be in the 4.15 release, which should be out about 10 weeks from last Sunday. As soon as the tarballs are created, the RISC-V Linux ABI will be stable, and since we'll ideally be in a glibc release that comes out soon after that we'll be fully ABI stable by early in February.

RISC-V is a completely free and open ISA that hasn't seen much adoption just yet.

The rise and fall of LiMux

The LiMux (or Limux) initiative in Munich has been heralded as an example of both the good and bad in moving a public administration away from proprietary systems. Free Software Foundation Europe (FSFE) President Matthias Kirschner reviewed the history of the initiative - and its recent apparent downfall - in a talk at Open Source Summit Europe in Prague. He also looked at the broader implications of the project as well as asking some questions that free-software advocates should consider moving forward.

The LiMux initiative is one of the longest-running story 'streams' on OSNews. The oldest item I could find is from 2003.

100 days of postmarketOS

We talked about postmarketOS back in late May, and this weekend the project published a summary of all the work they've done over the past 100 days.

What you see here is only the tip of the iceberg. So much work has gone into fixing bugs, and little improvements, that it would be ridiculous to go through the effort and list them all. The community has grown so fast in such a short time and we have people with all kinds of skills on board, ranging from Linux experts to kernel hackers to people who reverse engineer bootloaders (hi @McBitter!). We collaborate with people from other projects as well, such as @pavelmachek, who is close to using his N900 as a daily driver with his own distribution, recently just reached out to us.

So if you read through the whole post, you are probably interested in what we do. Consider contributing to the project, the entry barrier is really low. pmbootstrap automates everything for you and we are more than happy to help you through any issues you encounter in the chat. There are also a lot of opportunities to help with development, so there's plenty to do. And plenty of fun to have.

That's a lot of work for just 100 days.

Build your own Linux

This course walks through the creation of a 64-bit system based on the Linux kernel. Our goal is to produce a small, sleek system well-suited for hosting containers or being employed as a virtual machine.

Because we don't need every piece of functionality under the sun, we're not going to include every piece of software you might find in a typical distro. This distribution is intended to be minimal.

Building my own Linux installation from scratch has always been one of those things I've wanted to do, but never got around to. Is this still something many people do? If so, why?