Well, the kernel is not “just a program” in that it is not like the other programs on your system. If it was, you would “just” run it in your shell. The kernel cannot run this way of course because it is not a user mode program.
That said, if course the kernel is a program in the sense that it is a set of machine instructions that make the hardware do what you want.
And the kernel is designed to talk to hardware and other programs—to be the bridge between the two. It is not something an end-user interacts with directly.
Well, the kernel is not “just a program” in that it is not like the other programs on your system. If it was, you would “just” run it in your shell. The kernel cannot run this way of course because it is not a user mode program.
It’s a program certainly, but “just a program” is a bit misleading because it places it on the same footing as Doom or
cator an Arduino project. Linux is a ring 0 program, which processors give unique treatment.
Zaphod’s just zis guy, you know?
On my arch install, all I have is vmlinuz-linux under /boot. How come there’s no further information appended like in the article?
Different distros vary a bit here, and it will differ if you’re on a system using efi.
Sometimes /boot isn’t mounted by default (it’s not needed unless you’re updating a kernel). You may be seeing a symlink or placeholder there.
If you’re using efi there will probably be /boot/EFI or something where your kernel is stored.
Pretty good article, I read both. Well explained without too much tech jargon.
I liked both this and the following article.
Pretty cool seeing everything it takes to have a minimalist Linux to boot, and I finally saw how to get started with strace that I’ve been postponing for like half a year.




