void-minecraft-usb/notes_to_self.txt

117 lines
4.3 KiB
Plaintext
Raw Normal View History

2023-06-20 13:19:28 +02:00
TODO:
2023-06-13 08:25:52 +02:00
compare sizes of glibc and musl installations
2023-06-20 13:19:28 +02:00
try running multiple MC versions on musl (incl ThatModPack)
2023-06-13 08:25:52 +02:00
need xdg menu maker?
2023-06-20 13:19:28 +02:00
check if there are problems with GRUBs --disk-module=native on real USB drives on real hardware
test that the (RAM) boot option allows you to install to the stick the system booted off
adjust required USB stick and RAM size in README
test kernel hooks and grub-config with all sorts of weird kernel/initramfs setups
- all names
- various compressions
do not rely on the RTC
- change the message when configuring UTC/localtime to reflect that this is only for offline usage
- use ntp to get time
- only fall back to using rtc if offline
- do not set the RTC
2023-06-27 16:20:43 +02:00
move /boot to /container instead of its own partition
look into UEFI specs and general availability of FAT16 support
- if possible, shrink ESP and move GRUB to /container
2023-06-20 13:19:28 +02:00
musl downsides:
- no nvidia drivers
- may be janky in regards to running some Minecraft versions
musl upsides:
- ??
2023-06-13 08:25:52 +02:00
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
boot setup + dracut configuration
- root=/dev/loop0 ro
2023-06-28 13:02:25 +02:00
- custom dracut module
- pre-udev script
- make loop0 appear
- pre-mount script
- mount /container by UUID (possibly passed from a kernel command line parameter)
- losetup the squashfs img
2023-06-28 13:02:25 +02:00
- pre-pivot script?
- do we need one to move over the /container mount to real root?
- overlayfs gets mounted from fstab
when backing up
- do not cross file system boundaries
- exclude /tmp, package cache, logs
2023-06-20 13:19:28 +02:00
- possibly only save the changes in separate squashfs images
- either until it takes up too much space or until a certain number of images exist
- consolidate when the user requests it or when exceeding the limit
2023-06-13 08:25:52 +02:00
Steps to install:
- 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
- install base system
-> 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
-> configure overlayfs setup
2023-06-14 09:37:16 +02:00
-> startup script
-> shutdown squashfs updater
-> rc.shutdown?
-> configure time zone
2023-06-14 09:37:16 +02:00
-> selection dialog?
-> symlink /etc/localtime
-> set up an initramfs to mount the squashfs/overlayfs at boot time
2023-06-13 08:25:52 +02:00
-> prepare 2nd stage installation
-> auto login root and put script in .bashrc
-> better method?
2023-06-13 08:25:52 +02:00
-> build squashfs
- 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
2023-06-20 13:19:28 +02:00
-> find out when and where to set `nvidia-drm.modeset=1`
2023-06-13 08:25:52 +02:00
-> 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