mirror of
https://github.com/bhaiest/holoiso.git
synced 2024-11-22 19:22:47 +01:00
Switch to offline experience image
This commit is contained in:
parent
80920274e0
commit
d0fbdbcc65
@ -1,62 +0,0 @@
|
||||
# GRUB boot loader configuration
|
||||
|
||||
GRUB_DEFAULT=0
|
||||
GRUB_TIMEOUT=5
|
||||
GRUB_DISTRIBUTOR="Arch"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet audit=0"
|
||||
GRUB_CMDLINE_LINUX=""
|
||||
|
||||
# Preload both GPT and MBR modules so that they are not missed
|
||||
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
|
||||
|
||||
# Uncomment to enable booting from LUKS encrypted devices
|
||||
GRUB_ENABLE_CRYPTODISK=y
|
||||
|
||||
# Set to 'countdown' or 'hidden' to change timeout behavior,
|
||||
# press ESC key to display menu.
|
||||
GRUB_TIMEOUT_STYLE=menu
|
||||
|
||||
# Uncomment to use basic console
|
||||
GRUB_TERMINAL_INPUT=console
|
||||
|
||||
# Uncomment to disable graphical terminal
|
||||
#GRUB_TERMINAL_OUTPUT=console
|
||||
|
||||
# The resolution used on graphical terminal
|
||||
# note that you can use only modes which your graphic card supports via VBE
|
||||
# you can see them in real GRUB with the command `vbeinfo'
|
||||
GRUB_GFXMODE=auto
|
||||
|
||||
# Uncomment to allow the kernel use the same resolution used by grub
|
||||
GRUB_GFXPAYLOAD_LINUX=keep
|
||||
|
||||
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
|
||||
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
|
||||
#GRUB_DISABLE_LINUX_UUID=true
|
||||
|
||||
# Uncomment to disable generation of recovery mode menu entries
|
||||
GRUB_DISABLE_RECOVERY=true
|
||||
|
||||
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
|
||||
# modes only. Entries specified as foreground/background.
|
||||
#GRUB_COLOR_NORMAL="white/black"
|
||||
#GRUB_COLOR_HIGHLIGHT="light-cyan/black"
|
||||
|
||||
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
|
||||
#This background comes in the minimal and flagship editions
|
||||
#GRUB_BACKGROUND="/usr/share/wallpapers/real-wood/real-wood.jpg"
|
||||
#GRUB_THEME=
|
||||
|
||||
# Uncomment to get a beep at GRUB start
|
||||
#GRUB_INIT_TUNE="480 440 1"
|
||||
|
||||
# Uncomment to make GRUB remember the last selection. This requires
|
||||
# setting 'GRUB_DEFAULT=saved' above. Change 0 into saved.
|
||||
# Do not forget to 'update-grub' in a terminal to apply the new settings
|
||||
#GRUB_SAVEDEFAULT="true"
|
||||
|
||||
# Uncomment to make grub stop using submenus
|
||||
#GRUB_DISABLE_SUBMENU=y
|
||||
|
||||
#New GRUB update disables OS prober by default. We don't want that.
|
||||
GRUB_DISABLE_OS_PROBER=false
|
@ -0,0 +1,8 @@
|
||||
[Flatpak Repo]
|
||||
Title=Flathub Beta
|
||||
Url=https://dl.flathub.org/beta-repo/
|
||||
Homepage=https://flathub.org/
|
||||
Comment=Beta builds of Flatpak applications
|
||||
Description=Beta builds of Flatpak applications
|
||||
Icon=https://dl.flathub.org/repo/logo.svg
|
||||
GPGKey=mQINBFlD2sABEADsiUZUOYBg1UdDaWkEdJYkTSZD68214m8Q1fbrP5AptaUfCl8KYKFMNoAJRBXn9FbE6q6VBzghHXj/rSnA8WPnkbaEWR7xltOqzB1yHpCQ1l8xSfH5N02DMUBSRtD/rOYsBKbaJcOgW0K21sX+BecMY/AI2yADvCJEjhVKrjR9yfRX+NQEhDcbXUFRGt9ZT+TI5yT4xcwbvvTu7aFUR/dH7+wjrQ7lzoGlZGFFrQXSs2WI0WaYHWDeCwymtohXryF8lcWQkhH8UhfNJVBJFgCY8Q6UHkZG0FxMu8xnIDBMjBmSZKwKQn0nwzwM2afskZEnmNPYDI8nuNsSZBZSAw+ThhkdCZHZZRwzmjzyRuLLVFpOj3XryXwZcSefNMPDkZAuWWzPYjxS80cm2hG1WfqrG0Gl8+iX69cbQchb7gbEb0RtqNskTo9DDmO0bNKNnMbzmIJ3/rTbSahKSwtewklqSP/01o0WKZiy+n/RAkUKOFBprjJtWOZkc8SPXV/rnoS2dWsJWQZhuPPtv3tefdDiEyp7ePrfgfKxuHpZES0IZRiFI4J/nAUP5bix+srcIxOVqAam68CbAlPvWTivRUMRVbKjJiGXIOJ78wAMjqPg3QIC0GQ0EPAWwAOzzpdgbnG7TCQetaVV8rSYCuirlPYN+bJIwBtkOC9SWLoPMVZTwQARAQABtC5GbGF0aHViIFJlcG8gU2lnbmluZyBLZXkgPGZsYXRodWJAZmxhdGh1Yi5vcmc+iQJUBBMBCAA+FiEEblwF2XnHba+TwIE1QYTdTZB6fK4FAllD2sACGwMFCRLMAwAFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQQYTdTZB6fK5RJQ/+Ptd4sWxaiAW91FFk7+wmYOkEe1NY2UDNJjEEz34PNP/1RoxveHDt43kYJQ23OWaPJuZAbu+fWtjRYcMBzOsMCaFcRSHFiDIC9aTp4ux/mo+IEeyarYt/oyKb5t5lta6xaAqg7rwt65jW5/aQjnS4h7eFZ+dAKta7Y/fljNrOznUp81/SMcx4QA5G2Pw0hs4Xrxg59oONOTFGBgA6FF8WQghrpR7SnEe0FSEOVsAjwQ13Cfkfa7b70omXSWp7GWfUzgBKyoWxKTqzMN3RQHjjhPJcsQnrqH5enUu4Pcb2LcMFpzimHnUgb9ft72DP5wxfzHGAWOUiUXHbAekfq5iFks8cha/RST6wkxG3Rf44Zn09aOxh1btMcGL+5xb1G0BuCQnA0fP/kDYIPwh9z22EqwRQOspIcvGeLVkFeIfubxpcMdOfQqQnZtHMCabV5Q/Rk9K1ZGc8M2hlg8gHbXMFch2xJ0Wu72eXbA/UY5MskEeBgawTQnQOK/vNm7t0AJMpWK26Qg6178UmRghmeZDj9uNRc3EI1nSbgvmGlpDmCxaAGqaGL1zW4KPW5yN25/qeqXcgCvUjZLI9PNq3Kvizp1lUrbx7heRiSoazCucvHQ1VHUzcPVLUKKTkoTP8okThnRRRsBcZ1+jI4yMWIDLOCT7IW3FePr+3xyuy5eEo9a25Ag0EWUPa7AEQALT/CmSyZ8LWlRYQZKYw417p7Z2hxqd6TjwkwM3IQ1irumkWcTZBZIbBgrSOg6CcXD2oWydCQHWi9qaxhuhEl2bJL5LskmBcMxVdQeD0LLHd8QUnbnnIby8ocvWN1alPfvJFjCUTrmD22U1ycOzRw2lIe4kiQONbOZtdWrVImQQSndjFlisitbmlWHvHm2lOOYy8+GJB7YffVV193hmnBSJffCy4bvkuLxsI+n1DhOzc7MPV3z6HGk4HiEcF0yyt9tCYhpsxHFdBoq2h771HfAcS0s98EVAqYMFnf9em+4cnYpdI6mhIfS1FQiKl6DBAYA8tT3ggla00DurPo0JwX/zN+PaO5h/6O9aCZwV7G6rbkgMuqMergXaf8oP38gr0z+MqWnkfM63Bodq68GP4l4hd02BoFBbDf38TMuGQB14+twJMdfbAxo2MbgluvQgfwHfZ2ca6gyEY+9s/YD1gugLjV+S6CB51WkFNe1z4tAPgJZNxUcKCbeaHNbthl8Hks/pY9RCEseX/EdfzF18epbSjJMPh4DPQXbUoFwmyuYcoBOPmvZHNl9hK7B/1RP8w1ZrXk8qdupC0SNbafX7270B7lMMVImzZetGsM9ypXJ6llhp3FwW09iseNyGJGPsr/dvTMGDXqOPfU/9SAS1LSTY4K9PbRtdrBE318YX8mIk5ABEBAAGJBHIEGAEIACYWIQRuXAXZecdtr5PAgTVBhN1NkHp8rgUCWUPa7AIbAgUJEswDAAJACRBBhN1NkHp8rsF0IAQZAQgAHRYhBFSmzd2JGfsgQgDYrFYnAunj7X7oBQJZQ9rsAAoJEFYnAunj7X7oR6AP/0KYmiAFeqx14Z43/6s2gt3VhxlSd8bmcVV7oJFbMhdHBIeWBp2BvsUf00I0Zl14ZkwCKfLwbbORC2eIxvzJ+QWjGfPhDmS4XUSmhlXxWnYEveSek5Tde+fmu6lqKM8CHg5BNx4GWIX/vdLi1wWJZyhrUwwICAxkuhKxuP2Z1An48930eslTD2GGcjByc27+9cIZjHKa07I/aLffo04V+oMT9/tgzoquzgpVV4jwekADo2MJjhkkPveSNI420bgT+Q7Fi1l0X1aFUniBvQMsaBa27PngWm6xE2ZYvh7nWCdd5g0c0eLIHxWwzV1lZ4Ryx4ITO/VL25ItECcjhTRdYa64sA62MYSaB0x3eR+SihpgP3wSNPFu3MJo6FKTFdi4CBAEmpWHFW7FcRmd+cQXeFrHLN3iNVWryy0HK/CUEJmiZEmpNiXecl4vPIIuyF0zgSCztQtKoMr+injpmQGC/rF/ELBVZTUSLNB350S0Ztvw0FKWDAJSxFmoxt3xycqvvt47rxTrhi78nkk6jATKGyvP55sO+K7Q7Wh0DXA69hvPrYW2eu8jGCdVGxi6HX7L1qcfEd0378S71dZ3g9o6KKl1OsDWWQ6MJ6FGBZedl/ibRfs8p5+sbCX3lQSjEFy3rx6n0rUrXx8U2qb+RCLzJlmC5MNBOTDJwHPcX6gKsUcXZrEQALmRHoo3SrewO41RCr+5nUlqiqV3AohBMhnQbGzyHf2+drutIaoh7Rj80XRh2bkkuPLwlNPf+bTXwNVGse4bej7B3oV6Ae1N7lTNVF4Qh+1OowtGjmfJPWo0z1s6HFJVxoIof9z58Msvgao0zrKGqaMWaNQ6LUeC9g9Aj/9Uqjbo8X54aLiYs8Z1WNc06jKP+gv8AWLtv6CR+l2kLez1YMDucjm7v6iuCMVAmZdmxhg5I/X2+OM3vBsqPDdQpr2TPDLX3rCrSBiS0gOQ6DwN5N5QeTkxmY/7QO8bgLo/Wzu1iilH4vMKW6LBKCaRx5UEJxKpL4wkgITsYKneIt3NTHo5EOuaYk+y2+Dvt6EQFiuMsdbfUjs3seIHsghX/cbPJa4YUqZAL8C4OtVHaijwGo0ymt9MWvS9yNKMyT0JhN2/BdeOVWrHk7wXXJn/ZjpXilicXKPx4udCF76meE+6N2u/T+RYZ7fP1QMEtNZNmYDOfA6sViuPDfQSHLNbauJBo/n1sRYAsL5mcG22UDchJrlKvmK3EOADCQg+myrm8006LltubNB4wWNzHDJ0Ls2JGzQZCd/xGyVmUiidCBUrD537WdknOYE4FD7P0cHaM9brKJ/M8LkEH0zUlo73bY4XagbnCqve6PvQb5G2Z55qhWphd6f4B6DGed86zJEa/RhS
|
352
airootfs/etc/holoinstall/post_install/install_holoiso.sh
Normal file
352
airootfs/etc/holoinstall/post_install/install_holoiso.sh
Normal file
@ -0,0 +1,352 @@
|
||||
#!/bin/zsh
|
||||
# HoloISO Installer v2
|
||||
# This defines all of the current variables.
|
||||
HOLO_INSTALL_DIR="${HOLO_INSTALL_DIR:-/mnt}"
|
||||
IS_WIN600=$(cat /sys/devices/virtual/dmi/id/product_name | grep Win600)
|
||||
IS_STEAMDECK=$(cat /sys/devices/virtual/dmi/id/product_name | grep Jupiter)
|
||||
|
||||
if [ -n "${IS_WIN600}" ]; then
|
||||
GAMEPAD_DRV="1"
|
||||
INST_MSG1=$(echo "You're running this on Anbernic Win600. A suitable gamepad driver will be installed.")
|
||||
fi
|
||||
|
||||
if [ -n "${IS_STEAMDECK}" ]; then
|
||||
FIRMWARE_INSTALL="1"
|
||||
INST_MSG1=$(echo "You're running this on a Steam Deck. linux-firmware-neptune will be installed to ensure maximum kernel-side compatibility.")
|
||||
fi
|
||||
|
||||
check_mount(){
|
||||
if [ $1 != 0 ]; then
|
||||
echo "\nError: Something went wrong when mounting $2 partitions. Please try again!\n"
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_download(){
|
||||
if [ $1 != 0 ]; then
|
||||
echo "\nError: Something went wrong when $2.\nPlease make sure you have a stable internet connection!\n"
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
partitioning(){
|
||||
echo "Select your drive in popup:"
|
||||
|
||||
DRIVEDEVICE=$(lsblk -d -o NAME | sed "1d" | awk '{ printf "FALSE""\0"$0"\0" }' | \
|
||||
xargs -0 zenity --list --width=600 --height=512 --title="Select disk" --text="Select your disk to install HoloISO in below:\n\n $(lsblk -d -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,VENDOR,MODEL,SERIAL,MOUNTPOINT)" \
|
||||
--radiolist --multiple --column ' ' --column 'Disks')
|
||||
|
||||
DEVICE="/dev/${DRIVEDEVICE}"
|
||||
|
||||
INSTALLDEVICE="${DEVICE}"
|
||||
|
||||
if [ ! -b $DEVICE ]; then
|
||||
echo "$DEVICE not found! Installation Aborted!"
|
||||
exit 1
|
||||
fi
|
||||
lsblk $DEVICE | head -n2 | tail -n1 | grep disk > /dev/null 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
echo "$DEVICE is not disk type! Installation Aborted!"
|
||||
echo "\nNote: If you wish to preform partition install.\nPlease specify the disk drive node first then select \"2\" for partition install."
|
||||
exit 1
|
||||
fi
|
||||
echo "\nChoose your partitioning type:"
|
||||
install=$(zenity --list --title="Choose your installation type:" --column="Type" --column="Name" 1 "Erase entire drive" \2 "Install alongside existing OS/Partition (Requires at least 50 GB of free space from the end)" --width=700 --height=220)
|
||||
|
||||
case $install in
|
||||
1)
|
||||
destructive=true
|
||||
# Umount twice to fully umount the broken install of steam os 3 before installing.
|
||||
umount $INSTALLDEVICE* > /dev/null 2>&1
|
||||
umount $INSTALLDEVICE* > /dev/null 2>&1
|
||||
$INST_MSG1
|
||||
if zenity --question --text "WARNING: The following drive is going to be fully erased. ALL DATA ON DRIVE ${DEVICE} WILL BE LOST! \n\n$(lsblk -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,VENDOR,MODEL,SERIAL,MOUNTPOINT ${DEVICE} | sed "1d")\n\nErase ${DEVICE} and begin installation?" --width=700
|
||||
then
|
||||
echo "\nWiping partitions..."
|
||||
sfdisk --delete ${DEVICE}
|
||||
wipefs -a ${DEVICE}
|
||||
echo "\nCreating new gpt partitions..."
|
||||
parted ${DEVICE} mklabel gpt
|
||||
else
|
||||
echo "\nNothing has been written.\nYou canceled the destructive install, please try again"
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
2)
|
||||
echo "\nHoloISO will be installed alongside existing OS/Partition.\nPlease make sure there are more than 24 GB on the >>END<< of free(unallocate) space available\n"
|
||||
parted $DEVICE print free
|
||||
echo "HoloISO will be installed on the following free (unallocated) space.\n"
|
||||
parted $DEVICE print free | tail -n2 | grep "Free Space"
|
||||
if [ $? != 0 ]; then
|
||||
echo "Error! No Free Space found on the end of the disk.\nNothing has been written.\nYou canceled the non-destructive install, please try again"
|
||||
exit 1
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
fi
|
||||
$INST_MSG1
|
||||
if zenity --question --text "HoloISO will be installed on the following free (unallocated) space.\nDoes this look reasonable?\n$(sudo parted ${DEVICE} print free | tail -n2 | grep "Free Space")" --width=500
|
||||
then
|
||||
echo "\nBeginning installation..."
|
||||
else
|
||||
echo "\nNothing has been written.\nYou canceled the non-destructive install, please try again"
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
numPartitions=$(grep -c ${DRIVEDEVICE}'[0-9]' /proc/partitions)
|
||||
|
||||
echo ${DEVICE} | grep -q -P "^/dev/(nvme|loop|mmcblk)"
|
||||
if [ $? -eq 0 ]; then
|
||||
INSTALLDEVICE="${DEVICE}p"
|
||||
numPartitions=$(grep -c ${DRIVEDEVICE}p /proc/partitions)
|
||||
fi
|
||||
|
||||
efiPartNum=$(expr $numPartitions + 1)
|
||||
rootPartNum=$(expr $numPartitions + 2)
|
||||
homePartNum=$(expr $numPartitions + 3)
|
||||
|
||||
echo "\nCalculating start and end of free space..."
|
||||
diskSpace=$(awk '/'${DRIVEDEVICE}'/ {print $3; exit}' /proc/partitions)
|
||||
# <= 60GB: typical flash drive
|
||||
if [ $diskSpace -lt 60000000 ]; then
|
||||
digitMB=8
|
||||
realDiskSpace=$(parted ${DEVICE} unit MB print free|head -n2|tail -n1|cut -c 16-20)
|
||||
# <= 500GB: typical 512GB hard drive
|
||||
elif [ $diskSpace -lt 500000000 ]; then
|
||||
digitMB=8
|
||||
realDiskSpace=$(parted ${DEVICE} unit MB print free|head -n2|tail -n1|cut -c 20-25)
|
||||
# anything else: typical 1024GB hard drive
|
||||
else
|
||||
digitMB=9
|
||||
realDiskSpace=$(parted ${DEVICE} unit MB print free|head -n2|tail -n1|cut -c 20-26)
|
||||
fi
|
||||
|
||||
if [ $destructive ]; then
|
||||
efiStart=2
|
||||
else
|
||||
efiStart=$(parted ${DEVICE} unit MB print free|tail -n2|sed s/' '//|cut -c1-$digitMB|sed s/MB//|sed s/' '//g)
|
||||
fi
|
||||
efiEnd=$(expr $efiStart + 256)
|
||||
rootStart=$efiEnd
|
||||
rootEnd=$(expr $rootStart + 24000)
|
||||
|
||||
if [ $efiEnd -gt $realDiskSpace ]; then
|
||||
echo "Not enough space available, please choose another disk and try again"
|
||||
exit 1
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
fi
|
||||
|
||||
echo "\nCreating partitions..."
|
||||
parted ${DEVICE} mkpart primary fat32 ${efiStart}M ${efiEnd}M
|
||||
parted ${DEVICE} set ${efiPartNum} boot on
|
||||
parted ${DEVICE} set ${efiPartNum} esp on
|
||||
# If the available storage is less than 64GB, don't create /home.
|
||||
# If the boot device is mmcblk0, don't create an ext4 partition or it will break steamOS versions
|
||||
# released after May 20.
|
||||
if [ $diskSpace -lt 64000000 ] || [[ "${DEVICE}" =~ mmcblk0 ]]; then
|
||||
parted ${DEVICE} mkpart primary btrfs ${rootStart}M 100%
|
||||
else
|
||||
parted ${DEVICE} mkpart primary btrfs ${rootStart}M ${rootEnd}M
|
||||
parted ${DEVICE} mkpart primary ext4 ${rootEnd}M 100%
|
||||
home=true
|
||||
fi
|
||||
root_partition="${INSTALLDEVICE}${rootPartNum}"
|
||||
mkfs -t vfat ${INSTALLDEVICE}${efiPartNum}
|
||||
efi_partition="${INSTALLDEVICE}${efiPartNum}"
|
||||
fatlabel ${INSTALLDEVICE}${efiPartNum} HOLOEFI
|
||||
mkfs -t btrfs -f ${root_partition}
|
||||
btrfs filesystem label ${root_partition} holo-root
|
||||
if [ $home ]; then
|
||||
mkfs -t ext4 -O casefold ${INSTALLDEVICE}${homePartNum}
|
||||
home_partition="${INSTALLDEVICE}${homePartNum}"
|
||||
e2label "${INSTALLDEVICE}${homePartNum}" holo-home
|
||||
fi
|
||||
|
||||
echo "\nPartitioning complete, mounting and pacstrapping..."
|
||||
}
|
||||
|
||||
base_os_install() {
|
||||
# Added failsafe check to prevent dualboot being fucked
|
||||
#OSROOT=/dev/disk/by-label/holo-root
|
||||
#OSHOME=/dev/disk/by-label/holo-home
|
||||
#if [[ -f "$OSROOT" ]]; then
|
||||
# echo "It appears that HoloISO installation was found on your device"
|
||||
# read "?Do you want to format your installation or start over? (yN) " OSROOT_REDO
|
||||
# if [[ "${OSROOT_REDO}" == "y" ]] || [[ "${OSROOT_REDO}" == "Y" ]]; then
|
||||
# mkfs -t vfat /dev/disk/by-label/HOLOEFI
|
||||
# mkfs -t btrfs -f /dev/disk/by-label/holo-root
|
||||
# if [[ -f "$OSHOME" ]]; then
|
||||
# echo "Installation with home detected... Formatting..."
|
||||
# mkfs -t ext4 -O casefold /dev/disk/by-label/holo-home
|
||||
# home_partition="/dev/disk/by-label/holo-home"
|
||||
# else
|
||||
# echo "Home partition not required... Skipping..."
|
||||
# fi
|
||||
# root_partition="/dev/disk/by-label/holo-root"
|
||||
# efi_partition="/dev/disk/by-label/HOLOEFI"
|
||||
# elif [[ "${OSROOT_REDO}" == "n" ]] || [[ "${OSROOT_REDO}" == "N" ]]; then
|
||||
# partitioning
|
||||
# fi
|
||||
#else
|
||||
sleep 1
|
||||
clear
|
||||
partitioning
|
||||
#fi
|
||||
# Actual installer below:
|
||||
echo "${UCODE_INSTALL_MSG}"
|
||||
sleep 1
|
||||
clear
|
||||
mount -t btrfs -o subvol=/,compress-force=zstd:1,discard,noatime,nodiratime ${root_partition} ${HOLO_INSTALL_DIR}
|
||||
check_mount $? root
|
||||
${CMD_MOUNT_BOOT}
|
||||
check_mount $? boot
|
||||
echo "Bootstrapping root filesystem...\nThis may take more than 10 minutes.\n"
|
||||
rsync -axHAWXS --numeric-ids --info=progress2 / ${HOLO_INSTALL_DIR}
|
||||
arch-chroot ${HOLO_INSTALL_DIR} install -Dm644 "$(find /usr/lib | grep vmlinuz | grep neptune)" "/boot/vmlinuz-$(cat /usr/lib/modules/*neptune*/pkgbase)"
|
||||
cp -r /etc/holoinstall/post_install/pacman.conf ${HOLO_INSTALL_DIR}/etc/pacman.conf
|
||||
arch-chroot ${HOLO_INSTALL_DIR} pacman-key --init
|
||||
arch-chroot ${HOLO_INSTALL_DIR} pacman -Rdd --noconfirm mkinitcpio-archiso
|
||||
arch-chroot ${HOLO_INSTALL_DIR} mkinitcpio -P
|
||||
arch-chroot ${HOLO_INSTALL_DIR} pacman -U --noconfirm $(find /etc/holoinstall/post_install/pkgs | grep pkg.tar.zst)
|
||||
arch-chroot ${HOLO_INSTALL_DIR} userdel -r liveuser
|
||||
arch-chroot ${HOLO_INSTALL_DIR} rm -rf /home/*
|
||||
check_download $? "installing base package"
|
||||
sleep 2
|
||||
clear
|
||||
if [ $home ]; then
|
||||
mount -t ext4 ${home_partition} ${HOLO_INSTALL_DIR}/home
|
||||
check_mount $? home
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
clear
|
||||
echo "\nBase system installation done, generating fstab..."
|
||||
genfstab -U -p /mnt >> /mnt/etc/fstab
|
||||
sleep 1
|
||||
clear
|
||||
|
||||
echo "Configuring first boot user accounts..."
|
||||
rm ${HOLO_INSTALL_DIR}/etc/skel/Desktop/*
|
||||
arch-chroot ${HOLO_INSTALL_DIR} rm /etc/sddm.conf.d/*
|
||||
mv /etc/holoinstall/post_install_shortcuts/steam.desktop /etc/holoinstall/post_install_shortcuts/desktopshortcuts.desktop ${HOLO_INSTALL_DIR}/etc/xdg/autostart
|
||||
mv /etc/holoinstall/post_install_shortcuts/steamos-gamemode.desktop ${HOLO_INSTALL_DIR}/etc/skel/Desktop
|
||||
|
||||
# Setup password for root
|
||||
while true; do
|
||||
ROOTPASS=$(zenity --forms --title="Account configuration" --text="Set root/system administrator password" --add-password="Password for user root")
|
||||
if [ -z $ROOTPASS ]; then
|
||||
zenity --warning --text "No password was set for user \"root\"!" --width=300
|
||||
break
|
||||
fi
|
||||
echo
|
||||
ROOTPASS_CONF=$(zenity --forms --title="Account configuration" --text="Confirm your root password" --add-password="Password for user root")
|
||||
echo
|
||||
if [ $ROOTPASS = $ROOTPASS_CONF ]; then
|
||||
break
|
||||
fi
|
||||
zenity --warning --text "Passwords not match." --width=300
|
||||
done
|
||||
# Create user
|
||||
NAME_REGEX="^[a-z][-a-z0-9_]*\$"
|
||||
while true; do
|
||||
HOLOUSER=$(zenity --entry --title="Account creation" --text "Enter username for this installation:")
|
||||
if [ $HOLOUSER = "root" ]; then
|
||||
zenity --warning --text "User root already exists." --width=300
|
||||
elif [ -z $HOLOUSER ]; then
|
||||
zenity --warning --text "Please create a user!" --width=300
|
||||
elif [ ${#HOLOUSER} -gt 32 ]; then
|
||||
zenity --warning --text "Username length must not exceed 32 characters!" --width=400
|
||||
elif [[ ! $HOLOUSER =~ $NAME_REGEX ]]; then
|
||||
zenity --warning --text "Invalid username \"$HOLOUSER\"\nUsername needs to follow these rules:\n\n- Must start with a lowercase letter.\n- May only contain lowercase letters, digits, hyphens, and underscores." --width=500
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
# Setup password for user
|
||||
while true; do
|
||||
HOLOPASS=$(zenity --forms --title="Account configuration" --text="Set password for $HOLOUSER" --add-password="Password for user $HOLOUSER")
|
||||
echo
|
||||
HOLOPASS_CONF=$(zenity --forms --title="Account configuration" --text="Confirm password for $HOLOUSER" --add-password="Password for user $HOLOUSER")
|
||||
echo
|
||||
if [ -z $HOLOPASS ]; then
|
||||
zenity --warning --text "Please type password for user \"$HOLOUSER\"!" --width=300
|
||||
HOLOPASS_CONF=unmatched
|
||||
fi
|
||||
if [ $HOLOPASS = $HOLOPASS_CONF ]; then
|
||||
break
|
||||
fi
|
||||
zenity --warning --text "Passwords do not match." --width=300
|
||||
done
|
||||
|
||||
echo "\nCreating user ${HOLOUSER}..."
|
||||
echo -e "${ROOTPASS}\n${ROOTPASS}" | arch-chroot ${HOLO_INSTALL_DIR} passwd root
|
||||
arch-chroot ${HOLO_INSTALL_DIR} useradd --create-home ${HOLOUSER}
|
||||
echo -e "${HOLOPASS}\n${HOLOPASS}" | arch-chroot ${HOLO_INSTALL_DIR} passwd ${HOLOUSER}
|
||||
echo "${HOLOUSER} ALL=(root) NOPASSWD:ALL" > ${HOLO_INSTALL_DIR}/etc/sudoers.d/${HOLOUSER}
|
||||
chmod 0440 ${HOLO_INSTALL_DIR}/etc/sudoers.d/${HOLOUSER}
|
||||
echo "127.0.1.1 ${HOLOHOSTNAME}" >> ${HOLO_INSTALL_DIR}/etc/hosts
|
||||
sleep 1
|
||||
clear
|
||||
|
||||
echo "\nInstalling bootloader..."
|
||||
mkdir -p ${HOLO_INSTALL_DIR}/boot/efi
|
||||
mount -t vfat ${efi_partition} ${HOLO_INSTALL_DIR}/boot/efi
|
||||
arch-chroot ${HOLO_INSTALL_DIR} holoiso-grub-update
|
||||
sleep 1
|
||||
clear
|
||||
}
|
||||
full_install() {
|
||||
if [[ "${GAMEPAD_DRV}" == "1" ]]; then
|
||||
echo "You're running this on Anbernic Win600. A suitable gamepad driver will be installed."
|
||||
arch-chroot ${HOLO_INSTALL_DIR} pacman -U --noconfirm $(find /etc/holoinstall/post_install/pkgs_addon | grep win600-xpad-dkms)
|
||||
fi
|
||||
if [[ "${FIRMWARE_INSTALL}" == "1" ]]; then
|
||||
echo "You're running this on a Steam Deck. linux-firmware-neptune will be installed to ensure maximum kernel-side compatibility."
|
||||
arch-chroot ${HOLO_INSTALL_DIR} pacman -Rdd --noconfirm linux-firmware
|
||||
arch-chroot ${HOLO_INSTALL_DIR} pacman -U --noconfirm $(find /etc/holoinstall/post_install/pkgs_addon | grep linux-neptune-firmware)
|
||||
arch-chroot ${HOLO_INSTALL_DIR} mkinitcpio -P
|
||||
fi
|
||||
echo "\nConfiguring Steam Deck UI by default..."
|
||||
ln -s /usr/share/applications/steam.desktop ${HOLO_INSTALL_DIR}/etc/skel/Desktop/steam.desktop
|
||||
echo "[General]\nDisplayServer=wayland\n\n[Autologin]\nUser=${HOLOUSER}\nSession=gamescope-wayland.desktop" >> ${HOLO_INSTALL_DIR}/etc/sddm.conf.d/autologin.conf
|
||||
arch-chroot ${HOLO_INSTALL_DIR} systemctl enable holoiso-reboot-tracker
|
||||
arch-chroot ${HOLO_INSTALL_DIR} usermod -a -G rfkill ${HOLOUSER}
|
||||
arch-chroot ${HOLO_INSTALL_DIR} usermod -a -G wheel ${HOLOUSER}
|
||||
echo "Preparing Steam OOBE..."
|
||||
arch-chroot ${HOLO_INSTALL_DIR} sudo -u ${HOLOUSER} steam
|
||||
check_download $? "installing flatpak"
|
||||
echo "Preparing flatpak..."
|
||||
arch-chroot ${HOLO_INSTALL_DIR} flatpak remote-add --if-not-exists flathub-beta /etc/holoinstall/post_install/flathub-beta.flatpakrepo
|
||||
echo "Cleaning up..."
|
||||
arch-chroot ${HOLO_INSTALL_DIR} rm -rf /etc/holoinstall
|
||||
sleep 1
|
||||
clear
|
||||
}
|
||||
|
||||
|
||||
# The installer itself. Good wuck.
|
||||
echo "SteamOS 3 Installer"
|
||||
echo "Start time: $(date)"
|
||||
echo "Please choose installation type:"
|
||||
HOLO_INSTALL_TYPE=$(zenity --list --title="Choose your installation type:" --column="Type" --column="Name" 1 "barebones (Will install base SteamOS 3 root filesystem and hooks)" \2 "deck-experience (Will install full SteamOS 3 including gamescope and Plasma DE)" --width=700 --height=220)
|
||||
if [[ "${HOLO_INSTALL_TYPE}" == "1" ]] || [[ "${HOLO_INSTALL_TYPE}" == "barebones" ]]; then
|
||||
echo "Installing SteamOS, barebones configuration..."
|
||||
base_os_install
|
||||
echo "Installation finished! You may reboot now, or type arch-chroot /mnt to make further changes"
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
elif [[ "${HOLO_INSTALL_TYPE}" == "2" ]]; then
|
||||
|
||||
echo "Installing SteamOS, deckperience configuration..."
|
||||
base_os_install
|
||||
full_install
|
||||
echo "Installation finished! You may reboot now, or type arch-chroot /mnt to make further changes"
|
||||
echo 'Press any key to exit...'; read -k1 -s
|
||||
else
|
||||
echo "Invalid choice. Exiting installer..."
|
||||
fi
|
||||
|
||||
echo "End time: $(date)"
|
@ -0,0 +1,14 @@
|
||||
# mkinitcpio preset file for the 'linux-neptune' package
|
||||
|
||||
ALL_config="/etc/mkinitcpio.conf"
|
||||
ALL_kver="/boot/vmlinuz-linux-neptune"
|
||||
|
||||
PRESETS=('default' 'fallback')
|
||||
|
||||
#default_config="/etc/mkinitcpio.conf"
|
||||
default_image="/boot/initramfs-linux-neptune.img"
|
||||
#default_options=""
|
||||
|
||||
#fallback_config="/etc/mkinitcpio.conf"
|
||||
fallback_image="/boot/initramfs-linux-neptune-fallback.img"
|
||||
fallback_options="-S autodetect"
|
115
airootfs/etc/holoinstall/post_install/pacman.conf
Normal file
115
airootfs/etc/holoinstall/post_install/pacman.conf
Normal file
@ -0,0 +1,115 @@
|
||||
#
|
||||
# /etc/pacman.conf
|
||||
#
|
||||
# See the pacman.conf(5) manpage for option and repository directives
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
# The following paths are commented out with their default values listed.
|
||||
# If you wish to use different paths, uncomment and update the paths.
|
||||
#RootDir = /
|
||||
#DBPath = /var/lib/pacman/
|
||||
#CacheDir = /var/cache/pacman/pkg/
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = auto
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
IgnorePkg = linux-firmware-neptune linux-firmware-neptune-rtw-debug
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
#Color
|
||||
#TotalDownload
|
||||
# We cannot check disk space from within a chroot environment
|
||||
#CheckSpace
|
||||
#VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||
# keyring can then be populated with the keys of all official Arch Linux
|
||||
# packagers with `pacman-key --populate archlinux`.
|
||||
|
||||
#
|
||||
# REPOSITORIES
|
||||
# - can be defined here or included from another file
|
||||
# - pacman will search repositories in the order defined here
|
||||
# - local/custom mirrors can be added here or in separate files
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
# Server = ServerName
|
||||
# Include = IncludePath
|
||||
#
|
||||
# The header [repo-name] is crucial - it must be present and
|
||||
# uncommented to enable the repo.
|
||||
#
|
||||
|
||||
# The testing repositories are disabled by default. To enable, uncomment the
|
||||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[holoiso-stable]
|
||||
Include = /etc/pacman.d/holo_mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[holostaging]
|
||||
Include = /etc/pacman.d/holo_mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[jupiter]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[holo]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
#[community-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
35
airootfs/etc/holoinstall/pre_install/iso_build_deps.sh
Normal file
35
airootfs/etc/holoinstall/pre_install/iso_build_deps.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/bin/zsh
|
||||
# Prepares ISO for packaging
|
||||
|
||||
# Init pacman keys
|
||||
pacman-key --init
|
||||
pacman -Sy
|
||||
|
||||
# Install desktop suite
|
||||
pacman -Rcns --noconfirm pulseaudio xfce4-pulseaudio-plugin pulseaudio-alsa
|
||||
pacman --overwrite="*" -S holoiso-main holo/filesystem holoiso-updateclient wireplumber flatpak packagekit-qt5 rsync unzip sddm-wayland dkms
|
||||
wget https://gdrivecdn.thevakhovske.pw/6:/holoiso/os/x86_64/lib32-nvidia-utils-515.57-1-x86_64.pkg.tar.zst -P /etc/holoinstall/post_install/pkgs
|
||||
pacman -U --noconfirm /etc/holoinstall/post_install/pkgs/lib32-nvidia-utils-515.57-1-x86_64.pkg.tar.zst
|
||||
|
||||
# Remove useless shortcuts for now
|
||||
mv /etc/xdg/autostart/steam.desktop /etc/xdg/autostart/desktopshortcuts.desktop /etc/skel/Desktop/steamos-gamemode.desktop /etc/skel/Desktop/Return.desktop /etc/holoinstall/post_install_shortcuts
|
||||
|
||||
# Enable stuff
|
||||
systemctl enable sddm NetworkManager systemd-timesyncd cups bluetooth
|
||||
|
||||
# Download extra stuff
|
||||
mkdir -p /etc/holoinstall/post_install/pkgs
|
||||
wget https://gdrivecdn.thevakhovske.pw/6:/holostaging/os/x86_64/linux-holoiso-5.18.1.holoiso20220606.1822-1-x86_64.pkg.tar.zst -P /etc/holoinstall/post_install/pkgs
|
||||
wget https://gdrivecdn.thevakhovske.pw/6:/holostaging/os/x86_64/linux-holoiso-headers-5.18.1.holoiso20220606.1822-1-x86_64.pkg.tar.zst -P /etc/holoinstall/post_install/pkgs
|
||||
wget $(pacman -Sp win600-xpad-dkms) -P /etc/holoinstall/post_install/pkgs_addon
|
||||
wget $(pacman -Sp linux-firmware-neptune) -P /etc/holoinstall/post_install/pkgs_addon
|
||||
|
||||
# Workaround mkinitcpio bullshit so that i don't KMS after rebuilding ISO each time and having users reinstalling their fucking OS bullshit every goddamn time.
|
||||
rm /etc/mkinitcpio.conf
|
||||
mv /etc/mkinitcpio.conf.pacnew /etc/mkinitcpio.conf
|
||||
rm /etc/mkinitcpio.d/* # This removes shitty unasked presets so that this thing can't overwrite it next time
|
||||
cp /etc/holoinstall/post_install/mkinitcpio_presets/linux-neptune.preset /etc/mkinitcpio.d/ # Yes. I'm lazy to use mkinitcpio-install. Problems? *gigachad posture*
|
||||
|
||||
# Prepare thyself
|
||||
chmod +x /etc/holoinstall/post_install/install_holoiso.sh
|
||||
chmod +x /etc/skel/Desktop/install.desktop
|
@ -1,168 +0,0 @@
|
||||
#
|
||||
# General configuration
|
||||
#
|
||||
# start-default-seat = True to always start one seat if none are defined in the configuration
|
||||
# greeter-user = User to run greeter as
|
||||
# minimum-display-number = Minimum display number to use for X servers
|
||||
# minimum-vt = First VT to run displays on
|
||||
# lock-memory = True to prevent memory from being paged to disk
|
||||
# user-authority-in-system-dir = True if session authority should be in the system location
|
||||
# guest-account-script = Script to be run to setup guest account
|
||||
# logind-check-graphical = True to on start seats that are marked as graphical by logind
|
||||
# log-directory = Directory to log information to
|
||||
# run-directory = Directory to put running state in
|
||||
# cache-directory = Directory to cache to
|
||||
# sessions-directory = Directory to find sessions
|
||||
# remote-sessions-directory = Directory to find remote sessions
|
||||
# greeters-directory = Directory to find greeters
|
||||
# backup-logs = True to move add a .old suffix to old log files when opening new ones
|
||||
# dbus-service = True if LightDM provides a D-Bus service to control it
|
||||
#
|
||||
|
||||
[LightDM]
|
||||
#start-default-seat=true
|
||||
#greeter-user=lightdm
|
||||
#minimum-display-number=0
|
||||
#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799
|
||||
#lock-memory=true
|
||||
#user-authority-in-system-dir=false
|
||||
#guest-account-script=guest-account
|
||||
#logind-check-graphical=false
|
||||
#log-directory=/var/log/lightdm
|
||||
run-directory=/run/lightdm
|
||||
#cache-directory=/var/cache/lightdm
|
||||
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
|
||||
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
|
||||
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
|
||||
#backup-logs=true
|
||||
#dbus-service=true
|
||||
|
||||
#
|
||||
# Seat configuration
|
||||
#
|
||||
# Seat configuration is matched against the seat name glob in the section, for example:
|
||||
# [Seat:*] matches all seats and is applied first.
|
||||
# [Seat:seat0] matches the seat named "seat0".
|
||||
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
|
||||
#
|
||||
# type = Seat type (local, xremote)
|
||||
# pam-service = PAM service to use for login
|
||||
# pam-autologin-service = PAM service to use for autologin
|
||||
# pam-greeter-service = PAM service to use for greeters
|
||||
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
|
||||
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
|
||||
# xserver-config = Config file to pass to X server
|
||||
# xserver-layout = Layout to pass to X server
|
||||
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
|
||||
# xserver-share = True if the X server is shared for both greeter and session
|
||||
# xserver-hostname = Hostname of X server (only for type=xremote)
|
||||
# xserver-display-number = Display number of X server (only for type=xremote)
|
||||
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
|
||||
# xdmcp-port = XDMCP UDP/IP port to communicate on
|
||||
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
|
||||
# greeter-session = Session to load for greeter
|
||||
# greeter-hide-users = True to hide the user list
|
||||
# greeter-allow-guest = True if the greeter should show a guest login option
|
||||
# greeter-show-manual-login = True if the greeter should offer a manual login option
|
||||
# greeter-show-remote-login = True if the greeter should offer a remote login option
|
||||
# user-session = Session to load for users
|
||||
# allow-user-switching = True if allowed to switch users
|
||||
# allow-guest = True if guest login is allowed
|
||||
# guest-session = Session to load for guests (overrides user-session)
|
||||
# session-wrapper = Wrapper script to run session with
|
||||
# greeter-wrapper = Wrapper script to run greeter with
|
||||
# guest-wrapper = Wrapper script to run guest sessions with
|
||||
# display-setup-script = Script to run when starting a greeter session (runs as root)
|
||||
# display-stopped-script = Script to run after stopping the display server (runs as root)
|
||||
# greeter-setup-script = Script to run when starting a greeter (runs as root)
|
||||
# session-setup-script = Script to run when starting a user session (runs as root)
|
||||
# session-cleanup-script = Script to run when quitting a user session (runs as root)
|
||||
# autologin-guest = True to log in as guest by default
|
||||
# autologin-user = User to log in with by default (overrides autologin-guest)
|
||||
# autologin-user-timeout = Number of seconds to wait before loading default user
|
||||
# autologin-session = Session to load for automatic login (overrides user-session)
|
||||
# autologin-in-background = True if autologin session should not be immediately activated
|
||||
# exit-on-failure = True if the daemon should exit if this seat fails
|
||||
#
|
||||
|
||||
[Seat:*]
|
||||
#type=local
|
||||
#pam-service=lightdm
|
||||
#pam-autologin-service=lightdm-autologin
|
||||
#pam-greeter-service=lightdm-greeter
|
||||
#xserver-command=X
|
||||
#xmir-command=Xmir
|
||||
#xserver-config=
|
||||
#xserver-layout=
|
||||
#xserver-allow-tcp=false
|
||||
#xserver-share=true
|
||||
#xserver-hostname=
|
||||
#xserver-display-number=
|
||||
#xdmcp-manager=
|
||||
#xdmcp-port=177
|
||||
#xdmcp-key=
|
||||
greeter-session=lightdm-gtk-greeter
|
||||
#greeter-hide-users=false
|
||||
#greeter-allow-guest=true
|
||||
#greeter-show-manual-login=false
|
||||
#greeter-show-remote-login=true
|
||||
user-session=plasma
|
||||
#allow-user-switching=true
|
||||
#allow-guest=true
|
||||
#guest-session=
|
||||
session-wrapper=/etc/lightdm/Xsession
|
||||
#greeter-wrapper=
|
||||
#guest-wrapper=
|
||||
#display-setup-script=
|
||||
#display-stopped-script=
|
||||
#greeter-setup-script=
|
||||
#session-setup-script=
|
||||
#session-cleanup-script=
|
||||
#autologin-guest=false
|
||||
autologin-user=liveuser
|
||||
#autologin-user-timeout=0
|
||||
#autologin-in-background=false
|
||||
#autologin-session=xfce
|
||||
#exit-on-failure=false
|
||||
|
||||
#
|
||||
# XDMCP Server configuration
|
||||
#
|
||||
# enabled = True if XDMCP connections should be allowed
|
||||
# port = UDP/IP port to listen for connections on
|
||||
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
|
||||
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
|
||||
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
|
||||
#
|
||||
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
|
||||
# it can be a word and the first 7 characters are used as the key.
|
||||
#
|
||||
greeter-show-manual-login=false
|
||||
|
||||
[XDMCPServer]
|
||||
#enabled=false
|
||||
#port=177
|
||||
#listen-address=
|
||||
#key=
|
||||
#hostname=
|
||||
|
||||
#
|
||||
# VNC Server configuration
|
||||
#
|
||||
# enabled = True if VNC connections should be allowed
|
||||
# command = Command to run Xvnc server with
|
||||
# port = TCP/IP port to listen for connections on
|
||||
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
|
||||
# width = Width of display to use
|
||||
# height = Height of display to use
|
||||
# depth = Color depth of display to use
|
||||
#
|
||||
|
||||
[VNCServer]
|
||||
#enabled=false
|
||||
#command=Xvnc
|
||||
#port=5900
|
||||
#listen-address=
|
||||
#width=1024
|
||||
#height=768
|
||||
#depth=8
|
@ -1,8 +0,0 @@
|
||||
Welcome to [38;2;23;147;209mSteamOS 3![0m
|
||||
|
||||
To install SteamOS 3 on your device, connect to network using RNDIS/Ethernet
|
||||
or connect to wifi using [38;2;23;147;209miwctl[0m
|
||||
then type [38;2;23;147;209mholoinstall[0m in!
|
||||
|
||||
Alternatively, you can repair your current ArchLinux/SteamOS installation
|
||||
by chrooting into it using [38;2;23;147;209march-chroot[0m
|
@ -33,7 +33,7 @@ IgnorePkg = linux-firmware-neptune linux-firmware-neptune-rtw-debug
|
||||
#Color
|
||||
#TotalDownload
|
||||
# We cannot check disk space from within a chroot environment
|
||||
CheckSpace
|
||||
#CheckSpace
|
||||
#VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
|
||||
@ -91,18 +91,22 @@ SigLevel = Never
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
#[community-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
SigLevel = Never
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
|
6
airootfs/etc/sddm.conf.d/installer_autologin.conf
Normal file
6
airootfs/etc/sddm.conf.d/installer_autologin.conf
Normal file
@ -0,0 +1,6 @@
|
||||
[General]
|
||||
DisplayServer=wayland
|
||||
|
||||
[Autologin]
|
||||
User=liveuser
|
||||
Session=plasma.desktop
|
19
airootfs/etc/skel/Desktop/install.desktop
Normal file
19
airootfs/etc/skel/Desktop/install.desktop
Normal file
@ -0,0 +1,19 @@
|
||||
[Desktop Entry]
|
||||
Comment[en_US]=
|
||||
Comment=
|
||||
Exec=sudo /etc/holoinstall/post_install/install_holoiso.sh
|
||||
GenericName[en_US]=
|
||||
GenericName=
|
||||
Icon=input-keyboard-symbolic
|
||||
MimeType=
|
||||
Name[en_US]=Install SteamOS on this machine
|
||||
Name=Installs HoloISO on this device
|
||||
Path=
|
||||
StartupNotify=true
|
||||
Terminal=true
|
||||
TerminalOptions=
|
||||
Type=Application
|
||||
X-DBUS-ServiceName=
|
||||
X-DBUS-StartupType=
|
||||
X-KDE-SubstituteUID=false
|
||||
X-KDE-Username=
|
@ -1 +0,0 @@
|
||||
/usr/lib/systemd/system/lightdm.service
|
@ -1,6 +0,0 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux
|
@ -3,4 +3,4 @@ linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-neptune
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-neptune.img
|
||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram
|
||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=20G copytoram
|
||||
|
@ -1,6 +0,0 @@
|
||||
title SteamOS installer (Kernel 5.18, NVIDIA and higher compatibility; x86_64, UEFI)
|
||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-holoiso
|
||||
initrd /%INSTALL_DIR%/boot/intel-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/amd-ucode.img
|
||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-holoiso.img
|
||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram
|
7
packages.holo_x86_64
Normal file
7
packages.holo_x86_64
Normal file
@ -0,0 +1,7 @@
|
||||
holoiso-main
|
||||
holoiso-updateclient
|
||||
wireplumber
|
||||
flatpak
|
||||
packagekit-qt5
|
||||
rsync
|
||||
unzip
|
@ -35,7 +35,6 @@ gptfdisk
|
||||
grml-zsh-config
|
||||
grub
|
||||
hdparm
|
||||
holostaging/holoiso-install-script-gui
|
||||
intel-ucode
|
||||
irssi
|
||||
iw
|
||||
@ -46,6 +45,7 @@ lftp
|
||||
libfido2
|
||||
libusb-compat
|
||||
linux-neptune
|
||||
linux-neptune-headers
|
||||
linux-atm
|
||||
linux-firmware
|
||||
linux-firmware-marvell
|
||||
@ -123,8 +123,7 @@ plasma-nm
|
||||
plasma-meta
|
||||
steamdeck-kde-presets
|
||||
xorg-server
|
||||
lightdm
|
||||
lightdm-gtk-greeter
|
||||
vim
|
||||
xdg-user-dirs
|
||||
bash-completion
|
||||
networkmanager
|
||||
|
Loading…
Reference in New Issue
Block a user