diff --git a/build-iso.sh b/build-iso.sh index a05ed76..a17dffc 100755 --- a/build-iso.sh +++ b/build-iso.sh @@ -22,13 +22,13 @@ mkdir -p "${temp_dir}" # add AUR packages to the build AUR_PACKAGES="\ - frzr \ rtl88x2bu-dkms-git \ rtw89-dkms-git \ r8152-dkms \ rtl8812au-dkms-git \ rtl8814au-dkms-git \ rz608-fix-git \ + inputplumber-bin \ " ADDITIONAL_PACKAGES="\ diff --git a/chimeraos/airootfs/etc/mkinitcpio.conf b/chimeraos/airootfs/etc/mkinitcpio.conf index 0b68ee6..6812dc4 100644 --- a/chimeraos/airootfs/etc/mkinitcpio.conf +++ b/chimeraos/airootfs/etc/mkinitcpio.conf @@ -52,7 +52,7 @@ FILES=() # ## NOTE: If you have /usr on a separate partition, you MUST include the # usr, fsck and shutdown hooks. -HOOKS=(base udev memdisk archiso archiso_loop_mnt archiso_kms block filesystems keyboard microcode) +HOOKS=(base plymouth udev memdisk archiso archiso_loop_mnt archiso_kms block filesystems keyboard microcode) # COMPRESSION # Use this to compress the initramfs image. By default, gzip compression diff --git a/chimeraos/airootfs/etc/motd b/chimeraos/airootfs/etc/motd deleted file mode 100644 index 3f82850..0000000 --- a/chimeraos/airootfs/etc/motd +++ /dev/null @@ -1,10 +0,0 @@ -To install Arch Linux follow the installation guide: -https://wiki.archlinux.org/index.php/Installation_guide - -For Wi-Fi, authenticate to the wireless network using the iwctl utility. -For mobile broadband (WWAN) modems, connect with the mmcli utility. -Ethernet, WLAN and WWAN interfaces using DHCP should work automatically. - -After connecting to the internet, the installation guide can be accessed -via the convenience script Installation_guide. - diff --git a/chimeraos/airootfs/etc/plymouth/plymouthd.conf b/chimeraos/airootfs/etc/plymouth/plymouthd.conf new file mode 100644 index 0000000..7870ba7 --- /dev/null +++ b/chimeraos/airootfs/etc/plymouth/plymouthd.conf @@ -0,0 +1,2 @@ +[Daemon] +Theme=bgrt-chimera diff --git a/chimeraos/airootfs/root/gamepad_profile.yaml b/chimeraos/airootfs/root/gamepad_profile.yaml new file mode 100644 index 0000000..a7a0566 --- /dev/null +++ b/chimeraos/airootfs/root/gamepad_profile.yaml @@ -0,0 +1,80 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/device_profile_v1.json +# Schema version number +version: 1 + +kind: DeviceProfile +name: Simple keyboard profile +description: Minimal keyboard profile for OS installer + +mapping: + # Dpad + - name: D-Up + source_event: + gamepad: + button: DPadUp + target_events: + - keyboard: KeyUp + - name: D-Down + source_event: + gamepad: + button: DPadDown + target_events: + - keyboard: KeyDown + - name: D-Left + source_event: + gamepad: + button: DPadLeft + target_events: + - keyboard: KeyLeft + - name: D-Right + source_event: + gamepad: + button: DPadRight + target_events: + - keyboard: KeyRight + + # Left analog stick + - name: Left Stick Up + source_event: + gamepad: + axis: + name: LeftStick + direction: up + deadzone: 0.8 + target_events: + - keyboard: KeyUp + - name: Left Stick Down + source_event: + gamepad: + axis: + name: LeftStick + direction: down + deadzone: 0.8 + target_events: + - keyboard: KeyDown + - name: Left Stick Left + source_event: + gamepad: + axis: + name: LeftStick + direction: left + deadzone: 0.8 + target_events: + - keyboard: KeyLeft + - name: Left Stick Right + source_event: + gamepad: + axis: + name: LeftStick + direction: right + deadzone: 0.8 + target_events: + - keyboard: KeyRight + + # Buttons + - name: A Button + source_event: + gamepad: + button: South + target_events: + - keyboard: KeyEnter diff --git a/chimeraos/airootfs/root/install.sh b/chimeraos/airootfs/root/install.sh index e2aa0c8..2661da6 100755 --- a/chimeraos/airootfs/root/install.sh +++ b/chimeraos/airootfs/root/install.sh @@ -13,22 +13,171 @@ clean_progress() { done } +poll_gamepad() { + modprobe xpad > /dev/null + systemctl start inputplumber > /dev/null + + while true; do + sleep 1 + busctl call org.shadowblip.InputPlumber \ + /org/shadowblip/InputPlumber/CompositeDevice0 \ + org.shadowblip.Input.CompositeDevice \ + LoadProfilePath "s" /root/gamepad_profile.yaml &> /dev/null + if [ $? == 0 ]; then + break + fi + done +} + +get_boot_disk() { + local current_boot_id=$(efibootmgr | grep BootCurrent | head -1 | cut -d':' -f 2 | tr -d ' ') + local boot_disk_info=$(efibootmgr | grep "Boot${current_boot_id}" | head -1) + local part_uuid=$(echo $boot_disk_info | tr "/" "\n" | grep "HD(" | cut -d',' -f3 | head -1 | sed -e 's/^0x//') + local part=$(blkid | grep $part_uuid | cut -d':' -f1 | head -1 | sed -e 's,/dev/,,') + local part_path=$(readlink "/sys/class/block/$part") + basename `dirname $part_path` +} + +is_disk_external() { + local disk=$1 # the disk to check if it is external + local external=$(lsblk --list -n -o name,hotplug | grep "$disk " | cut -d' ' -f2- | xargs echo -n) + + test "$external" == "1" +} + +is_disk_smaller_than() { + local disk=$1 # the disk to check the size of + local min_size=$2 # minimum size in GB + local size=$(lsblk --list -n -o name,size | grep "$disk " | cut -d' ' -f2- | xargs echo -n) + + if echo $size | grep "T$" &> /dev/null; then + return 1 + fi + + if echo $size | grep "G$" &> /dev/null; then + size=$(echo $size | sed 's/G//' | cut -d'.' -f1) + if [ "$size" -lt "$min_size" ]; then + return 0 + else + return 1 + fi + fi + + return 0 +} + +get_disk_model_override() { + local device=$1 + grep "${DEVICE_VENDOR}:${DEVICE_PRODUCT}:${DEVICE_CPU}:${device}" overrides | cut -f2- | xargs echo -n +} + +get_disk_human_description() { + local name=$1 + local size=$(lsblk --list -n -o name,size | grep "$name " | cut -d' ' -f2- | xargs echo -n) + + if [ "$size" = "0B" ]; then + return + fi + + local model=$(get_disk_model_override $name | xargs echo -n) + if [ -z "$model" ]; then + model=$(lsblk --list -n -o name,model | grep "$name " | cut -d' ' -f2- | xargs echo -n) + fi + + local vendor=$(lsblk --list -n -o name,vendor | grep "$name " | cut -d' ' -f2- | xargs echo -n) + local transport=$(lsblk --list -n -o name,tran | grep "$name " | cut -d' ' -f2- | \ + sed -e 's/usb/USB/' | \ + sed -e 's/nvme/Internal/' | \ + sed -e 's/ata/Internal/' | \ + sed -e 's/sata/Internal/' | \ + sed -e 's/mmc/SD card/' | \ + xargs echo -n) + echo "[${transport}] ${vendor} ${model:=Unknown model} ($size)" | xargs echo -n +} + +cancel_install() { + if (whiptail --yesno --yes-button "Power off" --no-button "Open command prompt" "Installation was cancelled. What would you like to do?" 10 70); then + poweroff + fi + + exit 1 +} + +select_disk() { + while true + do + # a key/value store using an array + # even number indexes are keys (starting at 0), odd number indexes are values + # keys are the disk name without `/dev` e.g. sda, nvme0n1 + # values are the disk description + device_list=() + + device_output=$(lsblk --list -n -o name,type | grep disk | grep -v zram | grep -v `get_boot_disk`) + while read -r line; do + name=$(echo "$line" | cut -d' ' -f1 | xargs echo -n) + description=$(get_disk_human_description $name) + if [ -z "$description" ]; then + continue + fi + device_list+=($name) + device_list+=("$description") + done <<< "$device_output" + + if [ "${#device_list[@]}" -gt 2 ]; then + export DISK=$(whiptail --nocancel --menu "Choose a disk to install $OS_NAME on:" 20 70 5 "${device_list[@]}" 3>&1 1>&2 2>&3) + else + export DISK=${device_list[0]} + fi + + export DISK_DESC=$(get_disk_human_description $DISK) + + if is_disk_smaller_than $DISK $MIN_DISK_SIZE; then + if (whiptail --yesno --yes-button "Select a different disk" --no-button "Cancel install" \ + "ERROR: The selected disk $DISK - $DISK_DESC is too small. $OS_NAME requires at least $MIN_DISK_SIZE GB.\n\nPlease select a different disk." 12 75); then + continue + else + cancel_install + fi + fi + + if is_disk_external $DISK; then + if (whiptail --yesno --defaultno --yes-button "Install anyway" --no-button "Select a different disk" \ + "WARNING: $DISK - $DISK_DESC appears to be an external disk. Installing $OS_NAME to an external disk is not officially supported and may result in poor performance and permanent damage to the disk.\n\nDo you wish to install anyway?" 12 80); then + break + else + # Unlikely that we would ever have ONLY an external disk, so this should be good enough + continue + fi + fi + + break + done +} + + + if [ $EUID -ne 0 ]; then echo "$(basename $0) must be run as root" exit 1 fi + +OS_NAME=ChimeraOS +MIN_DISK_SIZE=55 # GB + +DEVICE_VENDOR=$(cat /sys/devices/virtual/dmi/id/sys_vendor) +DEVICE_PRODUCT=$(cat /sys/devices/virtual/dmi/id/product_name) +DEVICE_CPU=$(lscpu | grep Vendor | cut -d':' -f2 | xargs echo -n) + + + dmesg --console-level 1 -if [ ! -d /sys/firmware/efi/efivars ]; then - MSG="Legacy BIOS installs are not supported. You must boot the installer in UEFI mode.\n\nWould you like to restart the computer now?" - if (whiptail --yesno "${MSG}" 10 50); then - reboot - fi - exit 1 -fi + +# start polling for a gamepad +poll_gamepad & # try to set correct date & time -- required to be able to connect to github via https if your hardware clock is set too far into the past @@ -38,6 +187,7 @@ timedatectl set-ntp true #### Test connection or ask the user for configuration #### # Waiting a bit because some wifi chips are slow to scan 5GHZ networks and to avoid kernel boot up messages printing over the screen +echo "Starting installer..." sleep 10 TARGET="stable" @@ -59,9 +209,21 @@ done MOUNT_PATH=/tmp/frzr_root -if ! frzr-bootstrap gamer; then +# sets DISK and DISK_DESC +select_disk + +# warn before erasing disk +if ! (whiptail --yesno --defaultno --yes-button "Erase disk and install" --no-button "Cancel install" "\ +WARNING: $OS_NAME will now be installed and all data on the following disk will be lost:\n\n\ + $DISK - $DISK_DESC\n\n\ +Do you wish to proceed?" 15 70); then + cancel_install +fi + +# perform bootstrap of disk +if ! frzr-bootstrap gamer /dev/${DISK}; then whiptail --msgbox "System bootstrap step failed." 10 50 - exit 1 + cancel_install fi #### Post install steps for system configuration @@ -73,78 +235,9 @@ if [ -d ${SYS_CONN_DIR} ] && [ -n "$(ls -A ${SYS_CONN_DIR})" ]; then ${MOUNT_PATH}${SYS_CONN_DIR}/. fi -# Grab the steam bootstrap for first boot - -URL="https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/steam-jupiter-stable-1.0.0.79-1-x86_64.pkg.tar.zst" -TMP_PKG="/tmp/package.pkg.tar.zst" -TMP_FILE="/tmp/bootstraplinux_ubuntu12_32.tar.xz" -DESTINATION="/tmp/frzr_root/etc/first-boot/" -if [[ ! -d "$DESTINATION" ]]; then - mkdir -p /tmp/frzr_root/etc/first-boot -fi - -curl --http1.1 -# -L -o "${TMP_PKG}" -C - "${URL}" 2>&1 | \ -stdbuf -oL tr '\r' '\n' | grep --line-buffered -oP '[0-9]*+(?=.[0-9])' | clean_progress 100 | \ -whiptail --gauge "Downloading Steam" 10 50 0 - -tar -I zstd -xvf "$TMP_PKG" usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz -O > "$TMP_FILE" -mv "$TMP_FILE" "$DESTINATION" -rm "$TMP_PKG" - -MENU_SELECT=$(whiptail --menu "Install Options" 25 75 10 \ - "Standard:" "Install with default options" \ - "Advanced:" "Install with advanced options" \ - 3>&1 1>&2 2>&3) - -if [ "$MENU_SELECT" = "Advanced:" ]; then - OPTIONS=$(whiptail --separate-output --checklist "Choose options" 10 55 4 \ - "Use Firmware Overrides" "DSDT/EDID" OFF \ - "Unstable Builds" "" OFF 3>&1 1>&2 2>&3) - - if echo "$OPTIONS" | grep -q "Use Firmware Overrides"; then - echo "Enabling firmware overrides..." - if [[ ! -d "/tmp/frzr_root/etc/device-quirks/" ]]; then - mkdir -p "/tmp/frzr_root/etc/device-quirks" - # Create device-quirks default config - cat >"/tmp/frzr_root/etc/device-quirks/device-quirks.conf" <"/tmp/frzr_root/etc/device-quirks/dsdt_override.log" <&1 1>&2 2>&3) -fi - -if [ "${CHOICE}" == "local" ]; then - export local_install=true - frzr-deploy - RESULT=$? -else - frzr-deploy chimeraos/chimeraos:${TARGET} - RESULT=$? -fi +frzr-deploy chimeraos/chimeraos:${TARGET} +RESULT=$? MSG="Installation failed." if [ "${RESULT}" == "0" ]; then @@ -153,7 +246,7 @@ elif [ "${RESULT}" == "29" ]; then MSG="GitHub API rate limit error encountered. Please retry installation later." fi -if (whiptail --yesno "${MSG}\n\nWould you like to restart the computer now?" 10 50); then +if (whiptail --yesno --yes-button "Reboot" --no-button "Open command prompt" "${MSG}" 10 70); then reboot fi diff --git a/chimeraos/airootfs/root/overrides b/chimeraos/airootfs/root/overrides new file mode 100644 index 0000000..ba28748 --- /dev/null +++ b/chimeraos/airootfs/root/overrides @@ -0,0 +1,7 @@ +# [vendor]:[product_name]:[cpu_vendor]:[disk_name] [1 or more tabs] [Disk model text description] + +ASUSTeK COMPUTER INC.:ROG Ally RC71L_RC71L:AuthenticAMD:nvme0n1 ROG Ally system disk +AYANEO:AYANEO 2:AuthenticAMD Advanced Micro Devices, Inc.:nvme0n1 Aya Neo 2 system disk +LENOVO:83E1:AuthenticAMD:nvme0n1 Legion Go system disk +Valve:Galileo:AuthenticAMD:nvme0n1 Steam Deck system disk +Valve:Jupiter:AuthenticAMD:nvme0n1 Steam Deck system disk diff --git a/chimeraos/airootfs/root/probe.sh b/chimeraos/airootfs/root/probe.sh new file mode 100755 index 0000000..e07bb38 --- /dev/null +++ b/chimeraos/airootfs/root/probe.sh @@ -0,0 +1,30 @@ +#! /bin/bash + +vendor=$(cat /sys/devices/virtual/dmi/id/sys_vendor) +product_name=$(cat /sys/devices/virtual/dmi/id/product_name) +cpu_vendor=$(lscpu | grep Vendor | cut -d':' -f2 | xargs echo -n) + +echo "Vendor: $vendor" +echo "Product name: $product_name" +echo "CPU vendor: $cpu_vendor" + +device_output=$(lsblk --list -n -o name,type | grep disk) +while read -r line; do + name=$(echo "$line" | cut -d' ' -f1 | xargs echo -n) + size=$(lsblk --list -n -o name,size | grep "$name " | cut -d' ' -f2- | xargs echo -n) + vendor=$(lsblk --list -n -o name,vendor | grep "$name " | cut -d' ' -f2- | xargs echo -n) + model=$(lsblk --list -n -o name,model | grep "$name " | cut -d' ' -f2- | xargs echo -n) + hotplug=$(lsblk --list -n -o name,hotplug | grep "$name " | cut -d' ' -f2- | xargs echo -n) + removable=$(lsblk --list -n -o name,rm | grep "$name " | cut -d' ' -f2- | xargs echo -n) + transport=$(lsblk --list -n -o name,tran | grep "$name " | cut -d' ' -f2- | xargs echo -n) + + echo "========== Storage ==========" + echo "Name: $name" + echo "Size: $size" + echo "Vendor: $vendor" + echo "Model: $model" + echo "Hotplug: $hotplug" + echo "Removable: $removable" + echo "Transport: $transport" +done <<< "$device_output" + diff --git a/chimeraos/airootfs/usr/bin/__frzr-deploy b/chimeraos/airootfs/usr/bin/__frzr-deploy new file mode 100644 index 0000000..0b2fa67 --- /dev/null +++ b/chimeraos/airootfs/usr/bin/__frzr-deploy @@ -0,0 +1,391 @@ +#! /bin/bash + +set -e +set -o pipefail + +get_img_url() { + CHANNEL=$1 + + # Order by creation date in reverse + result=$(jq 'sort_by(.created_at) | reverse') + + # Remove entries which have not been completed uploading + result=$(echo "${result}" | jq 'del(.[] | select(.assets[].state != "uploaded"))') + + # Always check for stable date + if stable_release_date=$(echo "${result}" | jq -er '[ .[] | + select(.prerelease==false) ] | + first | + .created_at' + ); then + # Check for stable url, this is the latest that have prerelease == false + stable_download_url=$(echo "${result}" | jq -r '[ .[] | + select(.prerelease==false) ] | + first | + .assets[] | + select(.browser_download_url | test("img")) | + .browser_download_url' + ) + else + # No stable channel found, pick some (old) values + # For testing/ channel selection + stable_release_date="1970-01-01T00:00:00Z" + stable_download_url="" + fi + + + # Filter channels by release naming conventions + if [[ "$CHANNEL" =~ ^[0-9]+\-?[0-9]*$ ]] ; then + # Check first for explicit version numbers between stable releases + # Useful for downgrading + result=$(echo "${result}" | jq -r "[ .[] | + select(.prerelease==false) | + select(.name|test(\" ${CHANNEL}\$\")) ] | + first | + .assets[] | + select(.browser_download_url | test(\"img\")) | + .browser_download_url" + ) + elif [ "$CHANNEL" == "stable" ]; then + result=$stable_download_url + elif [ "$CHANNEL" == "testing" ]; then + # Testing channel have prerelease = true and no other tags + if testing_release_date=$(echo "${result}" | jq -er '[ .[] | + select(.prerelease==true) | + select(.name|test("\\[.*\\]")|not) ] | + first | + .created_at' + ); then + testing_url=$(echo "${result}" | jq -r '[ .[] | + select(.prerelease==true) | + select(.name|test("\\[.*\\]")|not) ] | + first | + .assets[] | + select(.browser_download_url | test("img")) | + .browser_download_url' + ) + if [ $(date -d $testing_release_date +%s) -le $(date -d $stable_release_date +%s) ]; then + result=$stable_download_url + else + result=$testing_url + fi + else + result=$stable_download_url + fi + else + # Match any release with CHANNEL as a tag (including unstable) + result=$(echo ${result} | jq "[ .[] | select(.prerelease==true) | select(.name|test(\"\\\[${CHANNEL}\\\]\" ; \"i\")) ]") + if unstable_release_date=$(echo "${result}" | jq -er "[ .[] | + select(.prerelease==true) | + select(.name|test(\"\\\[${CHANNEL}\\\]\" ; \"i\")) ] | + first | + .created_at" + ); then + unstable_url=$(echo "${result}" | jq -r "[ .[] | + select(.prerelease==true) | + select(.name|test(\"\\\[${CHANNEL}\\\]\" ; \"i\")) ] | + first | + .assets[] | + select(.browser_download_url | test(\"img\")) | + .browser_download_url" + ) + if [ $(date -d $unstable_release_date +%s) -le $(date -d $stable_release_date +%s) ]; then + result=$stable_download_url + else + result=$unstable_url + fi + else + result=$stable_download_url + fi + fi + + echo $result +} + +get_boot_cfg() { + local version=${1} + local amd_ucode=${2} + local intel_ucode=${3} + local additional_arguments=${4} + +echo "title ${version} +linux /${version}/vmlinuz-linux +${amd_ucode} +${intel_ucode} +initrd /${version}/initramfs-linux.img +options root=LABEL=frzr_root rw rootflags=subvol=deployments/${version} quiet splash loglevel=3 rd.systemd.show_status=auto rd.udev.log_priority=3 ${additional_arguments}" + +} + +get_deployment_to_delete() { + local current_version=${1} + local boot_cfg_path=${2} + local deployment_path=${3} + + local TO_BOOT=`get_next_boot_deployment ${current_version} ${boot_cfg_path}` + + ls -1 ${deployment_path} | grep -v ${current_version} | grep -v ${TO_BOOT} | head -1 || echo +} + +get_next_boot_deployment() { + local current_version=${1} + local boot_cfg_path=${2} + + local TO_BOOT='this-is-not-a-valid-version-string' + if [ -f "${boot_cfg_path}" ] && grep "^title" "${boot_cfg_path}" > /dev/null; then + TO_BOOT=`grep ^title ${boot_cfg_path} | sed 's/title //'` + fi + + echo ${TO_BOOT} +} + +clean_progress() { + local scale=$1 + local postfix=$2 + local last_value=$scale + while IFS= read -r line; do + value=$(( ${line}*${scale}/100 )) + if [ "$last_value" != "$value" ]; then + echo ${value}${postfix} + last_value=$value + fi + done +} + + +main() { + if [ $EUID -ne 0 ]; then + echo "$(basename $0) must be run as root" + exit 1 + fi + + FRZR_CHECK_UPDATE=0 + FRZR_STEAM_PROGRESS=0 + FRZR_SOURCE="" + FRZR_PARAMS="" + + while (( "$#" )); do + case $1 in + --check) + FRZR_CHECK_UPDATE=1 + shift + ;; + --steam-progress) + FRZR_STEAM_PROGRESS=1 + shift + ;; + -*|--*) + echo "Unknown argument $1" + exit 1 + ;; + *) # preserve positional arguments + FRZR_PARAMS="${FRZR_PARAMS}$1 " # Use trailing space for the match below + shift + ;; + esac + done + + if [ ! -d /sys/firmware/efi/efivars ]; then + echo "Legacy BIOS installs are not supported. Aborting." + exit 1 + fi + + # keep only the first param as source + FRZR_SOURCE="${FRZR_PARAMS%% *}" + + MOUNT_PATH=/frzr_root + + if ! mountpoint -q ${MOUNT_PATH}; then + MOUNT_PATH=/tmp/frzr_root + fi + + if ! mountpoint -q ${MOUNT_PATH}; then + mkdir -p ${MOUNT_PATH} + mount -L frzr_root ${MOUNT_PATH} + sleep 5 + fi + + if ! mountpoint -q ${MOUNT_PATH}/boot && ls -1 /dev/disk/by-label | grep frzr_efi > /dev/null; then + mkdir -p ${MOUNT_PATH}/boot + mount -L frzr_efi ${MOUNT_PATH}/boot + sleep 5 + fi + + DEPLOY_PATH=${MOUNT_PATH}/deployments + mkdir -p ${DEPLOY_PATH} + + BOOT_CFG="${MOUNT_PATH}/boot/loader/entries/frzr.conf" + mkdir -p ${MOUNT_PATH}/boot/loader/entries + + # delete deployments under these conditions: + # - we are currently running inside a frzr deployment (i.e. not during install) + # - the deployment is not currently running + # - the deployment is not configured to be run on next boot + if frzr-release > /dev/null; then + CURRENT=`frzr-release` + TO_DELETE=`get_deployment_to_delete ${CURRENT} ${BOOT_CFG} ${DEPLOY_PATH}` + + if [ ! -z ${TO_DELETE} ]; then + echo "deleting ${TO_DELETE}..." + btrfs subvolume delete ${DEPLOY_PATH}/${TO_DELETE} || true + rm -rf ${MOUNT_PATH}/boot/${TO_DELETE} + fi + fi + + if [ ! -z "$FRZR_SOURCE" ] && [ "$FRZR_SOURCE" != " " ] && [ $FRZR_CHECK_UPDATE -eq 0 ] && [ $FRZR_STEAM_PROGRESS -eq 0 ]; then + echo "$FRZR_SOURCE" > "${MOUNT_PATH}/source" + fi + + if [ -e "${MOUNT_PATH}/source" ]; then + SOURCE=`cat "${MOUNT_PATH}/source" | head -1` + else + echo "WARNING: source wasn't specified" + fi + + if [ "${local_install}" == true ]; then + mkdir tmp_source + mount -o rw -L FRZR_UPDATE /root/tmp_source + FILE_NAME=$(basename /root/tmp_source/*.img.tar.xz*) + NAME=$(echo "${FILE_NAME}" | cut -f 1 -d '.') + SUBVOL="${DEPLOY_PATH}/${NAME}" + IMG_FILE="/root/tmp_source/${FILE_NAME}" + elif [[ "$FRZR_SOURCE" == *".img.tar.xz" ]]; then + FILE_NAME=$(basename ${FRZR_SOURCE}) + NAME=$(echo "${FILE_NAME}" | cut -f 1 -d '.') + SUBVOL="${DEPLOY_PATH}/${NAME}" + IMG_FILE=${FRZR_SOURCE} + elif [[ "$FRZR_SOURCE" == *".img" ]]; then + FILE_NAME=$(basename ${FRZR_SOURCE}) + NAME=$(echo "${FILE_NAME}" | cut -f 1 -d '.') + SUBVOL="${DEPLOY_PATH}/${NAME}" + IMG_FILE=${FRZR_SOURCE} + else + REPO=$(echo "${SOURCE}" | cut -f 1 -d ':') + CHANNEL=$(echo "${SOURCE}" | cut -f 2 -d ':') + + RELEASES_URL="https://api.github.com/repos/${REPO}/releases" + + IMG_URL=$(curl --http1.1 -L -s "${RELEASES_URL}" | get_img_url "${CHANNEL}") + + if [ -z "$IMG_URL" ] || [ "$IMG_URL" == "null" ]; then + echo "No matching source found" + if curl --http1.1 -L -s "${RELEASES_URL}" | grep "rate limit" > /dev/null; then + echo "GitHub API rate limit exceeded" + exit 29 + fi + exit 1 + fi + + FILE_NAME=$(basename ${IMG_URL}) + NAME=$(echo "${FILE_NAME}" | cut -f 1 -d '.') + BASE_URL=$(dirname "${IMG_URL}") + CHECKSUM=$(curl --http1.1 -L -s "${BASE_URL}/sha256sum.txt" | cut -f -1 -d ' ') + SUBVOL="${DEPLOY_PATH}/${NAME}" + IMG_FILE="${MOUNT_PATH}/${FILE_NAME}" + + if [ -e ${SUBVOL} ]; then + echo "${NAME} already installed; aborting" + exit 7 # let Steam know there is no update available + fi + + if [ $FRZR_CHECK_UPDATE -eq 1 ]; then + echo "Update available: ${NAME}" + exit 0 # let Steam know there is an update available + fi + + if [ $FRZR_STEAM_PROGRESS -eq 1 ]; then + curl --http1.1 -# -L -o "${IMG_FILE}" -C - "${IMG_URL}" 2>&1 | \ + stdbuf -oL tr '\r' '\n' | grep --line-buffered -oP '[0-9]*+(?=.[0-9])' | clean_progress 91 % + elif [ -z ${SHOW_UI} ]; then + echo "downloading ${NAME}..." + curl --http1.1 -L -o "${IMG_FILE}" -C - "${IMG_URL}" + else + curl --http1.1 -# -L -o "${IMG_FILE}" -C - "${IMG_URL}" 2>&1 | \ + stdbuf -oL tr '\r' '\n' | grep --line-buffered -oP '[0-9]*+(?=.[0-9])' | clean_progress 100 | \ + whiptail --gauge "Downloading system image (${NAME})" 10 50 0 + fi + + CHECKSUM2=`sha256sum "${IMG_FILE}" | cut -d' ' -f 1` + if [ "$CHECKSUM" != "$CHECKSUM2" ]; then + rm -f "${IMG_FILE}" + echo "checksum does not match; aborting" + exit 1 + fi + fi + + if [ -z ${SHOW_UI} ]; then + echo "installing ${NAME}..." + else + whiptail --infobox "Extracting and installing system image (${NAME}). This may take some time." 10 50 + fi + + if [[ "${IMG_FILE##*.}" == "img" ]]; then + btrfs receive --quiet ${DEPLOY_PATH} < ${IMG_FILE} + else + tar xfO ${IMG_FILE} | btrfs receive --quiet ${DEPLOY_PATH} + fi + + mkdir -p ${MOUNT_PATH}/boot/${NAME} + cp ${SUBVOL}/boot/vmlinuz-linux ${MOUNT_PATH}/boot/${NAME} + cp ${SUBVOL}/boot/initramfs-linux.img ${MOUNT_PATH}/boot/${NAME} + + AMD_UCODE="" + if [ -e ${SUBVOL}/boot/amd-ucode.img ] ; then + cp ${SUBVOL}/boot/amd-ucode.img ${MOUNT_PATH}/boot/${NAME} + AMD_UCODE="initrd /${NAME}/amd-ucode.img" + fi + + INTEL_UCODE="" + if [ -e ${SUBVOL}/boot/intel-ucode.img ] ; then + cp ${SUBVOL}/boot/intel-ucode.img ${MOUNT_PATH}/boot/${NAME} + INTEL_UCODE="initrd /${NAME}/intel-ucode.img" + fi + + ADDITIONAL_ARGUMENTS="" + if [ -e ${SUBVOL}/usr/lib/frzr.d/bootconfig.conf ] ; then + ADDITIONAL_ARGUMENTS="$ADDITIONAL_ARGUMENTS $(cat ${SUBVOL}/usr/lib/frzr.d/bootconfig.conf)" + fi + + get_boot_cfg "${NAME}" "${AMD_UCODE}" "${INTEL_UCODE}" "${ADDITIONAL_ARGUMENTS}" > ${BOOT_CFG} + echo "default frzr.conf" > ${MOUNT_PATH}/boot/loader/loader.conf + + # Check if there are migrations available + if compgen -G "${SUBVOL}"/usr/lib/frzr.d/*.migration > /dev/null ; then + for m in "${SUBVOL}"/usr/lib/frzr.d/*.migration ; + do + unset -f post_install + . $m + if [ "$(type -t post_install)" == function ] ; then + post_install "${MOUNT_PATH}" "${SUBVOL}" "${NAME}" + fi + unset -f post_install + done + fi + + # Export variables to be used by child processes for frzr-tweaks and frzr-initramfs + export MOUNT_PATH + export SUBVOL + export NAME + + # Check if the FIRMWARE_OVERRIDE variable is set by the install media, if so enable firmware overrides + if [ -n "${FIRMWARE_OVERRIDE}" ]; then + echo "export USE_FIRMWARE_OVERRIDES=1" > ${MOUNT_PATH}/etc/device-quirks.conf + fi + + # Run frzr-tweaks to execute the device-quirks to be supplied by the deployed images + frzr-tweaks + + # Run frzr-initramfs to create mkinicpio.conf and build an initramfs + frzr-initramfs + + rm -f ${MOUNT_PATH}/*.img.* + + rm -rf /var/lib/pacman # undo frzr-unlock + + echo "deployment complete; restart to boot into ${NAME}" +} + + +if [ "$0" = "$BASH_SOURCE" ] ; then + main "$@" +fi diff --git a/chimeraos/airootfs/usr/bin/frzr-bootstrap b/chimeraos/airootfs/usr/bin/frzr-bootstrap new file mode 100755 index 0000000..e498912 --- /dev/null +++ b/chimeraos/airootfs/usr/bin/frzr-bootstrap @@ -0,0 +1,89 @@ +#! /bin/bash + +set -e + +if [ $EUID -ne 0 ]; then + echo "$(basename $0) must be run as root" + exit 1 +fi + +MOUNT_PATH=/tmp/frzr_root + +if [ -n "$1" ]; then + USERNAME=$1 +else + echo "No user specified" + exit 1 +fi + +if [ -n "$2" ]; then + DISK=$2 +else + echo "No disk specified to bootstrap" + exit 1 +fi + +REPAIR=false +if (lsblk -o label ${DISK} | grep -q frzr_efi); then + echo "Existing installation found" + + if (whiptail --yesno --yes-button "Repair" --no-button "Clean" "WARNING: $DISK appears to already have a system installed. Would you like to repair it or do a clean install?\n\nNOTE: A clean install will delete everything on the disk, but a repair install will preserve your user data." 13 70); then + REPAIR=true + fi +fi + + +########## Doing a repair install + +if [ "${REPAIR}" == true ]; then + + mkdir -p ${MOUNT_PATH} + INSTALL_MOUNT=$(fdisk -o Device --list ${DISK} | grep "^${DISK}.*2$") + BOOT_EFI=$(fdisk -o Device --list ${DISK} | grep "^${DISK}.*1$") + mount ${INSTALL_MOUNT} ${MOUNT_PATH} + mount -t vfat ${BOOT_EFI} ${MOUNT_PATH}/boot/ + rm -rf ${MOUNT_PATH}/boot/* + bootctl --esp-path=${MOUNT_PATH}/boot/ install + + echo "deleting subvolume..." + btrfs subvolume delete ${MOUNT_PATH}/deployments/* || true + + rm -rf ${MOUNT_PATH}/etc/* + + exit 0 +fi + + + +mkdir -p ${MOUNT_PATH} + +# create partition table and create and mount the btrfs filesystem +parted --script ${DISK} \ + mklabel gpt \ + mkpart primary fat32 1MiB 512MiB \ + set 1 esp on \ + mkpart primary 512MiB 100% + +PART1=$(fdisk -o Device --list ${DISK} | grep "^${DISK}.*1$") +PART2=$(fdisk -o Device --list ${DISK} | grep "^${DISK}.*2$") + +mkfs.btrfs -L frzr_root -f ${PART2} +mount -t btrfs -o nodatacow ${PART2} ${MOUNT_PATH} + +btrfs subvolume create ${MOUNT_PATH}/var +btrfs subvolume create ${MOUNT_PATH}/home + +mkdir -p ${MOUNT_PATH}/home/${USERNAME} +chown 1000:1000 ${MOUNT_PATH}/home/${USERNAME} + +mkdir ${MOUNT_PATH}/boot +mkdir -p ${MOUNT_PATH}/etc +mkdir -p ${MOUNT_PATH}/.etc + + +# setup boot partition & install bootloader +mkfs.vfat ${PART1} +dosfslabel ${PART1} frzr_efi +mount -t vfat ${PART1} ${MOUNT_PATH}/boot/ +bootctl --esp-path=${MOUNT_PATH}/boot/ install +parted ${DISK} set 1 boot on diff --git a/chimeraos/airootfs/usr/bin/frzr-deploy b/chimeraos/airootfs/usr/bin/frzr-deploy new file mode 100755 index 0000000..88f4efc --- /dev/null +++ b/chimeraos/airootfs/usr/bin/frzr-deploy @@ -0,0 +1,16 @@ +#! /bin/bash + +if [ $EUID -ne 0 ]; then + echo "$(basename $0) must be run as root" + exit 1 +fi + + +flock -E 255 -n /tmp/frzr.lock ${BASH_SOURCE%/*}/__frzr-deploy $@ +RESULT=$? + +if [ $RESULT == 255 ]; then + echo "$(basename $0) is already running" +fi + +exit $RESULT diff --git a/chimeraos/airootfs/usr/bin/frzr-initramfs b/chimeraos/airootfs/usr/bin/frzr-initramfs new file mode 100755 index 0000000..e294ab8 --- /dev/null +++ b/chimeraos/airootfs/usr/bin/frzr-initramfs @@ -0,0 +1,134 @@ +#! /bin/bash + +if [ $EUID -ne 0 ]; then + echo "$(basename $0) must be run as root" + exit 1 +fi + +# Check if script is being ran frmo the install media +if [ -d /tmp/frzr_root ]; then + + if [ -d "${SUBVOL}" ]; then + + cd ${SUBVOL} + # Mount necessary file systems + mount -t proc /proc proc/ + mount -t sysfs /sys sys/ + mount --rbind /dev dev/ + + # Set R/W permissions + btrfs property set -fts ${SUBVOL} ro false + chroot ${SUBVOL} /bin/bash < /etc/mkinitcpio.d/\${NAME%%-*}.preset + +### Rebuild Initramfs with custom preset +mkinitcpio -p \${NAME%%-*} +EOF + # Set back to R/O permissions + btrfs property set -fts ${SUBVOL} ro true + # unmount filesystems + umount -l ${SUBVOL}/proc + umount -l ${SUBVOL}/sys + mount --make-rslave ${SUBVOL}/dev + umount -l ${SUBVOL}/dev + else + echo "No deployment directory found" + exit 1 + fi +else + echo "We don't appear to be running from an arch install media" +fi + + +# Build initramfs from within a deployed system +if [ -d /frzr_root ]; then + + if [ -n "$SUBVOL" ]; then + ### Grabbing name of the new deployed system + ID=$(grep '^ID=' "$SUBVOL/etc/os-release" | awk -F= '{ print $2 }' | sed 's/"//g') + VERSIONID=$(grep '^VERSION_ID=' "$SUBVOL/etc/os-release" | awk -F= '{ print $2 }' | sed 's/"//g') + BUILDID=$(grep '^BUILD_ID=' "$SUBVOL/etc/os-release" | awk -F= '{ print $2 }' | sed 's/"//g') + else + ### Grabbing name of the currently deployed system + ID=$(grep '^ID=' /etc/os-release | awk -F= '{ print $2 }' | sed 's/"//g') + VERSIONID=$(grep '^VERSION_ID=' /etc/os-release | awk -F= '{ print $2 }' | sed 's/"//g') + BUILDID=$(grep '^BUILD_ID=' /etc/os-release | awk -F= '{ print $2 }' | sed 's/"//g') + fi + + BUILD="$ID"-"$VERSIONID"_"$BUILDID" + DEPLOYMENT_PATH="/frzr_root/deployments/$BUILD" + + # Get locked state + RELOCK=0 + LOCK_STATE=$(btrfs property get -fts "$DEPLOYMENT_PATH") + if [[ $LOCK_STATE == *"ro=true"* ]]; then + btrfs property set -fts ${DEPLOYMENT_PATH} ro false + RELOCK=1 + else + echo "Filesystem appears to be unlocked" + fi + + echo "Generating configuration for $BUILD" + + ### Rebuild Initramfs with custom preset + + if [ -n "$SUBVOL" ]; then + cd ${SUBVOL} + # Mount necessary file systems + mount -t proc /proc proc/ + mount -t sysfs /sys sys/ + mount --rbind /dev dev/ + + # We have to chroot for new images or else the kernel version can cause initramfs building to fail + chroot ${SUBVOL} /bin/bash < /etc/mkinitcpio.d/\${NAME%%-*}.preset + +### Rebuild Initramfs with custom preset +mkinitcpio -p \${NAME%%-*} +EOF + umount -l ${SUBVOL}/proc + umount -l ${SUBVOL}/sys + mount --make-rslave ${SUBVOL}/dev + umount -l ${SUBVOL}/dev + else + echo ' +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/boot/'$BUILD'/vmlinuz-linux" +ALL_microcode=(/boot/'$BUILD'/*-ucode.img) + +PRESETS="default" + +default_image="/boot/'$BUILD'/initramfs-linux.img" +' > /etc/mkinitcpio.d/$ID.preset + # If we are not doing a deployment then this will be used for local installs to rebuild initramfs + mkinitcpio -p $ID + fi + + if [[ $RELOCK == 1 ]]; then + btrfs property set -fts ${DEPLOYMENT_PATH} ro true + else + # Move rebuilt images to the unlocked location if system was unlocked prior + cp /boot/$BUILD/* /boot + fi +fi diff --git a/chimeraos/airootfs/usr/bin/frzr-release b/chimeraos/airootfs/usr/bin/frzr-release new file mode 100755 index 0000000..aa7abb6 --- /dev/null +++ b/chimeraos/airootfs/usr/bin/frzr-release @@ -0,0 +1,10 @@ +#! /bin/bash + +set -e + +if [ ! -e /build_info ]; then + echo "Not currently running a frzr deployment" + exit 1 +fi + +cat /build_info | head -1 diff --git a/chimeraos/airootfs/usr/bin/frzr-tweaks b/chimeraos/airootfs/usr/bin/frzr-tweaks new file mode 100755 index 0000000..becaf0d --- /dev/null +++ b/chimeraos/airootfs/usr/bin/frzr-tweaks @@ -0,0 +1,24 @@ +#! /bin/bash + +if [ $EUID -ne 0 ]; then + echo "$(basename $0) must be run as root" + exit 1 +fi + +# Check if device quirks exist in the new image when frzr-deploy is used +if [ -v SUBVOL ]; then + echo "Checking newly deployed system for device-quirks" + if [ -e "${SUBVOL}/usr/share/device-quirks/id-device" ]; then + ${SUBVOL}/usr/share/device-quirks/id-device + else + echo "Device-quirks package was not found, skipping..." + fi +else +# Check if device quirks exist when frzr-tweaks is ran directly + echo "Checking for device-quirks" + if [ -e "/usr/share/device-quirks/id-device" ]; then + /usr/share/device-quirks/id-device + else + echo "Device-quirks packages was not found, skipping..." + fi +fi diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0001.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0001.png new file mode 100644 index 0000000..6bd8239 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0001.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0002.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0002.png new file mode 100644 index 0000000..ef8ff54 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0002.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0003.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0003.png new file mode 100644 index 0000000..205380b Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0003.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0004.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0004.png new file mode 100644 index 0000000..6038af8 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0004.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0005.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0005.png new file mode 100644 index 0000000..7a96767 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0005.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0006.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0006.png new file mode 100644 index 0000000..eb0256f Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0006.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0007.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0007.png new file mode 100644 index 0000000..d2ccac9 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0007.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0008.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0008.png new file mode 100644 index 0000000..85849c8 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0008.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0009.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0009.png new file mode 100644 index 0000000..3e79b9b Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0009.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0010.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0010.png new file mode 100644 index 0000000..1f64875 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0010.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0011.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0011.png new file mode 100644 index 0000000..57bec05 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0011.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0012.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0012.png new file mode 100644 index 0000000..cdefdc7 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0012.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0013.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0013.png new file mode 100644 index 0000000..de5aa6e Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0013.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0014.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0014.png new file mode 100644 index 0000000..a019904 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0014.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0015.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0015.png new file mode 100644 index 0000000..249e173 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0015.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0016.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0016.png new file mode 100644 index 0000000..f72a577 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0016.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0017.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0017.png new file mode 100644 index 0000000..02926e7 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0017.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0018.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0018.png new file mode 100644 index 0000000..667cd7d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0018.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0019.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0019.png new file mode 100644 index 0000000..760868a Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0019.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0020.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0020.png new file mode 100644 index 0000000..d228ed8 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0020.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0021.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0021.png new file mode 100644 index 0000000..e7bd0f5 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0021.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0022.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0022.png new file mode 100644 index 0000000..4c77282 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0022.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0023.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0023.png new file mode 100644 index 0000000..8e77aa1 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0023.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0024.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0024.png new file mode 100644 index 0000000..ed52d3d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0024.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0025.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0025.png new file mode 100644 index 0000000..371a299 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0025.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0026.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0026.png new file mode 100644 index 0000000..1bfd5dc Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0026.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0027.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0027.png new file mode 100644 index 0000000..6f4d83b Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0027.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0028.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0028.png new file mode 100644 index 0000000..eda5e3f Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0028.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0029.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0029.png new file mode 100644 index 0000000..33f2683 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0029.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0030.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0030.png new file mode 100644 index 0000000..c5132bd Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0030.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0031.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0031.png new file mode 100644 index 0000000..f6ed4b2 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0031.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0032.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0032.png new file mode 100644 index 0000000..0979164 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0032.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0033.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0033.png new file mode 100644 index 0000000..c9ec0e5 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0033.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0034.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0034.png new file mode 100644 index 0000000..2851ef3 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0034.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0035.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0035.png new file mode 100644 index 0000000..2bd3b0d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0035.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0036.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0036.png new file mode 100644 index 0000000..fbe48ff Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/animation-0036.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/bgrt-chimera.plymouth b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/bgrt-chimera.plymouth new file mode 100644 index 0000000..240216c --- /dev/null +++ b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/bgrt-chimera.plymouth @@ -0,0 +1,65 @@ +[Plymouth Theme] +Name=bgrt-chimera +Description=Jimmac's spinner theme using the ACPI BGRT graphics as background +ModuleName=two-step + +[two-step] +Font=Cantarell 12 +TitleFont=Cantarell Light 30 +ImageDir=/usr/share/plymouth/themes//bgrt-chimera +DialogHorizontalAlignment=.5 +DialogVerticalAlignment=.382 +TitleHorizontalAlignment=.5 +TitleVerticalAlignment=.382 +HorizontalAlignment=.5 +VerticalAlignment=.7 +WatermarkHorizontalAlignment=.5 +WatermarkVerticalAlignment=.96 +Transition=none +TransitionDuration=0.0 +BackgroundStartColor=0x000000 +BackgroundEndColor=0x000000 +ProgressBarBackgroundColor=0x606060 +ProgressBarForegroundColor=0xffffff +DialogClearsFirmwareBackground=true +MessageBelowAnimation=true + +[boot-up] +UseEndAnimation=false +UseFirmwareBackground=true + +[shutdown] +UseEndAnimation=false +UseFirmwareBackground=true + +[reboot] +UseEndAnimation=false +UseFirmwareBackground=true + +[updates] +SuppressMessages=true +ProgressBarShowPercentComplete=true +UseProgressBar=true +Title=Installing Updates... +SubTitle=Do not turn off your computer + +[system-upgrade] +SuppressMessages=true +ProgressBarShowPercentComplete=true +UseProgressBar=true +Title=Upgrading System... +SubTitle=Do not turn off your computer + +[firmware-upgrade] +SuppressMessages=true +ProgressBarShowPercentComplete=true +UseProgressBar=true +Title=Upgrading Firmware... +SubTitle=Do not turn off your computer + +[system-reset] +SuppressMessages=true +ProgressBarShowPercentComplete=true +UseProgressBar=true +Title=Resetting System... +SubTitle=Do not turn off your computer diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/bullet.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/bullet.png new file mode 100644 index 0000000..5799dda Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/bullet.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/capslock.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/capslock.png new file mode 100644 index 0000000..9d775f6 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/capslock.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/entry.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/entry.png new file mode 100644 index 0000000..4a22e7f Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/entry.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/keyboard.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/keyboard.png new file mode 100644 index 0000000..f532ad0 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/keyboard.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/keymap-render.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/keymap-render.png new file mode 100644 index 0000000..91a3eec Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/keymap-render.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/lock.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/lock.png new file mode 100644 index 0000000..c1538df Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/lock.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0001.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0001.png new file mode 100644 index 0000000..6a64683 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0001.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0002.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0002.png new file mode 100644 index 0000000..8e9a85d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0002.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0003.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0003.png new file mode 100644 index 0000000..9fe95aa Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0003.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0004.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0004.png new file mode 100644 index 0000000..687aa8b Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0004.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0005.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0005.png new file mode 100644 index 0000000..3a56beb Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0005.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0006.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0006.png new file mode 100644 index 0000000..949cb23 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0006.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0007.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0007.png new file mode 100644 index 0000000..14d8b45 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0007.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0008.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0008.png new file mode 100644 index 0000000..beef391 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0008.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0009.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0009.png new file mode 100644 index 0000000..b366daa Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0009.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0010.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0010.png new file mode 100644 index 0000000..0312f62 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0010.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0011.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0011.png new file mode 100644 index 0000000..f3e2cb9 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0011.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0012.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0012.png new file mode 100644 index 0000000..ca4f017 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0012.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0013.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0013.png new file mode 100644 index 0000000..ace8764 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0013.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0014.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0014.png new file mode 100644 index 0000000..6c43a9d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0014.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0015.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0015.png new file mode 100644 index 0000000..1e87c5d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0015.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0016.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0016.png new file mode 100644 index 0000000..fac163b Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0016.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0017.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0017.png new file mode 100644 index 0000000..ce792de Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0017.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0018.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0018.png new file mode 100644 index 0000000..6423b95 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0018.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0019.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0019.png new file mode 100644 index 0000000..45e9359 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0019.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0020.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0020.png new file mode 100644 index 0000000..b84b04d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0020.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0021.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0021.png new file mode 100644 index 0000000..a64932d Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0021.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0022.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0022.png new file mode 100644 index 0000000..4b57e23 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0022.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0023.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0023.png new file mode 100644 index 0000000..b3dbeef Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0023.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0024.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0024.png new file mode 100644 index 0000000..196e987 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0024.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0025.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0025.png new file mode 100644 index 0000000..3905e00 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0025.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0026.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0026.png new file mode 100644 index 0000000..4c02eb1 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0026.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0027.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0027.png new file mode 100644 index 0000000..9ab5b00 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0027.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0028.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0028.png new file mode 100644 index 0000000..fa8584b Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0028.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0029.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0029.png new file mode 100644 index 0000000..d9931e1 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0029.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0030.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0030.png new file mode 100644 index 0000000..fc1683f Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/throbber-0030.png differ diff --git a/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/watermark.png b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/watermark.png new file mode 100644 index 0000000..131f588 Binary files /dev/null and b/chimeraos/airootfs/usr/share/plymouth/themes/bgrt-chimera/watermark.png differ diff --git a/chimeraos/efiboot/loader/entries/archiso-x86_64-linux.conf b/chimeraos/efiboot/loader/entries/archiso-x86_64-linux.conf index dc0c2e4..a521898 100644 --- a/chimeraos/efiboot/loader/entries/archiso-x86_64-linux.conf +++ b/chimeraos/efiboot/loader/entries/archiso-x86_64-linux.conf @@ -4,4 +4,4 @@ title Install ChimeraOS linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-chimeraos initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-chimeraos.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% nomodeset +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% nomodeset splash quiet nowatchdog diff --git a/chimeraos/efiboot/loader/loader.conf b/chimeraos/efiboot/loader/loader.conf index 767d225..b2a31c2 100644 --- a/chimeraos/efiboot/loader/loader.conf +++ b/chimeraos/efiboot/loader/loader.conf @@ -1,5 +1,5 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -timeout 15 +timeout 0 default archiso-x86_64-linux.conf diff --git a/chimeraos/packages.x86_64 b/chimeraos/packages.x86_64 index 76027bd..d866a31 100644 --- a/chimeraos/packages.x86_64 +++ b/chimeraos/packages.x86_64 @@ -13,6 +13,7 @@ diffutils dosfstools efibootmgr git +inputplumber-bin intel-ucode jq libnewt @@ -25,9 +26,8 @@ nano netctl openssh parted -syslinux +plymouth usbutils wget zsh -frzr networkmanager diff --git a/chimeraos/profiledef.sh b/chimeraos/profiledef.sh index 54c3bdc..7b6af53 100644 --- a/chimeraos/profiledef.sh +++ b/chimeraos/profiledef.sh @@ -8,7 +8,7 @@ iso_application="ChimeraOS Installer" iso_version=$(date +%Y.%m.%d) install_dir="arch" buildmodes=('iso') -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') +bootmodes=('uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') arch="x86_64" pacman_conf="pacman.conf" airootfs_image_type="squashfs" @@ -17,7 +17,14 @@ file_permissions=( ["/etc/shadow"]="0:0:400" ["/root"]="0:0:750" ["/root/install.sh"]="0:0:755" + ["/root/probe.sh"]="0:0:755" ["/root/.automated_script.sh"]="0:0:755" + ["/usr/bin/__frzr-deploy"]="0:0:755" + ["/usr/bin/frzr-bootstrap"]="0:0:755" + ["/usr/bin/frzr-deploy"]="0:0:755" + ["/usr/bin/frzr-initramfs"]="0:0:755" + ["/usr/bin/frzr-release"]="0:0:755" + ["/usr/bin/frzr-tweaks"]="0:0:755" ["/usr/local/bin/choose-mirror"]="0:0:755" ["/usr/local/bin/Installation_guide"]="0:0:755" ["/usr/local/bin/livecd-sound"]="0:0:755" diff --git a/chimeraos/syslinux/archiso_head.cfg b/chimeraos/syslinux/archiso_head.cfg deleted file mode 100644 index 619b53c..0000000 --- a/chimeraos/syslinux/archiso_head.cfg +++ /dev/null @@ -1,31 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -SERIAL 0 115200 -UI vesamenu.c32 -MENU TITLE ChimeraOS -MENU BACKGROUND splash.png - -MENU WIDTH 78 -MENU MARGIN 4 -MENU ROWS 7 -MENU VSHIFT 10 -MENU TABMSGROW 14 -MENU CMDLINEROW 14 -MENU HELPMSGROW 16 -MENU HELPMSGENDROW 29 - -# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu - -MENU COLOR border 30;44 #40ffffff #a0000000 std -MENU COLOR title 1;36;44 #9033ccff #a0000000 std -MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all -MENU COLOR unsel 37;44 #50ffffff #a0000000 std -MENU COLOR help 37;40 #c0ffffff #a0000000 std -MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std -MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std -MENU COLOR msg07 37;40 #90ffffff #a0000000 std -MENU COLOR tabmsg 31;40 #30ffffff #00000000 std - -MENU CLEAR -MENU IMMEDIATE diff --git a/chimeraos/syslinux/archiso_pxe-linux.cfg b/chimeraos/syslinux/archiso_pxe-linux.cfg deleted file mode 100644 index 98e0632..0000000 --- a/chimeraos/syslinux/archiso_pxe-linux.cfg +++ /dev/null @@ -1,35 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -LABEL arch64_nbd -TEXT HELP -Boot the ChimeraOS installer. -It allows you to install ChimeraOS. -ENDTEXT -MENU LABEL Arch Linux install medium (x86_64, NBD) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify -SYSAPPEND 3 - -LABEL arch64_nfs -TEXT HELP -Boot the ChimeraOS installer. -It allows you to install ChimeraOS. -ENDTEXT -MENU LABEL Arch Linux install medium (x86_64, NFS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img -APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify -SYSAPPEND 3 - -LABEL arch64_http -TEXT HELP -Boot the ChimeraOS installer. -It allows you to install ChimeraOS. -ENDTEXT -MENU LABEL Arch Linux install medium (x86_64, HTTP) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img -APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify -SYSAPPEND 3 diff --git a/chimeraos/syslinux/archiso_pxe.cfg b/chimeraos/syslinux/archiso_pxe.cfg deleted file mode 100644 index b005cb1..0000000 --- a/chimeraos/syslinux/archiso_pxe.cfg +++ /dev/null @@ -1,8 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -INCLUDE archiso_head.cfg - -INCLUDE archiso_pxe-linux.cfg - -INCLUDE archiso_tail.cfg diff --git a/chimeraos/syslinux/archiso_sys-linux.cfg b/chimeraos/syslinux/archiso_sys-linux.cfg deleted file mode 100644 index e56136d..0000000 --- a/chimeraos/syslinux/archiso_sys-linux.cfg +++ /dev/null @@ -1,12 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -LABEL arch64 -TEXT HELP -Boot the ChimeraOS installer. -It allows you to install ChimeraOS. -ENDTEXT -MENU LABEL Install ChimeraOS -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-chimeraos -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-chimeraos.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% nomodeset diff --git a/chimeraos/syslinux/archiso_sys.cfg b/chimeraos/syslinux/archiso_sys.cfg deleted file mode 100644 index cab78f8..0000000 --- a/chimeraos/syslinux/archiso_sys.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -INCLUDE archiso_head.cfg - -DEFAULT arch64 -TIMEOUT 150 - -INCLUDE archiso_sys-linux.cfg - -INCLUDE archiso_tail.cfg diff --git a/chimeraos/syslinux/archiso_tail.cfg b/chimeraos/syslinux/archiso_tail.cfg deleted file mode 100644 index e96efbe..0000000 --- a/chimeraos/syslinux/archiso_tail.cfg +++ /dev/null @@ -1,27 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -LABEL existing -TEXT HELP -Boot an existing operating system. -Press TAB to edit the disk and partition number to boot. -ENDTEXT -MENU LABEL Boot existing OS -COM32 chain.c32 -APPEND hd0 0 - -LABEL reboot -TEXT HELP -Reboot computer. -The computer's firmware must support APM. -ENDTEXT -MENU LABEL Reboot -COM32 reboot.c32 - -LABEL poweroff -TEXT HELP -Power off computer. -The computer's firmware must support APM. -ENDTEXT -MENU LABEL Power Off -COM32 poweroff.c32 diff --git a/chimeraos/syslinux/splash.png b/chimeraos/syslinux/splash.png deleted file mode 100644 index ec61c52..0000000 Binary files a/chimeraos/syslinux/splash.png and /dev/null differ diff --git a/chimeraos/syslinux/syslinux.cfg b/chimeraos/syslinux/syslinux.cfg deleted file mode 100644 index 847ab6b..0000000 --- a/chimeraos/syslinux/syslinux.cfg +++ /dev/null @@ -1,14 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -DEFAULT select - -LABEL select -COM32 whichsys.c32 -APPEND -pxe- pxe -sys- sys -iso- sys - -LABEL pxe -CONFIG archiso_pxe.cfg - -LABEL sys -CONFIG archiso_sys.cfg