Upgrade to Windows 11 23H2 on unsupported hardware

Since Microsoft released Windows 11 in October 2021, there has been some hardware limitations. These limitations include a limited list of processor support, the requirement for secure boot and a TPM 2.0 module. In case one of these requirements on your machine is not met, you have an unsupported system and without any workarounds, you will not be able to install Windows 11 on your machine.

As I did some earlier posts on getting Windows 11 on unsupported hardware, this one is no different and covers performing a fresh installation or upgrading from Windows 10 or another Windows 11 version to Windows 11 23H2 on unsupported hardware .

Continue reading

Install macOS Sonoma on unsupported models

macOS Sonoma has been released and traditionally that also means that the list of Mac hardware that no longer supports the latest macOS release has increased. In this post, the idea is to explain you how you can work around that limitation and still run macOS Sonoma on your unsupported Apple hardware. In a lot of cases, your unsupported Mac is still very much capable of running the latest version of macOS so it would be a waste not to try this.

Continue reading

Install Windows 11 on a Mac Pro 1,1 or 2,1

The last official Apple-supported operating system for the classic Mac pro 1,1 or 2,1 is OS X Lion. With some workarounds it is possible to go up to OS X El Capitan but that’s where it stops. Since El Capitan got released back in 2015, most software developers dropped support for it a while ago and as good as all popular tools and applications are no longer running on El Capitan. As a valid alternative to macOS, Windows is an option here. This post covers how to get Windows 11 on your Mac Pro 1,1 or 2,2, which will allow you to install the latest software versions and get the latest patches and updates.

Continue reading

Install macOS Ventura on unsupported models

As with any new macOS major release, Apple decided to drop support for quite some older models. That means that it is not possible to run Ventura on that hardware in an official way. In a lot of cases these machines are more than capable of running the latest macOS release so in this post I will explain you step by step how to get macOS Ventura installed on unsupported Mac hardware.

Continue reading

Upgrade to Windows 11 22H2 on unsupported hardware

Since a few weeks, Microsoft has released their 22H2 update. This update has some new features and bugfixes. With the introduction of Windows 11 also came some restrictions on supported hardware. Like the need for a fairly recent CPU, TPM 2.0 and secure boot. The 22H2 update seems to change some things that could prevent to work around the hardware checks. The original method to upgrade from Windows 10 to 11 on unsupported hardware is no longer working and also on Windows 11 installations that used any of the workarounds to overcome the hardware check, the 22H2 update will most likely not be offered through Windows update. In this article I will describe alternative and how to still upgrade Windows 11 22H2 on unsupported hardware, either running already on Windows 11 or from Windows 10.

Continue reading

How to avoid a Microsoft account on Windows 11

For some time now, Microsoft has been pretty intrusive about pushing the use of a Microsoft account on Windows-based PCs. Over the time, it became harder and harder to setup or upgrade Windows using a local account or even without internet access. Although having a Microsoft account could have its advantages, many people, including myself, prefer to make that decision on their own. In this post, I’ll explain, for the various Windows 11 versions like Home or Pro, how you can work around the need for a Microsoft account and how you can switch back to a local account in case you started using one already.

Continue reading

Create a bootable Windows 11 installation USB on macOS

It’s fairly easy to create bootable USB installation media for Windows 11 when using Microsoft’s Media creation tool from Windows. Unfortunately this tool is not available for macOS. This post explains you how to do this without using a Windows-based PC or VM and without using BootCamp assistant. This can come in handy when trying to install Windows on your Mac or PC or when there is simply only an Apple Mac available and you need to boot the Windows installer for various reasons. The media will work to install Windows 11 on both a Mac or regular PC.

Continue reading

Run Windows 98 SE on a modern Mac (with M1)

Running Windows 98 today seems like a strange thing to do. First of all, it can’t run natively on a modern 64 bit CPU and definitely not on an M1-based Mac. Secondly, it’s seriously outdated and is considered useless for today’s productivity. Thinking about it further, you will see that it opens a whole new old world. There are so much high quality applications and especially games out there, which you can’t run directly on a modern PC and for sure not on a Mac. By using emulation with UTM and QEMU, we can install Windows 98 SE on a new Mac and are able to revive that past experience and fun you had before. This article covers installing and configuring Windows 98 SE on a MacBook M1 by using UTM.

