void-minecraft-usb/procedure.txt

123 lines
4.6 KiB
Plaintext
Raw Normal View History

make it bootable with UEFI and BIOS?
2023-06-13 08:25:52 +02:00
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
2023-06-13 08:25:52 +02:00
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
2023-06-14 09:37:16 +02:00
-> install xmirror squashfs-tools
-> make our own or extract (if feasible) kb selection and time zone selection to hijack them for our purposes
2023-06-13 08:25:52 +02:00
- select kb layout
2023-06-14 09:37:16 +02:00
- set up disk
2023-06-13 08:25:52 +02:00
-> select disk from a list
2023-06-14 09:37:16 +02:00
-> warn user about formatting and making the USB stick unusable with Windows
-> allow user to double check that its the USB drive
-> wipe and partition disk (new gpt)
-> 2M BIOS GRUB
-> 268M ESP
-> 1G /boot
-> rest /container
-> format partitions
2023-06-13 08:25:52 +02:00
-> ESP FAT32
2023-06-14 09:37:16 +02:00
-> /boot and /container F2FS
- mount them things
-> set up plain tmpfs as / for now
2023-06-13 08:25:52 +02:00
- install base system
-> select mirror
-> just use xmirror and get the result from the file
-> if musl repo, remove that bit from repo url
2023-06-13 08:25:52 +02:00
-> select installation type (x86_32/x86_64/aarch64, glibc/musl)
-> if musl, add that bit to repo url
2023-06-13 08:25:52 +02:00
-> 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
2023-06-14 09:37:16 +02:00
-> configure XBPS mirror
2023-06-13 08:25:52 +02:00
-> configure sudo
-> drop a file with "%wheel ALL=(ALL:ALL) ALL" in /etc/sudoers.d/sudo_group
-> configure overlayfs setup
2023-06-14 09:37:16 +02:00
-> 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 were at it
-> selection dialog?
-> symlink /etc/localtime
-> configure host name
2023-06-13 08:25:52 +02:00
-> configure and install bootloader
2023-06-14 09:37:16 +02:00
-> 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
2023-06-13 08:25:52 +02:00
-> 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
-> 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
2023-06-14 09:37:16 +02:00
-> java (multiple versions?)
-> pipewire (pulsemixer?)
2023-06-13 08:25:52 +02:00
-> 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