Browse Source

Adds details about how to boot and use MH-USB

main
Abhas Abhinav 2 years ago
parent
commit
59852eb23b
9 changed files with 429 additions and 56 deletions
  1. +4
    -0
      docs/css/extra.css
  2. BIN
      docs/images/usb/boot-device.jpg
  3. BIN
      docs/images/usb/screenshots/haiku-boot.png
  4. BIN
      docs/images/usb/screenshots/haiku.png
  5. BIN
      docs/images/usb/screenshots/ungoogled-chromium.png
  6. +316
    -54
      docs/usb/index.md
  7. +0
    -0
      docs/usb/internals.md
  8. +107
    -0
      docs/usb/use.md
  9. +2
    -2
      mkdocs.yml

+ 4
- 0
docs/css/extra.css View File

@ -111,3 +111,7 @@ figure figcaption {
.md-icon, .md-source__repository {
color: #ffffff;
}
.admonition p {
font-size: 120%;
}

BIN
docs/images/usb/boot-device.jpg View File

Before After
Width: 800  |  Height: 150  |  Size: 34 KiB

BIN
docs/images/usb/screenshots/haiku-boot.png View File

Before After
Width: 273  |  Height: 153  |  Size: 15 KiB

BIN
docs/images/usb/screenshots/haiku.png View File

Before After
Width: 474  |  Height: 364  |  Size: 45 KiB

BIN
docs/images/usb/screenshots/ungoogled-chromium.png View File

Before After
Width: 568  |  Height: 179  |  Size: 11 KiB

+ 316
- 54
docs/usb/index.md View File

@ -1,14 +1,15 @@
# The Mostly Harmless USB disk
<figure style="margin:0">
<img src="/images/usb/top.png" width="540" align="left" />
<figcaption>
<figure style="display: table;">
<img src="/images/usb/top.png" width="400">
<figcaption style="display: table-caption; caption-side: bottom;
margin-top: 1em;">
The answer to the ultimate free software problem:
"How do I liberate or fix a computer when I don't always have a bootable USB disk handy?"
</figcaption>
</figure>
More details about the MH-USB: <https://mostlyharmless.io/usb/>
Details and rationale for the MH-USB: <https://mostlyharmless.io/usb/>
## Operating Systems
@ -19,172 +20,354 @@ installation:
### Alpine
<img alt="image" src="/images/usb/icons/alpine.png">
<br>
<img alt="image" src="/images/usb/screenshots/alpine.png">
<figure>
<img alt="image" src="/images/usb/icons/alpine.png">
</figure>
!!! tldr "About"
Alpine Linux is a security-oriented, lightweight Linux distribution
based on musl libc and busybox.
Alpine Linux is an independent, non-commercial, general purpose
Linux distribution designed for power users who appreciate security,
simplicity and resource efficiency.
<figure>
<img alt="image" src="/images/usb/screenshots/alpine.png">
</figure>
- Website: <https://www.alpinelinux.org/>
- OS Image:
<https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/x86_64/alpine-standard-3.15.0-x86_64.iso>
- Path on USB: `/OS/alpine-standard-3.15.0-x86_64.iso`
- Type: **Live + Installer**
<hr>
### Debian GNU/Linux
<img alt="image" src="/images/usb/icons/debian.png">
<br>
<img alt="image" src="/images/usb/screenshots/debian.png">
<figure>
<img alt="image" src="/images/usb/icons/debian.png">
</figure>
!!! tlr "About"
Debian is a complete Free Operating System! Also known as Debian
GNU/Linux, it is a GNU/Linux distribution composed of free and
open-source software.
<figure>
<img alt="image" src="/images/usb/screenshots/debian.png">
</figure>
- Website: <https://www.debian.org>
- OS Image:
<https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-11.2.0-amd64-cinnamon.iso>
- Path on USB: `/OS/debian-live-11.2.0-amd64-cinnamon.iso`
- Type: **Live + Installer**
<hr>
### Devuan GNU+Linux
<img alt="image" src="/images/usb/icons/devuan.png">
<br>
<img alt="image" src="/images/usb/screenshots/devuan.png">
<figure>
<img alt="image" src="/images/usb/icons/devuan.png">
</figure>
!!! tldr "About"
Devuan GNU+Linux is a fork of Debian without systemd that allows
users to reclaim control over their system by avoiding unnecessary
entanglements and ensuring Init Freedom.
<figure>
<img alt="image" src="/images/usb/screenshots/devuan.png">
</figure>
- Website: <https://www.devuan.org>
- OS Image:
<https://mirror.ungleich.ch/mirror/devuan/devuan_chimaera/desktop-live/devuan_chimaera_4.0.0_amd64_desktop-live.iso>
- Path on USB: `/OS/devuan_chimaera_4.0.0_amd64_desktop-live.iso`
- Type: **Live + Installer**
<hr>
### Fedora
<img alt="image" src="/images/usb/icons/fedora.png">
<br>
<img alt="image" src="/images/usb/screenshots/fedora.png">
<figure>
<img alt="image" src="/images/usb/icons/fedora.png">
</figure>
!!! tldr "About"
Fedora Workstation is a polished, easy to use operating system for
laptop and desktop computers, with a complete set of tools for
developers and makers of all kinds.
<figure>
<img alt="image" src="/images/usb/screenshots/fedora.png">
</figure>
- Website: <https://www.getfedora.org>
- OS Image: <https://download.fedoraproject.org/pub/fedora/linux/releases/35/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-35-1.2.iso>
- Path on USB: `/OS/Fedora-Workstation-Live-x86_64-35-1.2.iso`
- Type: **Live + Installer**
<hr>
### GNU Guix
<img alt="image" src="/images/usb/icons/guix.png">
<br>
<img alt="image" src="/images/usb/screenshots/guix.png">
<figure>
<img alt="image" src="/images/usb/icons/guix.png">
</figure>
!!! tldr "About"
Guix is an advanced distribution of the GNU operating system
developed by the GNU Project—which respects the freedom of computer
users.
Guix supports transactional upgrades and roll-backs,
unprivileged package management, and more. When used as a standalone
distribution, Guix supports declarative system configuration for
transparent and reproducible operating systems.
<figure>
<img alt="image" src="/images/usb/screenshots/guix.png">
</figure>
- Website: <https://guix.gnu.org>
- OS Image:
<https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso>
- Path on USB: `/OS/guix-system-install-1.3.0.x86_64-linux.iso`
- Type: **Live + Installer**
<hr>
### Haiku
<img alt="image" src="/images/usb/icons/haiku.png">
<br>
<img alt="image" src="/images/usb/screenshots/haiku.png">
<figure>
> <img alt="image" src="/images/usb/screenshots/haiku-boot.png">
</figure>
!!! tldr "About"
Haiku is an open-source operating system that specifically targets
personal computing. Inspired by the BeOS, Haiku is fast, simple to use,
easy to learn and yet very powerful.
Specifically targeting personal computing, Haiku is a fast, efficient,
simple to use, easy to learn, and yet very powerful system for computer
users of all levels.
Additionally, Haiku offers something over other
open source platforms which is quite unique: The project consists of a
single team writing everything from the kernel, drivers, userland
services, tool kit, and graphics stack to the included desktop
applications and preflets.
<figure>
<img alt="image" src="/images/usb/screenshots/haiku.png">
</figure>
- Website: <https://www.haiku-os.org/>
- OS Image:
<https://cdn.haiku-os.org/haiku-release/r1beta3/haiku-r1beta3-x86_64-anyboot.iso>
- Path on USB: `/OS/haiku-r1beta3-x86_64-anyboot.iso`
- Type: **Live + Installer**
<hr>
### LibreELEC
<figure>
<img alt="image" src="/images/usb/icons/libreelec.png">
</figure>
!!! tldr "About"
LibreELEC is a lightweight ‘Just enough OS’ Linux distribution
purpose-built for Kodi on current and popular mediacentre hardware.
Kodi is a media center and entertainment hub that brings all your
digital media together into a beautiful and user friendly package. It is
100% free and open source, very customisable and runs on a wide variety
of devices. It is supported by a dedicated team of volunteers and a huge
community.
- Website: <https://libreelec.tv/>
- OS Image:
<https://releases.libreelec.tv/LibreELEC-Generic.x86_64-10.0.1.img.gz>
- Path on USB: `/OS/LibreELEC-Generic.x86_64-10.0.1.img`
- Type: **Live + Installer**
<hr>
### Manjaro
<img alt="image" src="/images/usb/icons/manjaro.png">
<br>
<img alt="image" src="/images/usb/screenshots/manjaro.png">
<figure>
<img alt="image" src="/images/usb/icons/manjaro.png">
</figure>
!!! tldr "About"
Manjaro is a user-friendly Linux distribution based on the
independently developed Arch operating system. Within the Linux
community, Arch itself is renowned for being an exceptionally fast,
powerful, and lightweight distribution that provides access to the very
latest cutting edge - and bleeding edge - software.
Developed in Austria, France, and Germany, Manjaro provides all the
benefits of the Arch operating system combined with a focus on
user-friendliness and accessibility. Manjaro follows Archlinux and
officially only offers a 64 bit version. Manjaro is suitable for
newcomers as well as experienced Linux users.
<figure>
<img alt="image" src="/images/usb/screenshots/manjaro.png">
</figure>
- Website: <https://manjaro.org/>
- OS Image:
<https://download.manjaro.org/kde/21.2.1/manjaro-kde-21.2.1-220103-linux515.iso>
- Path on USB: `/OS/manjaro-kde-21.2.1-220103-linux515.iso`
- Type: **Live + Installer**
<hr>
### netboot.xyz
<img alt="image" src="/images/usb/icons/netboot.png">
<br>
<img alt="image" src="/images/usb/screenshots/netboot.png">
<figure>
<img alt="image" src="/images/usb/icons/netboot.png">
</figure>
!!! tldr "About"
netboot.xyz lets you PXE boot various operating system installers or
utilities from a single tool over the network. This lets you use one
media for many types of operating systems or tools. The iPXE project is
used to provide a user friendly menu from within the BIOS that lets you
easily choose the operating system you want along with any specific
types of versions or bootable flags.
You can remote attach the ISO to servers, set it up as a rescue option
in Grub, or even set up your home network to boot to it by default so
that it's always available.
<figure>
<img alt="image" src="/images/usb/screenshots/netboot.png">
</figure>
- Website: <https://netboot.xyz>
- OS Image: <https://boot.netboot.xyz/ipxe/netboot.xyz.iso>
- Path on USB: `/OS/netboot.xyz.iso`
- Type: **Live + Installer**
<hr>
### Open Media Vault
<img alt="image" src="/images/usb/icons/openmediavault.png" width="250px">
<br>
<img alt="image" src="/images/usb/screenshots/openmediavault.png">
<figure>
<img alt="image" src="/images/usb/icons/openmediavault.png" width="250px">
</figure>
!!! tldr "About"
openmediavault is the next generation network attached storage (NAS)
solution based on Debian Linux. It contains services like SSH, (S)FTP,
SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more.
Thanks to the modular design of the framework it can be enhanced via
plugins.
<figure>
<img alt="image" src="/images/usb/screenshots/openmediavault.png">
</figure>
- Website: <https://www.openmediavault.org/>
- OS Image:
<https://sourceforge.net/projects/openmediavault/files/5.6.13/openmediavault_5.6.13-amd64.iso>
- Path on USB: `/OS/openmediavault_5.6.13-amd64.iso`
- Type: **Installer**
<hr>
### OpenWRT
<img alt="image" src="/images/usb/icons/openwrt.png">
<br>
<img alt="image" src="/images/usb/screenshots/openwrt.png">
<figure>
<img alt="image" src="/images/usb/icons/openwrt.png">
</figure>
!!! tldr "About"
The OpenWrt Project is a Linux operating system targeting embedded
devices. Instead of trying to create a single, static firmware, OpenWrt
provides a fully writable filesystem with package management. This frees
you from the application selection and configuration provided by the
vendor and allows you to customize the device through the use of
packages to suit any application.
<figure>
<img alt="image" src="/images/usb/screenshots/openwrt.png">
</figure>
- Website: <https://openwrt.org/>
- OS Image:
<https://downloads.openwrt.org/releases/21.02.0/targets/x86/64/openwrt-21.02.0-x86-64-generic-ext4-combined.img.gz>
- Path on USB: `/OS/openwrt-21.02.0-x86-64-generic-ext4-combined.img`
- Type: **Live + Installer**
<hr>
### Proxmox VE
<img alt="image" src="/images/usb/icons/proxmox.png">
<br>
<img alt="image" src="/images/usb/screenshots/proxmox.png">
<figure>
<img alt="image" src="/images/usb/icons/proxmox.png">
</figure>
!!! tldr "About"
Proxmox VE is a complete, open-source server management platform for
enterprise virtualization. It tightly integrates the KVM hypervisor and
Linux Containers (LXC), software-defined storage and networking
functionality, on a single platform. With the integrated web-based user
interface you can manage VMs and containers, high availability for
clusters, or the integrated disaster recovery tools with ease.
<figure>
<img alt="image" src="/images/usb/screenshots/proxmox.png">
</figure>
- Website: <https://www.proxmox.com/en/proxmox-ve>
- OS Image:
<https://www.proxmox.com/en/downloads/item/proxmox-ve-7-1-iso-installer>
- Path on USB: `/OS/proxmox-ve_7.1-2.iso`
- Type: **Installer**
<hr>
### Qubes OS
<img alt="image" src="/images/usb/icons/qubes.png">
<br>
<img alt="image" src="/images/usb/screenshots/qubes.png">
<figure>
<img alt="image" src="/images/usb/icons/qubes.png">
</figure>
!!! tldr "About"
Qubes OS is a free and open-source, security-oriented operating
system for single-user desktop computing. Qubes OS leverages Xen-based
virtualization to allow for the creation and management of isolated
compartments called qubes.
<figure>
<img alt="image" src="/images/usb/screenshots/qubes.png">
</figure>
- Website: <https://www.qubes-os.org/>
- OS Image:
<https://mirrors.edge.kernel.org/qubes/iso/Qubes-R4.0.4-x86_64.iso>
- Path on USB: `/OS/Qubes-R4.0.4-x86_64.iso`
- Type: **Installer**
<hr>
### RaspberryPi OS
<img alt="image" src="/images/usb/icons/raspios.png">
<figure>
<img alt="image" src="/images/usb/icons/raspios.png">
</figure>
!!! tldr "About"
Your Raspberry Pi needs an operating system to work. This is it.
Raspberry Pi OS (previously called Raspbian) is the official supported
operating system.
- Website: <https://www.raspberrypi.com/>
- OS Image:
@ -195,52 +378,101 @@ installation:
### System Rescue
<img alt="image" src="/images/usb/icons/systemrescue.png">
<br>
<img alt="image" src="/images/usb/screenshots/systemrescue.png">
<figure>
<img alt="image" src="/images/usb/icons/systemrescue.png">
</figure>
!!! tldr "About"
SystemRescue (formerly known as SystemRescueCd) is a Linux system
rescue toolkit available as a bootable medium for administrating or
repairing your system and data after a crash. It aims to provide an easy
way to carry out admin tasks on your computer, such as creating and
editing the hard disk partitions. It comes with a lot of Linux system
utilities such as GParted, fsarchiver, filesystem tools and basic tools
(editors, midnight commander, network tools). It can be used for both
Linux and windows computers, and on desktops as well as servers. This
rescue system requires no installation as it can be booted from a CD/DVD
drive or USB stick, but it can be installed on the hard disk if you
wish. The kernel supports all important file systems (ext4, xfs, btrfs,
vfat, ntfs), as well as network filesystems such as Samba and NFS.
<figure>
<img alt="image" src="/images/usb/screenshots/systemrescue.png">
</figure>
- Website: <https://www.system-rescue.org/>
- OS Image:
<https://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/9.00/systemrescue-9.00-amd64.iso/download>
- Path on USB: `/OS/systemrescue-8.06-amd64.iso`
- Type: **Live**
<hr>
### Tails
<img alt="image" src="/images/usb/icons/tails.png">
<br>
<img alt="image" src="/images/usb/screenshots/tails.png">
<figure>
<img alt="image" src="/images/usb/icons/tails.png">
</figure>
!!! tldr "About"
Tails is a portable operating system
that protects against surveillance and censorship.
<figure>
<img alt="image" src="/images/usb/screenshots/tails.png">
</figure>
- Website: <https://tails.boum.org/>
- OS Image:
<https://mirrors.edge.kernel.org/tails/stable/tails-amd64-4.26/tails-amd64-4.26.img>
- Path on USB: `/OS/tails-amd64-4.25.img`
- Type: **Live + Installer**
<hr>
### Trisquel GNU/Linux
<img alt="image" src="/images/usb/icons/trisquel.png">
<br>
<img alt="image" src="/images/usb/screenshots/trisquel.png">
<figure>
<img alt="image" src="/images/usb/icons/trisquel.png">
</figure>
!!! tldr "About"
Trisquel GNU/Linux is a fully free operating system for home users,
small enterprises and educational centers.
<figure>
<img alt="image" src="/images/usb/screenshots/trisquel.png">
</figure>
- Website: <https://trisquel.info/>
- OS Image: <https://trisquel.info/en/download>
- Path on USB: `/OS/trisquel-mini_9.0.1_amd64.iso`
- Type: **Live + Installer**
<hr>
### Ubuntu
<img alt="image" src="/images/usb/icons/ubuntu.png">
<br>
<img alt="image" src="/images/usb/screenshots/ubuntu.png">
<figure>
<img alt="image" src="/images/usb/icons/ubuntu.png">
</figure>
!!! tldr "About"
Ubuntu comes with everything you need to run your organisation,
school, home or enterprise. All the essential applications, like an
office suite, browsers, email and media apps come pre-installed and
thousands more games and applications are available in the Ubuntu
Software Centre.
<figure>
<img alt="image" src="/images/usb/screenshots/ubuntu.png">
</figure>
- Website: <https://ubuntu.com/>
- OS Image:
<https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso>
- Path on USB: `/OS/ubuntu-20.04.3-desktop-amd64.iso`
- Type: **Live + Installer**
<hr>
@ -248,7 +480,13 @@ installation:
### The Raspberry Pi Imager
<img alt="image" src="/images/usb/screenshots/rpi-imager.png">
<figure>
<img alt="image" src="/images/usb/screenshots/rpi-imager.png">
</figure>
!!! tldr "About"
The Raspberry Pi Imager is the quick, safe and easy way to install an
operating systems to a microSD card or USB disk.
- Website: <https://www.raspberrypi.com/software/>
- Image: <http://downloads.raspberrypi.org/imager/imager_amd64.AppImage>
@ -256,6 +494,30 @@ installation:
### Ungoogled Chromium
!!! tldr "About"
ungoogled-chromium is Google Chromium, sans dependency on Google web
services. It also features some tweaks to enhance privacy, control, and
transparency (almost all of which require manual activation or
enabling).
ungoogled-chromium retains the default Chromium experience as closely as
possible. Unlike other Chromium forks that have their own visions of a
web browser, ungoogled-chromium is essentially a drop-in replacement for
Chromium.
ungoogled-chromium addresses these issues in the following ways:
- Remove all remaining background requests to any web services while building and running the browser
- Remove all code specific to Google web services
- Remove all uses of pre-made binaries from the source code, and replace them with user-provided alternatives when possible.
- Disable features that inhibit control and transparency, and add or
modify features that promote them (these changes will almost always
require manual activation or enabling).
<figure>
<img alt="image" src="/images/usb/screenshots/ungoogled-chromium.png">
</figure>
- Website: <https://ungoogled-software.github.io/>
- Image:
<https://ungoogled-software.github.io/ungoogled-chromium-binaries/>


docs/usb/start.md → docs/usb/internals.md View File


+ 107
- 0
docs/usb/use.md View File

@ -0,0 +1,107 @@
# Using the MH-USB Disk
## Organisation of the MH-USB Disk
The files on the MH-USB disk are arranged as follows:
```
MH-USB/
/OS/ <-- Contains OS Images
/Tools/ <-- Contains some tools and software
/RPi/ <-- OS Images for the Raspberry Pi
/ventoy/ <-- Config files for the Ventoy/Grub2 bootloader
(Important - do not modify!)
```
The MH-USB partition of the USB disk is formatted with [exFAT](https://en.wikipedia.org/wiki/ExFAT).
This enables universal access to the data on any operating system that supports exFAT.
## Booting on physical computer
You boot the USB disk on a physical computer (dekstop, laptop, single-board
computer or laptop) by simply plugging it in and choosing it as a boot device.
The MH-USB runs the [GRUB2](https://www.gnu.org/software/grub/) boot
loader and will boot just fine with a "legacy" BIOS or UEFI BIOS.
The USB make would show up as a USB disk called "Generic Flash Drive":
<figure>
<img src="/images/usb/boot-device.jpg" width="600">
</figure>
Just choose it as the boot device and you will be greeted by the MH-USB
boot screen.
## Booting on a virtual machine
You can also boot the USB using a virtual machine. On a GNU/Linux
system, one can use QEMU to boot the USB.
First check the device name assigned to the USB disk. A quick way to
check it out would be to use the `lsblk` command like this:
``` shell-session
$ lsblk -o NAME,SIZE,HOTPLUG -P -d | grep "HOTPLUG=\"1\"" | cut -d" " -f1
NAME="sdb"
```
The command above will list out all the USB disks attached to your
computer. (Actually, all "HOTPLUG" storage devices - which includes USB
storage.)
### Booting a virtual machine with SeaBIOS
To boot the USB disk using QEMU + SeaBIOS, install the `qemu` package
from your GNU/Linux OS repository and then run:
``` shell-session
$ DEVICE=`lsblk -o NAME,SIZE,HOTPLUG -P -d | grep "HOTPLUG=\"1\"" | cut -d"\"" -f2`
$ sudo qemu-system-x86_64 \
-enable-kvm -rtc base=localtime -m 2G -vga std \
-drive file=/dev/$DEVICE,readonly=on,cache=none,format=raw,if=virtio
```
This will boot the USB via QEMU and show you the boot screen in a popup window.
### Booting a virtual machine with a UEFI BIOS
If you want to try booting the USB with QEMU with the `tianocore` UEFI BIOS, first install the OVMF
(Open Virtual Machine Firmware) packages. On Debian and Debian-based distributions run:
``` shell-session
# apt-get install ovmf
$ BIOS="/usr/share/qemu/OVMF.fd"
```
On Archlinux-based distributions run:
``` shell-session
# pacman -S edk2-ovmf
$ BIOS="/usr/share/edk2-ovmf/x64/OVMF.fd"
```
```bash
$ DEVICE=`lsblk -o NAME,SIZE,HOTPLUG -P -d | grep "HOTPLUG=\"1\"" | cut -d"\"" -f2`
$ sudo qemu-system-x86_64 \
-bios $BIOS \
-enable-kvm -rtc base=localtime -m 2G -vga std \
-drive file=/dev/$DEVICE,readonly=on,cache=none,format=raw,if=virtio
```
## Writing an image to another USB drive
While a multi-boot USB is nice, there might be times when you want to write an OS image to another
USB disk. The MH-USB includes the "RaspberryPi Imager" (`rpi-imager`) tool to help you write an OS
image to a USB disk safely and quickly.
You can run the the `rpi-imager` directly from the USB. Insert the MH-USB into a GNU/Linux (or
Windows) computer and mount it. In the `Tools/` directory on the USB, you will see binaries for the
Raspberry Pi imager. You can use it to write any of the bootable operating system images to another
USB.
*[TODO: Include more details and screenshots!]*
## Working with Raspberry Pi images
*[TODO: Include details with screenshots]*

+ 2
- 2
mkdocs.yml View File

@ -36,10 +36,10 @@ nav:
- (LC230) User Guide: lc230/user-guide.md
- (LC230) Troubleshooting: lc230/troubleshooting.md
- MH-USB:
- (MHUSB) Introduction: usb/index.md
- (MHUSB) Getting Started: usb/start.md
- (MHUSB) About & Contents: usb/index.md
- (MHUSB) Using the USB disk: usb/use.md
- (MHUSB) Add / Update images: usb/update.md
- (MHUSB) Internals: usb/internals.md
- (MHUSB) Advanced Options: usb/advanced.md
- (MHUSB) Troubleshooting: usb/troubleshooting.md
- Routers:


Loading…
Cancel
Save