Continue reading

Install macOS Monterey on unsupported models

macOS Monterey was released a few days ago. Just as with most new releases of macOS, also for macOS Monterey, Apple decided to remove official support for some of the older Mac hardware. In general anything older than a 2015 model is no longer supported. This doesn’t necessarily mean that those Mac models cannot handle the new operation system, in most cases it would run it just fine. Luckily, if you want to, there are always ways to get around these restrictions. In this article, I will describe step by step how to install macOS Monterey on officially unsupported models by using OpenCore Legacy Patcher.

Continue reading

Install Windows 11 ARM on M1-based Macs with UTM

One subject that comes up very often is the ability to run Windows on an M1-based Mac. Even though many people swear by macOS, Bootcamp and Windows on a Mac still seems to be a widely used option. As these M1-based devices are using a different architecture: ARM, they are not compatible with Mac’s previous and most-used architecture for Windows-based computers: x86. That means that in order to run Windows on an M1 device, you basically have two options: Use an ARM-based version of Windows or emulate an x86-64 based machine and run a regular Windows version. For this article, I will get Windows 11 for ARM running on an M1 MacBook Air by using UTM.

Continue reading

Fix issue with empty Windows Security app after upgrade to Windows 11

After performing an upgrade to Windows 11, coming from Windows 10, it looks like some users are getting an issue with Windows Security. The symptoms are an empty Windows Security application, only displaying “Security at a glance”. When navigating to Settings – Windows Security, the menu will hang and only closing it works. This is caused by the service “Windows Security Service” or SecurityHealthService.exe that is not running and is stopping immediately when trying to start it. I’m not sure of the cause but did find a way to fix it, which I will describe in this article.

Continue reading

Install Windows 11 on unsupported hardware

Windows 11 has been released some time ago now and comes with some new hardware requirements like the need for TPM 2.0 and secure boot. Also, some older processors are no longer supported even though they should be perfectly capable of running the OS. In case your system does not meet one of these requirements, you will not be able to install Windows 11 in a supported way. This article explains you how to work around those limitations and install Windows 11 on an unsupported machine. The methods used here also work for the 22H2 update.

Continue reading

Install Windows 11 natively on your Mac without Parallels or BootCamp Assistant

As most know, it is possible, and quite easy, to install Windows 10 on your x86-based Mac. Wether it’s a Mac Pro, iMac, Mac mini or Macbook. Now, as Windows 11 has some specific hardware requirements like TPM 2.0 and Secure Boot, you will not pass the hardware check. An unmodified installation will fail to get installed exactly due to this. In this article, I’ll explain how to get around these limitations and to get Windows 11 properly installed and working on your Mac.

Continue reading

Perform a clean install of macOS on your device

There are several good reasons to perform a fresh install. For example if you want to replace your working or broken disk with a bigger or faster model, you bought a second hand device and want to be sure no traces of the previous owner remain, you are selling it yourself or maybe you have some issues with your current install, etc. This post will explain how to perform a fresh installation of the current or an older version of macOS, using a USB drive, on your Mac.

Continue reading

Install macOS Big Sur on unsupported models

Apple often removes support for newer macOS version for older hardware. Even if this hardware would be perfectly capable of running the new version, you are out of luck and will not be able to install that new version in a supported way. Fortunately in most cases there is a workaround or patch available to get that version up and running. In this article, I’ll go through the process of creating a bootable USB drive which allows installation of macOS Big Sur on unsupported models. This allows for both a fresh installation or an upgrade.

Continue reading

Create a bootable Windows 10 installation USB on macOS

It’s fairly easy to create bootable USB installation media for Windows 10 when using Microsoft’s Media creation tool. Unfortunately this tool is not available for macOS. This post explains you how to do this without using a Windows-based PC or VM and without using BootCamp assistant. This can come in handy when trying to install Windows on your mac or when there is simply only an Apple Mac available and you need to boot the Windows installer for various reasons.

Continue reading

Complete Mac Pro 4,1 soft- and hardware upgrade – All the way up to Big Sur

