There a few reasons why you might want to build your own distribution. You might want to build a custom install CD to match the policy of your organisation. For example, a GNOME desktop with Chrome as the web browser might be the standard desktop where you work. That touches on another motivation for wanting to create a customised installer: sometimes the creator of the distribution makes a decision that you simply don’t like. Canonical’s decision to switch to its own UI, Unity, ranks amongst its most controversial decisions. However, by using some of the methods that we explore here, you could create a distribution that is standard Ubuntu, but with a traditional desktop that you are more comfortable with.
There are other, niche reasons for wanting to build your own distribution. You might need to put something small and lightweight together for an older computer. You might need to build a live media ISO that you are able to carry around with you and to bring your favourite set of tools to bear when you need them.
Massive open online courses offer IT professionals the opportunity to learn about some of the tech industry's most in-demand and current topics for free. Available to anyone with a Web connection, MOOCs cover a range of hot tech topics including software defined networking, cloud computing, security, drone development, artificial intelligence and mobile programming.
Popular MOOC platforms include edX, a venture developed by the Massachusetts Institute of Technology and Harvard University, and Coursera, which was founded by two Stanford University professors. Course material mostly comes from academic institutions that adapt the material taught in classrooms for online learning. Cornell University, the University of California Berkeley and Caltech are just some of the schools that have made content available on MOOC platforms.
Oh, one last comment about UEFI boot to close this post. As was the case with the previous Mint 16 release, the UEFI boot directory will be named 'ubuntu', so if you want to install Mint 17 and Ubuntu both on the same UEFI boot system, you will have to be careful about that.
The most obvious solution, renaming the boot directory after the first of them is installed, doesn't work (it won't boot that one any more). The solution I have found which does work is to create a second EFI Boot partition, but neither Ubuntu nor Mint will let you specify the UEFI boot partition to use on installation, so you have to copy the boot directory to the second EFI partition after installing. This is not a big deal, if you are "advanced" enough to be installing both distributions on one system, then you should also be able to handle this.
Probably the easiest way to start kernel programming is to write a module – a piece of code that can be dynamically loaded into the kernel and removed from it. There are limits to what modules can do – for example, they can’t add or remove fields to common data structures like process descriptors. But in all other ways they are full-fledged kernel-level code, and they can always be compiled into the kernel (thus removing all the restrictions) if needed. It is fully possible to develop and compile a module outside the Linux source tree (this is unsurprisingly called an out-of-tree build), which is very convenient if you just want to play a bit and do not wish to submit your changes for inclusion into the mainline kernel.