Hello everyone, I'm new posting to the newbies kernel list and currently learning kernel driver and subsystem development. I am considering working on a Macbook air with virtual machines for my learning and experimentation process. Is it reasonable or would it be better to consider native development, especially while working remotely? I plan to use the macbook as a remote development environment with tools to work on code inside virtual machines and remotely (ssh) to a desktop with Ubuntu 24. It has been cumbersome getting the kernel to build due to configurations in Ubuntu for certificates which do not exist in the mainline kernel so any suggestions on any other host OS are appreciated. I have no issues switching between distributions and consider it a great part of the development learning process. Thanks, Isaac Gonzalez
Why would you use a mac for kernel dev? That's a horrible choice. Stick with bare metal linux. Dec 17, 2025, 20:21 by uribiel.gc@gmail.com:
Hello everyone,
I'm new posting to the newbies kernel list and currently learning kernel driver and subsystem development.
I am considering working on a Macbook air with virtual machines for my learning and experimentation process. Is it reasonable or would it be better to consider native development, especially while working remotely?
I plan to use the macbook as a remote development environment with tools to work on code inside virtual machines and remotely (ssh) to a desktop with Ubuntu 24. It has been cumbersome getting the kernel to build due to configurations in Ubuntu for certificates which do not exist in the mainline kernel so any suggestions on any other host OS are appreciated. I have no issues switching between distributions and consider it a great part of the development learning process.
Thanks, Isaac Gonzalez
Why would you use a mac for kernel dev? That's a horrible choice. Stick with bare metal linux.
I think a Mac with virtual machines works just fine. I use such an environment for kernel development, and don't have any problems. Certainly don't try to build directly on the Mac, particularly on a filesystem without case sensitivity. I have used Ubuntu, CentOS, and Fedora successfully to build kernels for the native CPU architecture. These can be tested in another VM quite easily. I have not tried to cross-compile a kernel however (so I haven't tried to build an x86_64 kernel on an m4 mac, nor an aarch64 kernel on an x86_64 mac), but if it works on bare metal, I would expect it to work the same on the VM. You just have to get all your prerequisites installed first. I don't know the specifications for your Macbook air, or whether it is an M series machine or an older x86 machine. The M series are much faster than the older X86 macs. The number of cores, amount of memory, and amount of storage will all play into how well this environment works for you. I'm using an M4 Max with 128GB memory and 8TB SSD. I have my Fedora VM setup with 16GB memory and 4 processor cores and 1TB (sparse) disk. The ubuntu VM is setup the same, although I don't usually keep them both running. I usually work in the Fedora VM.
Why would you use a mac for kernel dev? That's a horrible choice. Stick with bare metal linux. It's part of my workflow outside kernel development. The reason I considered it was because of the battery life and portability.
I think a Mac with virtual machines works just fine. I use such an environment for kernel development, and don't have any problems. Certainly don't try to build directly on the Mac, particularly on a filesystem without case sensitivity. I have used Ubuntu, CentOS, and Fedora successfully to build kernels for the native CPU architecture. These can be tested in another VM quite easily. I have not tried to cross-compile a kernel however (so I haven't tried to build an x86_64 kernel on an m4 mac, nor an aarch64 kernel on an x86_64 mac), but if it works on bare metal, I would expect it to work the same on the VM. You just have to get all your prerequisites installed first. I don't know the specifications for your Macbook air, or whether it is an M series machine or an older x86 machine. The M series are much faster than the older X86 macs. The number of cores, amount of memory, and amount of storage will all play into how well this environment works for you. I'm using an M4 Max with 128GB memory and 8TB SSD. I have my Fedora VM setup with 16GB memory and 4 processor cores and 1TB (sparse) disk. The ubuntu VM is setup the same, although I don't usually keep them both running. I usually work in the Fedora VM.
Yea, thanks! For now I don't plan to overwhelm myself with cross compilation or trying to make everything run as smoothly on my mac as it would on a VM or on bare metal. Sure enough, feedback on the operating systems and system specs gives a lot of insight. My mac is an M2 with only 16GB ram and 1TB ssd. So just for learning and due to computer resources it would work okay.
On 12/17/25 7:49 AM, Isaac Gonzalez wrote:
Hello everyone,
I'm new posting to the newbies kernel list and currently learning kernel driver and subsystem development.
Welcome to the Linux Kernel community!
I am considering working on a Macbook air with virtual machines for my learning and experimentation process. Is it reasonable or would it be better to consider native development, especially while working remotely?
I'd always suggest native but using MacOS ssh'd into a different host or running a VM are pretty okay options IMO. Personally I'd find all this kinda cumbersome to work in, running a x86_64 machine with a native Linux Distro seems like the easier route. (although I do understand the want to use a Macbook, the M series are great on power!)
I plan to use the macbook as a remote development environment with tools to work on code inside virtual machines and remotely (ssh) to a desktop with Ubuntu 24. It has been cumbersome getting the kernel to build due to configurations in Ubuntu for certificates which do not exist in the mainline kernel so any suggestions on any other host OS are appreciated.
I generally have an easier time in Arch, but Debian is also a good option if you don't want to deal with the bleeding edge packages Arch uses. (It's generally pretty stable, but bugs do slip through more often compared to Debian for example) Cheers, Louis
Debian is also a good option if you don't want to deal with the bleeding edge packages Arch uses. (It's generally pretty stable, but bugs do slip through more often compared to Debian for example)
With debian, you always get bugs and late updates. Arch is far better and never breaks Dec 18, 2025, 13:58 by lewisharshman1@gmail.com:
On 12/17/25 7:49 AM, Isaac Gonzalez wrote:
Hello everyone,
I'm new posting to the newbies kernel list and currently learning kernel driver and subsystem development.
Welcome to the Linux Kernel community!
I am considering working on a Macbook air with virtual machines for my learning and experimentation process. Is it reasonable or would it be better to consider native development, especially while working remotely?
I'd always suggest native but using MacOS ssh'd into a different host or running a VM are pretty okay options IMO.
Personally I'd find all this kinda cumbersome to work in, running a x86_64 machine with a native Linux Distro seems like the easier route. (although I do understand the want to use a Macbook, the M series are great on power!)
I plan to use the macbook as a remote development environment with tools to work on code inside virtual machines and remotely (ssh) to a desktop with Ubuntu 24. It has been cumbersome getting the kernel to build due to configurations in Ubuntu for certificates which do not exist in the mainline kernel so any suggestions on any other host OS are appreciated.
I generally have an easier time in Arch, but Debian is also a good option if you don't want to deal with the bleeding edge packages Arch uses. (It's generally pretty stable, but bugs do slip through more often compared to Debian for example)
Cheers, Louis
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Thu, Dec 18, 2025 at 1:51 PM <keypair@tuta.io> wrote:
With debian, you always get bugs and late updates. Arch is far better and never breaks
Distro evangelism isn’t particularly useful here. The claim that “Arch never breaks” doesn’t reflect reality. Arch is a rolling-release distribution by design, which provides bleeding edge packages but can and does experience breakage as part of that model. Debian prioritizes stability and reproducibility, which is why it’s commonly used in long-lived development and CI environments. These are different engineering trade-offs. One isn’t inherently “better” than the other, and framing one as “buggy” while the other “never breaks” ignores nuance. If a particular setup is problematic, it’s more helpful to explain *why* and in what contexts, rather than making absolute claims or calling it "horrible" with no further explanation. On 12/17/25 7:49 AM, Isaac Gonzalez wrote:
Hello everyone,
I'm new posting to the newbies kernel list and currently learning kernel driver and subsystem development.
As others have said, working inside a Linux VM on macOS or using a remote Linux host over SSH is fine. Bare-metal Linux can be simpler in some cases, but if a VM or remote setup fits your workflow, then I don't see any reason why not (I also use a VM when I'm on Windows sometimes). What matters most is having a reliable Linux environment to build and test kernels, not the host OS itself. Raka
participants (5)
-
Billie Alsup (balsup) -
Isaac Gonzalez -
keypair@tuta.io -
Louis -
Raka Gunarto