The classic Mac Pro has always intrigued me in some way. There is something about the whole concept and design that really attracts me. From the outside, now more than 10 years after the release of it, it still looks nice and up to date. Everything about it tells you that this is a powerful machine. Internally, the design is different from what is considered standard but it works very well. Although Apple did their best to restrict this, after performing some minimal and relatively cheap upgrades to a Mac Pro 4,1, it is still more than usable in 2021. In this post I will go, step by step, through the upgrade process for a cMP 4,1 from both hardware as software perspective, all the way up to a performant Big Sur Mac Pro machine.

Continue reading

Get started with InfluxDB and Python on Linux

If you are building a script, application or anything else that collects measurements or data over time intervals, a time-series database might be a good match for you. In a TSDB you simply store the data and read it back for analysis. For these use cases, there is no need for updates or changes to the data as it’s time-based. The data can’t change back in the past. InfluxDB is the most popular of these time-series databases and this article describes how to get started with it, on Debian or Ubuntu, and how to use it from Python.

Continue reading

Upgrade Debian 9 (Stretch) to Debian 10 (Buster)

When there is a need to upgrade an existing Linux installation that has been running for some time, there is always a certain fear of breaking things. Especially if the machine has been doing it’s job fine for a long time. Unfortunately we can’t escape these kind of things and in most cases it’s better to move to a new version before it gets unsupported. Fortunately the procedure and success of this process has been greatly improved with recent versions of (Debian) Linux. This post will take you through the required steps to upgrade an existing Debian 9 to the current stable Debian 10 installation.

Continue reading

Read data from the Belgian digital meter through the P1 port

Like some other Belgians, unfortunately, my analog electricity meter was replaced by a digital one since a few months. Initially, I was quite happy with the change as it allows a much easier look into your consumption and solar panel injection to the net. But exactly that last turned out to be a bummer as the government decided to not keep their word regarding reversing consumption with solar panel injection. Nevertheless, I have the thing so I might as well take advantage of it. This post describes how to connect to and use the data from the P1 port on a digital electricity meter in Belgium.

Continue reading

Data lezen van de P1 poort op de Belgische digitale elektriciteitsmeter

Zoals enkele andere Belgen werd, jammer genoeg, ook mijn analoge elektriciteitsmeter vervangen door een digitaal exemplaar. Initieel was ik daar best wel blij mee gezien het hiermee gemakkelijker is om het verbruik en opbrengst van de zonnepanelen bij te houden. Dat laatste is net he probleem, gezien de overheid heeft beslist dat de teller niet langer kan “terugdraaien”. Los daarvan, ik heb de meter nu dus kan ik er zowel gebruik van maken. Dit artikel beschrijft hoe je de meter kunt verbinden met je computer en hoe je de data van de P1 poort kunt gebruiken voor een Belgische digital elektriciteitsmeter.

Continue reading

Cross compiling for arm or aarch64 on Debian or Ubuntu

ARM is gaining more and more traction and is growing a lot in popularity. It’s not always possible to build directly on these ARM-based devices, especially when they are limited in resources. The majority of build and developer machines are still on x86 and by using cross compiling, it is possible to build binaries or executables usable on another architecture. For example, to use your standard PC, most likely x86, to build something that is usable on another machine or device that’s on another architecture, like ARM. In this post, I’ll explain how to do cross compiling for 32bit ARM (arm) or 64bit ARM (aarch64) using Debian 10 or Ubuntu 20.04 LTS.

Continue reading

Forward a TCP port to another IP or port using NAT with nftables

Besides using NAT for accessing the internet with multiple machines using a single IP address, there are many other uses of NAT. One of them is to forward all traffic that is sent to a certain TCP port to another host. In practice, this technique can be used to test a service on a new host without adjusting anything on the client. The users or the clients do not need to be pointed to a new machine in order to test it. When the test would be unsuccessful, removing the NAT-rule is all it takes to switch back.

Continue reading

Install Windows 10 on a MacBook (Air) 2019/2020 with T2 chip

