|  |  |  | @ -2,22 +2,18 @@ TODO: | 
		
	
		
			
				|  |  |  |  | compare sizes of glibc and musl installations | 
		
	
		
			
				|  |  |  |  | try running multiple MC versions on musl (incl ThatModPack) | 
		
	
		
			
				|  |  |  |  | need xdg menu maker? | 
		
	
		
			
				|  |  |  |  | check if there are problems with GRUB’s --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 | 
		
	
		
			
				|  |  |  |  | move /boot to /run/void-usb/container instead of its own partition | 
		
	
		
			
				|  |  |  |  | look into UEFI specs and general availability of FAT16 support | 
		
	
		
			
				|  |  |  |  |   - if possible, shrink ESP and move GRUB to /run/void-usb/container | 
		
	
		
			
				|  |  |  |  | add manufacturer where users select the target device | 
		
	
		
			
				|  |  |  |  | show user-firently status instead of scrolling output from all sorts of tools | 
		
	
		
			
				|  |  |  |  | show user-friendly status instead of scrolling output from all sorts of tools | 
		
	
		
			
				|  |  |  |  | shutdown squashfs updater can’t get user input!? | 
		
	
		
			
				|  |  |  |  | make our own or extract (if feasible) kb selection and time zone selection to hijack them for our purposes | 
		
	
		
			
				|  |  |  |  | fix EFI boot | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | musl downsides: | 
		
	
		
			
				|  |  |  |  |   - no nvidia drivers | 
		
	
	
		
			
				
					|  |  |  | @ -26,53 +22,20 @@ musl upsides: | 
		
	
		
			
				|  |  |  |  |   - ?? | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 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 | 
		
	
		
			
				|  |  |  |  |   - custom dracut module | 
		
	
		
			
				|  |  |  |  |     - pre-mount script | 
		
	
		
			
				|  |  |  |  |       - mount /run/void-usb/container by UUID (passed from a kernel command line parameter) | 
		
	
		
			
				|  |  |  |  |       - losetup the squashfs img | 
		
	
		
			
				|  |  |  |  |     - pre-pivot script? | 
		
	
		
			
				|  |  |  |  |       - do we need one to move over the /run/void-usb/container mount to real root? | 
		
	
		
			
				|  |  |  |  |   - overlayfs gets mounted from fstab | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | when backing up | 
		
	
		
			
				|  |  |  |  | - do not cross file system boundaries | 
		
	
		
			
				|  |  |  |  | - exclude /tmp, package cache, logs | 
		
	
		
			
				|  |  |  |  | - 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 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | Steps to install: | 
		
	
		
			
				|  |  |  |  |   - make our own or extract (if feasible) kb selection and time zone selection to hijack them for our purposes | 
		
	
		
			
				|  |  |  |  | Stage 1: | 
		
	
		
			
				|  |  |  |  |   - select kb layout | 
		
	
		
			
				|  |  |  |  |   - install base system | 
		
	
		
			
				|  |  |  |  |     -> select installation type (x86_32/x86_64/aarch64, glibc/musl) | 
		
	
		
			
				|  |  |  |  |       -> if musl, add that bit to repo url | 
		
	
		
			
				|  |  |  |  |     -> configure overlayfs setup | 
		
	
		
			
				|  |  |  |  |       -> startup script | 
		
	
		
			
				|  |  |  |  |       -> shutdown squashfs updater | 
		
	
		
			
				|  |  |  |  |         -> rc.shutdown? | 
		
	
		
			
				|  |  |  |  |     -> configure time zone | 
		
	
		
			
				|  |  |  |  |       -> selection dialog? | 
		
	
		
			
				|  |  |  |  |       -> symlink /etc/localtime | 
		
	
		
			
				|  |  |  |  |     -> set up an initramfs to mount the squashfs/overlayfs at boot time | 
		
	
		
			
				|  |  |  |  |     -> prepare 2nd stage installation | 
		
	
		
			
				|  |  |  |  |       -> auto login root and put script in .bashrc | 
		
	
		
			
				|  |  |  |  |         -> better method? | 
		
	
		
			
				|  |  |  |  |       -> auto login root and put stage 2 script in .bashrc | 
		
	
		
			
				|  |  |  |  |     -> build squashfs | 
		
	
		
			
				|  |  |  |  |   - prompt user to reboot to finish installation | 
		
	
		
			
				|  |  |  |  |   - second stage installation | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | Stage 2: | 
		
	
		
			
				|  |  |  |  |   -> configure services | 
		
	
		
			
				|  |  |  |  |     -> dbus | 
		
	
		
			
				|  |  |  |  |     -> NetworkManager | 
		
	
	
		
			
				
					|  |  |  | 
 |