bdisk/docs/manual/user/IMPORTANT_CONCEPTS.adoc

5.3 KiB
Raw Blame History

Important Concepts

If this is your first foray into building live distros, there are some terms and concepts we need to understand first. This will simplify the process later on.

Terms

An operating system, or OS, is what your programs (email client, web browser, etc.) run on.

There are two basic types of booting systems that communicate between the hardware (the physical computer itself and its components) and the operating system: BIOS (Basic Input/Output System) which has been around for quite some time and the newer UEFI (Unified Extensible Firmware Interface). Dont worry, you dont need to memorize what theyre acronyms for and there wont be an examjust remember that BIOS is an older technology and UEFI is the newer one (and that they operate differently).

GNU/Linux, sometimes just referred to as Linux (And there is a difference between the terminologies, but its nuanced. You are welcome to read up on it though!), is an example of an operating system. Other examples include Windows, macOS (previously OS X), iOS, Android, and a whole slew of others. There are many types of GNU/Linux offerings, called distributions, flavors, or distros.

A live distro, live CD, live DVD, live USB, and the like are a way of booting an operating system without installing it on the hard drive- this means the computer doesnt even need a hard drive installed, or it doesnt matter if the installed operating system is broken. Typically they are Linux-based, but there are several Windows-based live releases out there (usually theyre focused on rescuing broken Windows systems, so theyre not very flexible).

Hybrid ISOs are ISO files that can be burned to optical media (CDs, DVDs, etc.) and also be dd'd directly to a USB thumbdrive (for computers that support booting from USB). That means one file, multiple media types.

Architectures are different hardware platforms. This mostly refers to the CPU. Common implementations are 64-bit (also known as x86_64 or AMD64 for ones that support running both 64-bit and 32-bit software, or IA64 or Itanium for processors that only support 64-bit) and 32-bit (or i686 and the older i386 and i486 implementations). Most consumer PCs on the market today are x86_64.

Chroots, chrooting, and the like are variants on the word chroot. A chroot is a way of running a GNU/Linux install "inside" another GNU/Linux distro. Its sort of like a virtual machine, or VM, except that its a lot more lightweight and it doesnt do any actual virtualization- and uses the hosts kernel, memory mapping, etc. Its very useful for development of operating systems.

PXE, or Pre-boot eXecution Environment, is a way of booting operating systems over a local network.

iPXE is a project that builds a very small Linux kernel, UNDI (traditional PXE) images, and the like that allow you to essentially use PXE over the Internet. Its very flexible and customizable, and supports a custom scripting engine and such.

Why live media is necessary/Why you might want BDisk

"But Brent," I hear you ask in a voice which most likely is nothing close to what you actually sound like and entirely in my head, "Why would I need a live CD/USB/etc.? And why BDisk?"

Elementary, my dear imaginary reader! I touch on some reasons why one might want live media in the beginning of the User Manual, but heres why you might want BDisk specifically as opposed to another live distro (or live distro creator).

  • Fully customizable

  • Works with a multitude of GNU/Linux distrosboth for the host build system and as the guest. (Still under development!)

  • It performs optimizations and compression to help you get the smallest ISO possible.

  • In addition to building hybrid ISOs, it supports building iPXE hybrid ISOs (meaning you only need a very small file; the rest of the operating system boots over the Internet).

  • It supports both BIOS and UEFI systems- both the full image and the iPXE images.

  • It supports multiple architectures (x86_64, i686, possibly IA64untested) on the same ISO.

  • It supports automatically syncing to a web mirror, PXE boot server, etc. via rsync upon successful build.

  • It supports SecureBoot (untested!).

  • It is 100% compatible with both the Arch installation guide and the Gentoo installation guide.

  • It allows for non-interactive/automated building (i.e. nightly images).

  • It supports arbitrary file inclusion in a defined path on the ISO itself, not via some arbitrary directory as a separate partition on the media.

  • It can automatically build an accompanying "mini" ISO using iPXEwhich is also a hybrid, UEFI-supported ISO.

  • Automatic versioning based on git tags (optional).

Who might want to use BDisk?

  • System builders/hardware testers

  • System Administrators/Engineers/Architects

  • Information Security professionals

  • Computer repair shops

  • Technology Consultants

  • Hobbyists

  • Home GNU/Linux users

  • Technology enthusiasts