void-minecraft-usb/README.md

80 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

2023-06-20 13:18:30 +02:00
# Void Linux Setup for USB Sticks
2023-06-13 09:02:09 +02:00
2023-06-27 15:44:54 +02:00
```
_________________________
.*¯ _ _ __ ___ /|_______
/ | |//,·¯¯*. / // _ \ // // /|
| | '// ( ) ;/ // // / // _¯ ///
| |_/ '.__.*/_//___.* // // ///
\*·…_____________________/://
*·…_____________________|;'*
```
2023-06-20 13:18:30 +02:00
This repository holds scripts for installing a Void Linux setup specialized to run off a USB stick.
2023-06-13 09:02:09 +02:00
2023-06-20 13:18:30 +02:00
This is only for USB sticks (thumb drives, pen drives, whatever you wanna call them).
You dont need this if you want to use a USB HDD or SSD because these devices tend to just work properly.
If you want to use a USB HDD/SSD, simply download the installer for the Linux distro of your choice and
2023-06-20 13:18:30 +02:00
install it on that drive. Most modern distros know how to cope with external drives.
The reason this is useful for USB sticks is that most of them are a bit shit.
Trying to run an operating system off a USB drive typically results in a corrupted drive pretty quickly
(if you can get the system to install properly in the first place). The scripts and configuration files
in this repository are made to address this by keeping changes to the system in RAM until shutdown and
therefore lowering disk I/O.
2023-06-20 13:18:30 +02:00
## Installation
You need the following:
- Computer (duh)
- ???G of RAM or more
2023-06-20 13:18:30 +02:00
- Can boot off USB (most computers made after 2003)
- USB stick (at least ???G)
2023-06-20 13:18:30 +02:00
- Internet connection
- During the installation, roughly ??? will be downloaded.
2023-06-20 13:18:30 +02:00
There are a couple manual steps to get started before the installer scripts can take over:
2023-06-14 09:37:16 +02:00
- Set up a Void live medium
2023-06-13 09:02:09 +02:00
- Download here: https://voidlinux.org/download/
2023-06-14 09:37:16 +02:00
- The following instructions assume you downloaded the "base" image
2023-06-20 13:18:30 +02:00
- Burn to CD/DVD or flash it to USB stick
- Windows should have a built-in thing for burning ISOs to optical media.
2023-06-13 09:02:09 +02:00
- You can use something like Win32DiskImager or Rufus for USB sticks.
2023-06-13 14:23:41 +02:00
- This will delete whats on the stick.
2023-06-13 09:02:09 +02:00
- Boot into Void live and prepare things
2023-06-20 13:18:30 +02:00
- Things I cant help you with (sorry):
2023-06-14 09:37:16 +02:00
- How to boot off CD/USB depends on your computer, so youll have to find out elsewhere.
- Be aware that Void uses a US keymap until you change it. If your keyboard is different, you might need to look up an image of a US keyboard to find the right keys.
2023-06-20 13:18:30 +02:00
- If booting off the USB stick you want to install to, use (RAM) option
2023-06-13 09:02:09 +02:00
- Log in as `root`, password `voidlinux`
- It wont display anything while you type in the password but it will accept it.
2023-06-14 09:37:16 +02:00
- If you need to use WiFi, run `void-installer`
2023-06-20 13:18:30 +02:00
- Set your keyboard layout (optional)
- Connect to your network
- Abort the installation (dont touch anything else)
2023-06-14 09:37:16 +02:00
- Download and run stage 1 of the USB installation script
- The base image doesnt come with a way to download files so you need to install that first: `xbps-install -S wget`
2023-06-20 13:18:30 +02:00
- If it yells at you about updating xbps, do that, then try again
2023-06-13 09:04:57 +02:00
- `wget https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/install-stage1.sh`
2023-06-13 09:02:09 +02:00
- `bash install-stage1.sh`
2023-06-20 13:18:30 +02:00
The scripts will take it from there, asking you for information and downloading things as needed.
## How It Works
`//TODO:` Add detailed documentation of how the thing works, changes to the boot up process, and whatever other scripts are in here
2023-06-20 13:18:30 +02:00
## Files
- `install-stage1.sh`: sets up the base system and prepares for installation stage 2
- `install-stage2.sh`: continues setting up things after booting into the freshly installed base system
2023-06-27 15:44:54 +02:00
- `opt/`: contains files to be installed in /opt/void-usb/
- `grub-config`: custom grub config generator (probably not necessary but at this point I dont wanna dig into the default one)
- `system-image`: helper script to rebuild the squashfs
2023-06-27 15:44:54 +02:00
- `kernel.d/`: kernel hooks to be installed in /etc/kernel.d
- `skel/`: files to be added to /etc/skel
- `bashrc`: my custom .bashrc
- `user-readme.txt`: will be displayed on first login
- `xinitrc`: what dis look like?
- `notes_to_self.txt`: will disappear once finished