Boot Loaders

Last Updated on June 2, 2020 by KC7NYR

By NCS Yuuki-K7SAK – Sept 23, 2019


Boot loaders (bootloaders):

How does a computer go from being an expensive paper weight to a fully interactive machine? It is not enough to simply run current through them such as with older radios, but they must go through a complex process of accessing memory, detecting hardware addresses, loading kernels, and ultimately bringing up an operating system and user space for us to play and work in.

Kernels and software in memory essentially have to be:

1. Detected — Linux runs on all different sorts of hardware and is expected to boot on each one. Different architectures will require different drivers, and the boot process is designed to meet this demand. BIOS and MBR are the early stages that bridge hardware and user space. GRUB (Grand Unified Bootloader) is unique to Linux distros, and augments the MBR with special code that allows it to include much more options for customization.

A nifty piece of ingenuity- the MBR is a 512 byte initial stage that is ALWAYS at the same position (address) on a hard drive. Because the MBR is always in a standard position, there is no need for an as of yet ‘groggy’ boot process to go about searching for the very first thing it needs, much like a teenager instinctively slapping down on the same alarm clock without the need to get up and find anything.

2. Initialized — Once the minutiae of hardware is detected, the computer is successfully beyond the (sometimes) proverbial ‘paperweight’ stage, because hardware is working with early user space. From here, the kernel initialization pedagogy differs from distro to distro.

Debian creates a lean and custom kernel image with the necessary kernel modules early on, whereas Ubuntu creates a more generalized kernel image and leaves a lot of the detection to happen at a later stage. I am not a kernel developer, but I wonder what the advantages and disadvantages of each are, particularly when it comes to boot time, file sizes (how ‘lean’ the code is), etc.

Below is a block flow chart of the boot process:

HARDWARE → | BIOS → | MBR/GPT 512 bytes → | GRUB →| → KERNEL

MBR: Primary boot loader (446 bytes) + Partition table (64 bytes)


Discussion notes created by K7SAK from the Net

Compressing and sending multiple phone camera images over the internet. Because my phone take .jpg images, this is not possible to do. JPEG files are already compressed, and are a lossy format. They seem to be like the MP3 of image file types. Trying to compress a JPEG actually makes the file size bigger, making the endeavor an effort of irony.

Possible solutions include: using hosted services such as DropBox (suggested by WA9ONY). We also had imagemagick, a command line tool suggested by

App pick: Signal Messenger

Signal allows end users to send encrypted messages in the same fashion as SMS using symmetrical key pairs. The app replaces your default messenger app seamlessly and can still be used to send un-encrypted SMS messages to anyone not also using a Signal client on their phone. There is a companion desktop app that gives users the power to send text messages instantly to others from the comfort of your full keyboard.

NOT MENTIONED ON THE NET: Signal also supports digital and encrypted voice calling over WiFi and network connections. This means that two Signal users can enjoy end-to-end encrypted, high quality digital voice chatting for free when done over WiFi, and leverages lower-than-minutes data rates when used over a provider network. Larger attachments and hi-res images may also be sent, exceeding the file size limitations of SMS.

Michael, KK6YUR, introduced us to a feature of Signal called ‘disappearing messages’ where a user can put a shelf life on a message where after the time expires, the message becomes unavailable. Kevin, KU0L, raised the question of how this is achieved, prompting us to investigate whether this was a feature common to all messages or only Signal messages, being that it seems impractical to delete a message off of the server of a cellular provider. He also helped us clarify the path that Signal messages take and how we can prevent people from reading them on the server side. This is done by using symmetrical key pairs that only the two devices have access to, and Signal messages never touch the network of any provider.


This Site is Updated Often. Thank you for The Visit!
Copyright © 2018-2020 KC7NYR Amateur Radio Site

Site Map