2016-12-01T11:27:37.6655108212016-12-04T05:22:38.498441678PT12H18M12S33LibreOffice/5.2.3.3$Linux_X86_64 LibreOffice_project/20m0$Build-3 93054 0 40748 21751 true false view2 11578 3494 0 93054 40746 114803 0 1 false 100 false false true true true 0 true true false false false false false false false false false false false false true true false false true false true false false false false true false false false false false false true 1037822 false false true false true true false true 0 false true high-resolution false false false false true true true false false false true false false false true false 38510 false 1 true false false 0 false false false , , BDisk ManualPage 5 of 5 Sunday, December 4, 2016 BDISK Manual v1.0 Brent Saner bts@square-r00t.net Table of Contents Table of Contents Chapter I: Introduction3 Section I.1: What is BDisk?3 Section I.2: Who wrote it?3 Section I.3: What is this document?3 I.3.i: Conventions used in this document3 Section I.4: Further information/resources3 I.4.i: For Users3 I.4.ii: For Developers4 Chapter II: Getting Started4 Introduction What is BDisk? BDisk refers to both a live distribution I use in my own uses (for rescue situations, recovery, etc.) but foremost and most importantly, it refers to the tool I use for building that distribution. This is what this project and documentation refer to when the word “BDisk” is used. BDisk is GPLv3-licensed. This means that you can use it for business reasons, personal reasons, modify it, etc. There are a few restrictions I retain, however, on this (don’t worry; they’re all in line with the GPLv3). You can find the full license in docs/LICENSE. When I rewrote BDisk in Python 3.x (I should take the time to note that I am still quite new to python so expect there to be plenty of optimizations to be made and general WTF-ery from seasoned python developers), one of my main goals was to make it as easy to use as possible. This is surprisingly hard to do- it’s quite challenging to try to approach software you’ve written with the mindset of someone other than you. Please see the For Users section (I.4.i). Who wrote it? I (Brent Saner) am a GNU/Linux Systems/Network Administrator/Engineer- I wear a lot of hats. I have a lot of side projects to keep me busy when I’m not working at ${dayjob}, mostly to assist in other side projects and become more efficient and proficient at those tasks. “Shaving the yak,” indeed. I did a lot of research into how low-level boot operations take place, both in BIOS and UEFI1 Unified Extensible Firmware Interface. UEFI is not BIOS, and BIOS is not UEFI. (and corresponding concepts such as Secureboot, etc.) which is no easy task to understand and very commonly misunderstood. (For instance, a common misconception is that UEFI necessarily implies Secureboot. This is quite far from the truth and UEFI by itself is quite a useful replacement for BIOS). Many of these misconceptions are simply due to lack of knowledge about the intricacies and complexities behind these technologies. Some of it is simply FUD2 Fear, Uncertainty, Doubt- propaganda, in other words. generated to prey on the fears of those who don’t understand the underlying specifications or technology. It’s my hope that by releasing this utility and documenting it that you can use it and save some time for yourself as well (and hopefully get the chance to learn a bit more in the process!). What is this document? This document is intended to be an indexed and easier-to-use reference than the other plaintext files (in docs/). Conventions used in this document There are certain formats used in this document to specify what type of text they are representing. Commands will be in italics. e.g. cat /tmp/file.txt Paths (files, directories) will be in bold (unless part of a command, output, etc.). e.g. /tmp/file.txt Variables will be underlined e.g. print(foo) URLs (hyperlinks, really; you should be able to click on them) are bold and underlined. e.g. https://bdisk.square-r00t.net Paramaters/arguments will be either in <angled brackets>, [square brackets], or [<both>] <> are used for positional arguments/parameters, or “placeholders” [] are used for optional arguments/parameters Thus e.g. someprog –dostuff <stufftodo> [--domorestuff <morestufftodo>] Further information/resources For Users If you encounter any bugs (or have any suggestions on how to improve BDisk!), please file a bug report in my bug tracker. For Developers The source is available to browse online or can be checked out via git (via the git protocol or http protocol). It is also available via Arch Linux’s AUR. If you are interested in packaging BDisk for other distributions, please feel free to contact me. Getting Started