For quite a long time now, Apple supports running Windows on your x86-based MacBook. The supported method is to use BootCamp Assistant. Although this does work in a lot of cases, there might be reasons to manually install Windows on your MacBook. For example if you want to get completely rid of macOS. Other reasons could be dropped support for older MacBooks, the ability to use a custom/modified Windows installation or if you want to install on an external drive. This post explains how to install Windows on a 2019/2020 MacBook (Air) equiped with a T2 security chip without using BootCamp Assistant.

Continue reading

BIOS or SPI programming on Windows or Linux using a CH341a MiniProgrammer

Without a working BIOS, even the most powerful hardware can’t be brought to life. In some rare cases, the BIOS chip in your system can become corrupt, which will return your system completely unusable. To fix this situation but also for other reasons like simply a backup, tuning, modding or enabling hidden features, flashing your BIOS ROM is interesting. Recently I got in the situation where the BIOS chip in my Lenovo X1 Yoga got corrupt. To fix this, I purchased the CH341a MiniProgrammer. In this post you can find the documented steps I took to reflash the BIOS and bring my laptop back to life.

Continue reading

Install a newer kernel in Debian 10 (buster) stable

When using the latest version of Debian 10 stable, also known as buster, even with all updates installed, by default, you can’t get the most recent kernel via the standard repositories in your package manager. While the idea of using Debian stable is to remain stable and rather conservative, there are several benefits with installing a newer kernel and in some cases it’s the only option to get the OS to support all your hardware. The risk and impact on stability is small and the process is rather simple.

Continue reading

Build/configure a Linux-based NAS

There are several options when you would like a NAS or Network Attached Storage. One of them is, instead of using dedicated NAS hardware, to build and configure your own (Linux-based) NAS system, using a standard distro. Getting dedicated NAS hardware has an advantage in terms of ease of use. On the other hand, building your own system and configuring the OS yourself has the advantage of flexibility, potential additional features and might even save you some money. But what about the power consumption? This post covers my journey for a self-built, Linux-based, NAS for home

Continue reading

Build Docker images for deployment on non-x86 architecture

When building a Docker container image, in most cases, the machine where you build it on runs on the same CPU architecture as where you eventually want to use it. Today, more and more, there is a need for deploying containers on a different architecture as where it was built on. The most common scenario would be to build on your regular x86 desktop and to deploy to an ARM variant.

Continue reading

Install and use CentOS 8 or RHEL 8 as KVM virtualization host

There are many possibilities to turn your machine into a host for virtual machines, emulating one or more separate and isolated computers. Among the popular commercial products from VMWare or Hyper-V on Windows, KVM is a great and mature alternative for full virtualization with great stability and performance. This guide will explain you step by step, from the start how to get this up and running.

Continue reading

Install and use Zabbix 3.2 on CentOS 7 or RHEL 7

Zabbix is a monitoring tool which is widely used in all kinds of environments. Zabbix is very flexible, information can be retrieved using HTTP/SNMP or by installing a Zabbix agent on the machines to monitor, and allows a lot of customisation. Unfortunately this also means that the learning curve can be rather high. This post will go a little deeper into the installation process and the first steps in Zabbix.

Continue reading

Install a newer kernel in Debian 9 (stretch) stable

When using the latest version of Debian 9 stable, even with all updates installed, by default, you can’t get a very recent kernel via the standard repositories in your package manager. While the idea of using Debian stable is to remain stable and rather conservative, there are several benefits with installing a newer kernel and in some cases it’s the only option to get the OS to support all your hardware. The risk and impact on stability is small and the process is rather simple.

Continue reading

Install a newer kernel in CentOS 7

When using the latest version of CentOS 7, even with all updates installed, by default, you can’t get a very recent kernel via the standard repositories in your package manager. While the idea is to remain stable and rather conservative, there are several benefits with installing a newer kernel and in some cases it’s the only option to get the OS to support all your hardware. The risk and impact on stability is small and the process is rather simple.

Continue reading

Cross compiling for ARM with Ubuntu 16.04 LTS

The goal of cross compiling is to compile for one architecture on machine running another one. In this post, I’ll try to explain the steps required to be able to compile software that is executable on ARM-based hardware using a “normal” x64-based PC or virtual machine. ARM-based devices are usually limited in processing power and are mostly running stripped-down, embedded versions of Linux. This makes it sometimes difficult to compile on the target device directly.

