Figure out process to follow
commit
35a0654c00
|
@ -0,0 +1,104 @@
|
||||||
|
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?
|
||||||
|
|
||||||
|
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, mirror selection, and time zone selection (if feasible) to hijack them for our purposes
|
||||||
|
- warn user about formatting and making the USB stick unusable with Windows
|
||||||
|
- select kb layout
|
||||||
|
- set up disks
|
||||||
|
-> select disk from a list
|
||||||
|
-> 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
|
||||||
|
-> select installation type (x86_32/x86_64/aarch64, glibc/musl)
|
||||||
|
-> 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
|
||||||
|
-> 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
|
||||||
|
-> ?? xorg-fonts pulsemixer PrismLauncher
|
||||||
|
-> 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
|
Loading…
Reference in New Issue