void-minecraft-usb/procedure.txt

118 lines
4.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

make it bootable with UEFI and BIOS?
compare sizes of glibc and musl installations
try running multiple MC versions on musl
need xdg menu maker?
ideas:
use shell script for init, call real init via exec
system lives on squashfs
-> overlayfs with tmpfs set up at boot
-> new system image generated and written back on shutdown
-> user-selectable ("Do you want to save changes to the system? This will take some time.")
-> fstrim (if applicable)
swap on zram
f2fs for home
tmpfs for package cache, /tmp, logs?
when backing up
- do not cross file system boundaries
- exclude /tmp, package cache, logs
Steps to install:
- (user does this:) boot Void installer
-> log in as root
-> connect to the internet
-> 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
- select kb layout
- warn user about formatting and making the USB stick unusable with Windows
- set up disks
-> select disk from a list
-> allow user to double check that its 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)
-> ESP FAT32
-> rest F2FS
- mount them things, set up tmpfs as / for now
- install base system
-> select mirror
-> just use xmirror and get the result from the file
-> if musl repo, remove that bit from repo url
-> select installation type (x86_32/x86_64/aarch64, glibc/musl)
-> 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 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?
-> configure and install bootloader
-> determine BIOS or UEFI
-> if UEFI, install as removable device
-> xbps-reconfigure -fa
-> prepare 2nd stage installation
-> auto login root
-> put script in .bashrc
-> build squashfs
-> (if needed) set up an initramfs with busybox to mount the squashfs/overlayfs at boot time
- prompt user to reboot to finish installation
- second stage installation
-> configure services
-> dbus
-> 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
-> pipewire (pulsemixer?)
-> ask about nvidia driver
-> install if needed
-> ask whether to use CTWM or IceWM
-> short description of up and downsides
-> if CTWM, also install
-> xclock
-> if IceWM, also install
-> network-manager-applet
-> sound applet
-> configure zram swap
-> passwd -l root
-> populate /etc/skel
-> ultimate bashrc bc why not
-> first run message in xinitrc
-> auto-deletes itself
-> displays README.txt on root dir of the F2FS partition
-> if using CTWM
-> put xclock in xinitrc
-> configure more sane defaults
-> prepend bashrc with a thing that checks of xorg is running
-> if not, run startx and ask user whether to shut down, reboot, or do nothing afterwards
-> set up user
-> ask for username
-> run useradd (non-interactively)
-> run passwd (interactively)
-> add to groups
-> including sudo group
-> build new squashfs image and reboot