diff --git a/README.md b/README.md index aa73c15..47c9905 100644 --- a/README.md +++ b/README.md @@ -4,23 +4,25 @@ This repository holds a bunch of scripts for installing and customizing Void Linux to run off a USB stick. There are a couple manual steps to get started before this script can take over: -- Set up a Void live image +- Set up a Void live medium - Download here: https://voidlinux.org/download/ - - The base image is good enough (don’t waste your time) + - The following instructions assume you downloaded the "base" image - Burn to a CD/DVD or flash it to a USB stick - Windows should have a built-in thing for burning ISOs. - You can use something like Win32DiskImager or Rufus for USB sticks. - This will delete what’s on the stick. - Boot into Void live and prepare things - - How to boot off CD/USB depends on your computer, so you’ll have to find out elsewhere (sorry). + - Two things I can’t help you with (sorry): + - How to boot off CD/USB depends on your computer, so you’ll 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. - If you are booting off the USB stick you want to install to, use the (RAM) option. - Log in as `root`, password `voidlinux` - - Run `void-installer` + - If you need to use WiFi, run `void-installer` - set your keyboard layout (optional) - connect to your network - abort the installation -- Download and run stage 1 of the USB installation - - `xbps-install -S wget` +- Download and run stage 1 of the USB installation script + - The base image doesn’t come with a way to download files so you need to install that first: `xbps-install -S wget` - if it yells at you about updating xbps, do that, then try again - `wget https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/install-stage1.sh` - `bash install-stage1.sh` diff --git a/procedure.txt b/procedure.txt index 0ba89a5..daf1183 100644 --- a/procedure.txt +++ b/procedure.txt @@ -25,21 +25,23 @@ Steps to install: -> download and run install script - preparations: -> update xbps - -> install xmirror - -> make our own or extract kb selection and time zone selection (if feasible) to hijack them for our purposes + -> install xmirror squashfs-tools + -> make our own or extract (if feasible) kb selection and time zone selection to hijack them for our purposes - select kb layout - - warn user about formatting and making the USB stick unusable with Windows - - set up disks + - set up disk -> select disk from a list - -> allow user to double check that it’s the USB drive - -> wipe disk (new gpt) - -> partition disk - -> 270M ESP (if needed) or 2M BIOS GRUB - -> partition that holds home and the squashfs image - -> format partitions (use force option) + -> warn user about formatting and making the USB stick unusable with Windows + -> allow user to double check that it’s the USB drive + -> wipe and partition disk (new gpt) + -> 2M BIOS GRUB + -> 268M ESP + -> 1G /boot + -> rest /container + -> format partitions -> ESP FAT32 - -> rest F2FS - - mount them things, set up tmpfs as / for now + -> /boot and /container F2FS + - mount them things + -> set up plain tmpfs as / for now - install base system -> select mirror -> just use xmirror and get the result from the file @@ -48,18 +50,28 @@ Steps to install: -> if musl, add that bit to repo url -> install packages -> linux bash shadow f2fs-tools dosfstools dbus NetworkManager iana-etc iw wpa_supplicant util-linux which tar man-pages iproute2 iputils wifi-firmware traceroute grep gzip file sed gawk less coreutils findutils diffutils pciutils usbutils tzdata base-files ncurses mdocml procps-ng kbd xbps sudo ethtool kmod eudev runit-void removed-packages nano acpid squashfs-tools - -> configure XBPS (set mirror?, anything else?) + -> configure XBPS mirror -> configure sudo -> drop a file with "%wheel ALL=(ALL:ALL) ALL" in /etc/sudoers.d/sudo_group -> configure overlayfs setup - -> configure tmpfses - -> configure /home (bind mount or symlink?) - -> configure keymap (etc/rc.conf) - -> configure shutdown squashfs updater - -> rc.shutdown? + -> startup script + -> shutdown squashfs updater + -> rc.shutdown? + -> configure fstab + -> /boot, /boot/efi + -> /home (bind mount) + -> NOT /, /container + -> configure rc.conf + -> keyboard layout + -> hardware clock set to UTC? + -> configure time zone while we’re at it + -> selection dialog? + -> symlink /etc/localtime + -> configure host name -> configure and install bootloader - -> determine BIOS or UEFI - -> if UEFI, install as removable device + -> if x86 install for both UEFI and BIOS + -> Is there a way we can make this work with 32-bit AND 64-bit EFI at the same time? + -> if ARM install only UEFI -> xbps-reconfigure -fa -> prepare 2nd stage installation -> auto login root @@ -73,19 +85,12 @@ Steps to install: -> NetworkManager -> acpid -> ask user to connect to network using nmtui - -> set up timezone - -> ask user which zone - -> ask user whether to use UTC or local time - -> configure (rc.conf and /etc/localtime) - -> set hostname - -> ask user - -> configure -> install packages -> setxkbmap xauth xorg-video-drivers mesa mesa-dri xorg-server elogind xorg-input-drivers xrandr acpilight xhost xinit xrdb xinput xgamma xset iceauth sessreg transset xcmsdb xkbutils xmodmap dejavu-fonts-ttf -> terminal? -> browser? -> prism launcher - -> java + -> java (multiple versions?) -> pipewire (pulsemixer?) -> ask about nvidia driver -> install if needed