All Categories
Product Description Have you ever wanted to build your own operating system, but didn't know where to begin? Then this book is for you! In this book, the author explains everything you need to know from getting and installing the necessary tools to writing, compiling, deploying, and testing your very own operating system. By the time you are done you will have an operating system to call your own. And, don't worry about destroying your existing hardware and software environment as everything in this book is written with the intention of running in a virtualized environment. However, should you choose to do so, the author also explains how to deploy and test your new OS on bare-metal hardware as well. The first few chapters give a brief overview of how modern day computers work. In these chapters you will (re)learn everything from memory allocation, stacks, and bootloaders to low-level machine code and programming languages. After that, you will jump into downloading and installing the tools you will use for building your very own operating system. Here you will learn how to develop a bootloader and kernel just like modern day computers rely on for operating. The last few chapters will explain how to deploy and test your operating system as well as how to expand your OS to do more and even how to cross-compile your shiny new operating system for other devices such as the Raspberry Pi. To give an idea of what you can find in this book, below is the Table of Contents. 0x01 OS Basics 0x02 Intro to Machine Code 0x03 Intro to the Assembly Programming Language 0x04 Into to the C Programming Language 0x05 Getting Started - Installing VirtualBox - Installing Linux - Installing GNOME - Preparing CentOS and the VM - Troubleshooting VirtualBox Guest Additions - Preparing the Development Environment 0x06 Bootstrapping with the Bootloader - Creating the Entry Point - GNU GRUB - Compiling the Entry Point 0x07 Welcome to the Kernel 0x08 Putting it all Together 0x09 Testing Your Operating System 0x0A Starting Your Architecture Library - Expanding the Console 0x0B Expanding Your OS 0x0C Cross-Compiling for Other Architectures - Create a Custom Cross-Compiler - Porting for the Raspberry Pi - Testing on Physical Hardware Conclusion Acknowledgements Appendix Index About the Author Lucus Darnell (born 1981) has spent his entire life in the technology industry. He received his first computer at the age of 7, wrote his first software application at the age of 9, and has built & sold several technology related businesses since the age of 18. Lucus also has over a decade's worth of private consulting experience with large technology companies worldwide and continues to travel globally to this day to work with companies in every industry. His main focuses in recent years are home automation, the Internet of Things, artificial intelligence, and computer vision, but still continues to teach other technologies through various channels.