Exploring the Linux kernel: The secrets of Kconfig/kbuild

The Linux kernel config/build system, also known as Kconfig/kbuild, has been around for a long time, ever since the Linux kernel code migrated to Git. As supporting infrastructure, however, it is seldom in the spotlight; even kernel developers who use it in their daily work never really think about it.

To explore how the Linux kernel is compiled, this article will dive into the Kconfig/kbuild internal process, explain how the .config file and the vmlinux/bzImage files are produced, and introduce a smart trick for dependency tracking.

More in Tux Machines

RawTherapee 5.5 Released

RawTherapee provides you with a selection of powerful tools with which you can practise the art of developing raw photos. Be sure to read RawPedia to understand how each tool works so that you may make the most of it. A great place to start is the "Getting Started" article. Click on "Main page" in the top-left corner when you have finished reading that article to see all other articles.
If you find a problem, don't keep it to yourself. Find out how to write useful bug reports to get the problem fixed.

Games: ATOM RPG, Humble Store, KURSK, Liftoff and More

After little over a year in Early Access after a successful Kickstarter campaign, the surprisingly impressive ATOM RPG is about to release in full.
Mark December 19th on your calendar, as ATOM RPG seems to have a few surprises ready for the full release. This will include a third global map, which takes place in a mutant-ridden metropolis named Dead city; plenty of new NPCs and quests; you can drive cars across the wasteland; new dungeons to explore; new traits for characters and a new end-game cinematic.

If you're in the mood for something new and GOG isn't your thing with their big sale going on, Humble also have some interesting choices.
There's another 2K publisher sale going on right now, with top deals like Civilization VI (recently got a patch to make Linux online play cross-platform) has 75% off plus the Civilization VI: Rise and Fall expansion is currently 35% off. XCOM 2 is also 75% off and it's easily one of my favourite strategy games. Even better with the War of the Chosen expansion with 50% off. Looking further, you would be pretty mad yourself to pass on Mad Max with 75% off!

It seems to have released to thoroughly mixed reviews, with all sorts of issues. The big update has reduced loading time, adding in various optimisations, new and improved animations, an improved UI and so on. Sounds like they're really putting in the effort to improve it, which is great. They've confirmed they're working on many more improvements too!

For those who love the idea of playing with drones, Liftoff is an interesting drone sim that's available on Linux. Liftoff: FPV Drone Racing launched back in September, with it seeing Linux support at release.

There's a new release of the Pixel Wheels racing game. It now "remembers the best lap and best total time for each track and shows you a congratulation message when you reach the top 3 in either categories", countdown now has sound and has several other new features. The game is available for Linux, Android, Windows and Mac, and you can get it from here.

Audiocasts: Open Source Security Podcast, Linux Action News and More

On this episode of This Week in Linux, we got a lot of application releases to talk about like Nextcloud, Firefox, Vivaldi, Kdenlive and more. We got an update for the Emby proprietary news we covered last week, there’s a fork. The kernel team are discussing the potential removal of the x32 Subarchitecture. There’s some possibilities that Intel could be Open-Sourcing the FSP and we’ll talk about what that could mean. Later in the show we’ll talk Security News related to a SQLite Bug, New Malware Families Discovered, Apple’s T2 Chip issues with Linux and yet another security hole found in Google+. Then we’ll round out the show with some Linux Gaming news including some great games on sale. All that and much more!

Intel developers are working to open source the FSP, Fuchsia SDK and device repos show up in Android AOSP, and our BSD buddies have some big news.
Plus the pending removal of the x32 sub-architecture from Linux, why Uber is joining up with the Linux Foundation, and more.

Katherine Druckman and Doc Searls talk to David Egts (@davidegts), Chief Technologist North America for the Public Sector at Red Hat (@redhatgov) about open source enthusiasm.

Manjaro vs Arch Linux Distribution Comparison

If you’ve looked at the DistroWatch Page Hit Ranking statistics in recent months, you might have noticed that the top place is currently occupied by Manjaro Linux, or simply Manjaro, an Arch Linux derivative that’s designed to work straight out of the box.
We wanted to know the secret behind Manjaro’s success, which is how this detailed comparison came to life. Regardless of whether you’re a seasoned Arch Linux veteran with a desire to explore what other Linux distributions have to offer or you’re a Linux newbie who’s not sure which of the two distributions to use, this article is for you.

Latest News

Solve a puzzle at the Linux command line with nudoku

Welcome back to another installment in our 24-day-long Linux command-line toys advent calendar. If this is your first visit to the series, you might be asking yourself what a command-line toy even is. We’re figuring that out as we go, but generally, it could be a game, or any simple diversion that helps you have fun at the terminal.
Some of you will have seen various selections from our calendar before, but we hope there’s at least one new thing for everyone.

Programming: JS, Python and More

You can do as much as you can to modularize your code base, but how much confidence do you have in each of the modules? If one of the E2E tests fails, how would you pinpoint the source of the error? How do you know which module is faulty?You need a lower level of testing that works at the module level to ensure they work as distinct, standalone units—you need unit tests. Likewise, you should test that multiple units can work well together as a larger logical unit; to do this, you need to implement some integration tests.

Chukwudi, or Chux as he is often referred to in more familiar circles, is the president of Python Nigeria (@PythonNigeria) and has served as part of the PSF’s Grants Working Group for several years. Some of the work he has done with the grants working group involves dealing with very delicate situations, as grant requests need to be authenticated and require due diligence to properly understand the local context for preparing and awarding a grant. According to Nicholas H. Tollervey, a fellow Grants Working Group member, Chux regularly contacts, researches and (where possible) visits in-person many of the requesters so the Grants Work Group has the context needed to be able to make an informed decision. All of this detail oriented work requires a great deal of interpersonal skill and effort, which Chux exerts freely as a credit to our larger Python community.

This week we welcome Irina Truong (@irinatruong) as our PyDev of the Week! Irina has been a speaker at several Python conferences and is a maintainer for pgcli, a Python package that is a command-line interface to the Postgres database. You can see what else she has been up to over on Github. Let’s spend some time getting to know Irina!

Welcome back to the multitas project which we have already created two features for this application in the previous articles 1) Remove duplicate files 2) Move file from one folder to another. In this chapter, we are just going to tidy up the buttons on the user interface before we continue to build the next task in the next chapter. What we are going to do here is to create a button container to keep all the buttons that we will use in our program. Below is the full source code which will result in this below outcome.

To get started, take a look at the recent webinar ”Develop Your First Qt for Python Application’‘ on how to develop an application from scratch, based on Qt Widgets and different Python modules. You’ll also see some examples on how to continue developing with other Qt for Python components, such as QML and Shiboken.

Logitech Options is an app that controls all of Logitech’s mice and keyboards. It offers several different configurations like Changing function key shortcuts, Customizing mouse buttons, Adjusting point and scroll behavior and etc. This app contained a huge security flaw that was discovered by Tavis Ormandy who is a Google security researcher. It was found that Logitech Options was opening a WebSocket server on each individual computer Logitech Options was run on. This WebSocket server would open on port 10134 on which any website could connect and send several various commands which would be JSON-encoded.

I am extremely pleased to announce the public release of pwnedkeys.com – a database of compromised asymmetric encryption keys. I hope this will become the go-to resource for anyone interested in avoiding the re-use of known-insecure keys. If you have a need, or a desire, to check whether a key you’re using, or being asked to accept, is potentially in the hands of an adversary, I would encourage you to take a look.