Writing an OS from scratch

As a learning opportunity, and for something to stop me getting into trouble, I’ve always been tempted by the idea of writing an OS from scratch. Much like trying to write my own programming language, coding an OS from the ground up holds a certain allure as one of the […]

Configure GRUB for a new kernel

For those of you who didn’t use make install, you still have to configure your bootloader to include the new kernel. GRUB comes with a set of tools for this, and the command we need is the following. grub-mkconfig -o /boot/grub/grub.cfg And that’s it. Really! Reboot now, and use the […]

Creating an initramfs

A lot of the code that your machine needs in order to boot will be built as kernel modules, and so won’t be immediately available to the kernel at boot-time. For the modules that drive your printer, sound-card, USB devices, etc., this isn’t a problem, but a lot of critical […]

Kernel installation

If you’ve been following along, you should now have configured and compiled the kernel. The next step is to install all the files you just created into the correct place. That’s what we will do here. When you configured the kernel, there is likely (almost definitely) to be a lot […]

Compile the kernel

This is the easiest part of the entire process to describe (although it may well be the longest to execute. The kernel now needs to be compiled according to the configuration your just gave it. For that we use make, and I add the -j option to take advantage of […]

Compile and run the Linux Kernel

The most obvious first step of my project to better understand the Linux kernel is to compile and run it for myself. It’s not the first time I’ve done this — my first experience was with Linux From Scratch several years ago — but I was still quite intimidated by […]

Build AreaDetector for EPICS from source

This will be a long post, but by the end of it you should have a working installation of AreaDetector ready to use with your EPICS projects.  Since this post follows on from my previous how-to, I will be using Linux Mint 18.2 and EPICS 15.5. Dependencies Before building and […]