Continue reading

LoRaWAN simply explained

LoRaWAN stands for Long Range Wide Area Network. It’s a standard for wireless communication that allows IoT devices to communicate over large distance with minimal battery usage. At the time of writing this article I found that information about LoRa was rather sparse or overly complicated. Since it took me some time to really figure out what LoRa is and how it works, I decided to create this post and try to explain LoRaWAN in a technical but simply understandable way.

Continue reading

Configure the Adeunis RF LoraWAN Demonstrator

When testing or experimenting with LoRa, a test device that can send/receive LoRa packets on demand is a real value It allows you to test the network functionality and coverage. The Adeunis RF LoRaWAN Demonstrator is such test device. It can send and receive LoRa packets, has a built-in accelerometer and GPS and rechargeable battery. THis post explains how to configure the LoRaWAN demonstrator and add it to a network server.

Continue reading

Configure a LoRa device based on the Microchip RN2483

The Microchip RN2483 is a LoRa class A module widely available. In a normal, end-user scenario, LoRa endpoints (or devices/sensors) come with preconfigured parameters but before the module can be used, it needs to be configured with those parameters to use it in the LoRa network. What parameters to configure depends on the type of activation. For this post, I’ve been using the RN2483 based PICtail test-board.

Continue reading

Install the Zabbix 3.0.0 beta from source on CentOS or RHEL

It’s been a while since I was busy with Zabbix but I have been following their alpha releases for version 3 quite closely. Now that Zabbix released the first beta release for version 3, I thought that it was time to have a good look at this new and improved version. Zabbix is used a lot and more and more companies count on it as their primary monitoring solution. In this post, I’ll explain how to get started with the beta of the latest Zabbix release on CentOS 7 or RHEL 7.

Continue reading

How to prepare for Cisco CCNA Data Center 640-916 DCICT

After passing the first exam required to get a CCNA DC certification: DCICN (640-911), obviously, I was also studying for the second exam: DCICT (640-916). As this exam brought less surprise to me in terms of exam content, it was still a lot of information to process and study. Especially since I got a lot of info from different sources and to help me with studying, I decided to do the same thing as with the first exam. You can find the information which I gathered to pass the exam in this post. Hope it helps.

Continue reading

Create a minimal SSH-accessible chroot jail with Dropbear and BusyBox on CentOS

Sometimes you just need some kind of setup which is not so standard. This was the case which lead to this post. For some testing, I needed a minimal environment containing only a BusyBox shell and that was accessible via Dropbear SSH-server. Probably this setup is quite useless for daily use but it can be used as a base for testing with a minimum set of libraries available. Using this setup gives you the flexibility to experiment with a minimal environment without rebuilding small Linux images.

Continue reading

How to prepare for Cisco CCNA Data Center 640-911 DCICN

The Cisco Data Center certification track is quite new and I read that a lot of people fail on their first attempt(s). To get the CCNA-level of Data Center, you need to pass two exams: 640-911 DCICN and 640-916 DCICT. After giving a first look at the objectives for DCICN, it looked to me like CCNA Routing & Switching but on the Nexus platform. Well, after my first attempt to pass the exam, I realized that it requires a lot more studying and that the official books do not completely cover the exam objectives. In this post, I’ll try to explain what I studied to pass the exam.

Continue reading

Linux live kernel patching with kpatch on CentOS 7

Live or dynamic kernel patching allows you to patch a running kernel with no impact to running applications and without rebooting the system. Since the announcement and release of Linux kernel version 4, live kernel patching got got a lot of extra attention. Most probably this is because there weren’t a lot of big changes that one would expect with an increase in the version number. While v4 of the kernel does introduce some new stuff related to live or dynamic kernel patching, Live kernel patching was and is already available for earlier kernel releases. In this post, I’ll try to explain the differences between the new and old method and more important how to do live patching of a v3 kernel on CentOS 7.

Continue reading

SELinux in a practical way

SELinux is often seen as an evil, complex, unnecessary and especially annoying security component which exists in a lot of Linux distributions. Often you can hear something like: “Disable SELinux and try again” or , “The first thing I do on a new server is to disable SELinux”. The problem with SELinux is that it looks very complex and that it looks like you need to spend ages to understand it. In this post, I’ll try to explain a few basic SELinux principles and especially focus on daily, practical problems related to SELinux and their solutions. Don’t forget that there’s a very good reason for SELinux and it would be a shame to not use it.

