fixed iPXE mini image. merging into master.

This commit is contained in:
2016-12-17 15:16:09 -05:00
parent a670ff8eb7
commit b96805f4fb
16 changed files with 176 additions and 886 deletions

4
docs/manual/BODY.adoc Normal file
View File

@@ -0,0 +1,4 @@
include::USER.adoc[]
include::DEV.adoc[]
include::FOOT.adoc[]

10
docs/manual/DEV.adoc Normal file
View File

@@ -0,0 +1,10 @@
= Developer Manual
[partintro]
.What good is software if nobody changes it?
--
Text.
More text.
--
include::dev/FUNCTIONS.adoc[]

4
docs/manual/FOOT.adoc Normal file
View File

@@ -0,0 +1,4 @@
[appendix]
= User Manual
[appendix]
= Developer Manual

View File

@@ -1,33 +1,38 @@
BDisk User and Developer Manual
===============================
Brent Saner
= BDisk User and Developer Manual
Brent Saner <bts@square-r00t.net>
v1.0, 2016-12
:doctype: book
<<<
:data-uri:
:imagesdir: images
:toc: preamble
:toc2: left
:sectnums:
:toclevels: 5
// So there's currently a "bug" in that the TOC will display with continued numbering across parts.
// i essentially want the opposite of https://github.com/asciidoctor/asciidoctor/issues/979 TODO
[dedication]
Thanks
======
= Thanks
See CREDITS in the project source for a list of thanks.
[preface]
Preface
=======
= Preface
=== About the Author
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 Im not working at _${dayjob}_, mostly to assist in other side projects and become more efficient and proficient at those tasks. “Shaving the yak,” footnote:[See http://catb.org/jargon/html/Y/yak-shaving.html] indeed.
A lot of research went into how low-level boot operations take place when writing BDisk, both in BIOS and UEFI footnote:[*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). I invite you to do research into the specifications yourself; it's rather fascinating.
What is BDisk?
~~~~~~~~~~~~~~
=== 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 also refers to the tool I use for building that distribution. The latter is what this project and documentation refer to when the word “BDisk” is used.
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- its quite challenging to try to approach software youve written with the mindset of someone other than you.
Its my hope that by releasing this utility (and documenting it), 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!).
Copyright/Licensing
~~~~~~~~~~~~~~~~~~~
=== Copyright/Licensing
BDisk is GPLv3-licensed. This means that you can use it for business reasons, personal reasons, modify it, etc. Please be sure to familiarize yourself with the full set of terms. You can find the full license in `docs/LICENSE`.
image::https://www.gnu.org/graphics/gplv3-127x51.png[GPLv3,align="center"]
@@ -36,16 +41,4 @@ This document (and all other associated author-generated documentation) are rele
image::https://i.creativecommons.org/l/by-sa/4.0/88x31.png[CC-BY-SA_4.0,align="center"]
<<<
User Manual
===========
[partintro]
.What good is software if nobody uses it?
--
BDisk was ultimately designed to make your life easier.
--
TEXT
----
include::BODY.adoc[]

23
docs/manual/USER.adoc Normal file
View File

@@ -0,0 +1,23 @@
= User Manual
[partintro]
.What good is software if nobody uses it?
--
BDisk was ultimately designed to make your life easier. "Why would I possibly need yet another LiveCD/LiveUSB?" Well, that's sort of the point- by customizing a live distribution of GNU/Linux to _your_ particular needs/desires/whimsy, you can do away with the multiple other images you keep around. It's designed to let you create a fully customized distribution.
Using BDisk, you can:
* Install GNU/Linux (https://wiki.archlinux.org/index.php/installation_guide[Arch], https://watchmysys.com/blog/2015/02/installing-centos-7-with-a-chroot/[CentOS], https://www.debian.org/releases/stable/amd64/apds03.html.en[Debian], https://wiki.gentoo.org/wiki/Handbook:AMD64#Installing_Gentoo[Gentoo], https://help.ubuntu.com/lts/installation-guide/powerpc/apds04.html[Ubuntu]...). BDisk may be Arch-based, but many if not most other distros offer ways to install from any GNU/Linux live distribution.
* Perform disk maintenance (https://raid.wiki.kernel.org/index.php/RAID_setup[mdadm], fdisk/http://www.rodsbooks.com/gdisk/[gdisk], http://gparted.org/[gparted], https://www.thomas-krenn.com/en/wiki/StorCLI[storcli], etc.). Need to replace that disk in your RAID and you don't have hotswap? Not a problem!
* Rescue, recover, wipe (http://www.sleuthkit.org/sleuthkit/[scalpel], http://www.andybev.com/index.php/Nwipe[nwipe], http://foremost.sourceforge.net/[foremost], etc.). Chances are this is why you booted a live distro in the first place, yes?
* Boot over the Internet (or LAN). Burning a new image to CD/DVD/USB is a pain. BDisk has built-in support for http://ipxe.org/[iPXE] (and traditional PXE setups). Update the filesystem image once, deploy it everywhere.
* And much, much more.
** Seriously.
This manual will give you the information you need to build your very own live GNU/Linux distribution.
--
include::user/GETTING_STARTED.adoc[]
include::user/PROJECT_LAYOUT.adoc[]

View File

@@ -0,0 +1,5 @@
== Layout of BDisk functions
text
== Moar Functions
and more text.

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

View File

@@ -0,0 +1,36 @@
== Getting Started
=== Downloading
If it isn't in your distro's repositories (It *is* in Arch's AUR! Both https://aur.archlinux.org/packages/bdisk/[tagged release] and https://aur.archlinux.org/packages/bdisk-git/[git master].), you can still easily get rolling. Simply visit the project's https://git.square-r00t.net/BDisk/[source code web interface] and download a tarball under the *Download* column:
image::fig1.1.png[cgit,align="center"]
If you know the tag of the commit you want, you can use curl:
`curl -sL -o bdisk.tar.xz https://git.square-r00t.net/BDisk/snapshot/BDisk-3.11.tar.xz`
or wget:
`wget -O bdisk.tar.xz https://git.square-r00t.net/BDisk/snapshot/BDisk-3.11.tar.xz`
You can use `https://git.square-r00t.net/BDisk/snapshot/BDisk-master.tar.xz` for the URL if you want the latest working version. If you want a snapshot of a specific commit, you can use e.g. `https://git.square-r00t.net/BDisk/snapshot/BDisk-5ac510762ce00eef213957825de0e6d07186e7f8.tar.xz` and so on.
Alternatively, you can use https://git-scm.com/[git]. Git most definitely _should_ be in your distro's repositories.
TIP: If you're new to git and want to learn more, I highly recommend the book https://git-scm.com/book/en/v2[Pro Git]. It is available for free download (or online reading).
You can use https:
You can clone via https:
`git clone https://git.square-r00t.net/BDisk`
or native git protocol:
`git clone git://git.square-r00t.net/bdisk.git BDisk`
The git protocol is much faster, but at a cost of lessened security.
=== Prerequisites
Here's a complete list of prerequisites:

View File

@@ -0,0 +1,2 @@
== Project Structure
file tree, explain dirs and files