Continue reading

Setup roundcube webmail as a proxy for Gmail

Recently, I was asked to find a solution or workaround for people using Gmail and are visiting countries where there’s limited or no access to Gmail. I’m not talking about bad internet connection quality but about an explicit (government) block on Gmail or related websites. An example is the block on Gmail by the Chinese Great Firewall. While there is a possibility to avoid the limitation by using a normal proxy or VPN connection, those methods are also actively blocked and monitored. A workaround is to setup your own webmail, as a proxy for Gmail.

Continue reading

Setup a redundant PostgreSQL database with repmgr and pgpool

Using a database to store information is very common. The more information gets stored in a database, the more critical it becomes. At a certain point, the need for a redundant, high(er) available database-setup raises. When you’re using PostgreSQL, you can setup streaming replication quite easily in order to have your data redundant on two or more nodes. But wouldn’t it be a shame if you wouldn’t use the copies of your data to balance the load of your primary database-server? In this post, I’ll try to explain how to setup a redundant PostgreSQL database with load balancing.

Continue reading

Tips & tricks for Ansible

Ansible is a very powerful configuration management tool. It can be used to deploy settings and software to one or more (virtual) machines. Using a CM-tool ensures that every deployment is done in exactly the same way. This doesn’t only make your job as a system engineer a whole lot easier, it also results in a more stable environment since every machine is consistent and more predictable. I’m using Ansible intensively for quite some time now and found that it was time to write a post about some small, but usually hard to find or annoying to solve, problems or challenges.

Continue reading

Complile and use a realtime kernel on CentOS 7 or RHEL 7

While the need for a realtime kernel or kernel-rt hasn’t been very high recently, there are these special cases where you really need one. A “standard” linux kernel is fast but also balanced in order to treat all workload fair and give each kind of task an equal share of the system resources. A realtime kernel allows you to squeeze that extra bit of performance out of the kernel. It basically allows you to tune it in a more aggressive way in regards to timing and priorities. Since I couldn’t find any clear instructions on how to get a realtime kernel for CentOS 7 and RHEL 7, I decided to write them myself.

Continue reading

Install and use Spacewalk 2.4 on CentOS 7 and RHEL 7

Spacewalk is the upstream-project for Redhat Satellite. It’s a tool which is mainly used to list, deploy and manage packages and updates to Fedora, CentOS, SLES and even Debian installations. Recently a new version, 2.4, came out, so let’s have a look at the installation procedure and how to perform some basic Spacewalk actions

Continue reading

Install oVirt on CentOS 7

Recently, as you could see in previous posts, oVirt got to my attention. oVirt is the upstream project of Red Hat Enterprise Visualization or RHEV. While oVirt it isn’t providing everything that competitor VMWare ESXi does, it comes close and is a very good alternative for smaller or home setups. For a long time, oVirt wasn’t supported on Enterprise Linux 7 (like RHEL 7 or CentOS 7) but since a short time it is. Here you can find how to install oVirt and get started.

Continue reading

Install the Cinnamon desktop environment on CentOS 7

As you might know, Linux is everything about diversity. With the numerous desktop environments available nothing is different in that area. Besides Mate and XFCE, Cinnamon is one of my favorite desktop environments on Linux. Honestly, I can’t really choose. Cinnamon is fast, (not too) fancy, customizable and familiar in some way. Here is how to install Cinnamon on a fresh minimal CentOS 7 installation.

Continue reading

Create a PXE bootserver to install multiple Linux distributions

When regularly installing Linux hosts or VM’s, it easily becomes annoying to constantly burn CD’s/DVD’s or mount ISO’s for all the Linux distributions that you want to deploy. Especially if you want to keep them current or customize them you’ll end up with a whole lot of discs. Booting your installations from the network, using a PXE boot server, makes life a lot easier and isn’t very hard to setup. In this post I’ll explain how to setup such a PXE boot server that is able to provide multiple Linux distribution installations for deployment over the network.

Continue reading