Merge pull request #1002 from JustEnoughLinuxOS/dev

PR for release
This commit is contained in:
fewtarius 2023-01-26 08:11:23 -05:00 committed by GitHub
commit 3fe6f63a80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 118 additions and 227 deletions

View file

@ -97,7 +97,7 @@ jobs:
* Decompress the image.
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too.
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)]
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)] [[Orange Pi 5](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)]
## Upgrading
* Download and install the update online via the System Settings menu.
@ -108,7 +108,7 @@ jobs:
* Copy the update to your device over the network to your device's update share.
* Reboot the device, and the update will begin automatically.
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)]
Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[Orange Pi 5](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar)]
## Documentation
* [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki)

View file

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<emulated_controller>
<type>Wii U Pro Controller</type>
<controller>
<api>SDLController</api>
<uuid>0_030003f05e0400008e02000010010000</uuid>
<display_name>Xbox 360 Controller</display_name>
<rumble>0.15</rumble>
<axis>
<deadzone>0.25</deadzone>
<range>1</range>
</axis>
<rotation>
<deadzone>0.25</deadzone>
<range>1</range>
</rotation>
<trigger>
<deadzone>0.25</deadzone>
<range>1</range>
</trigger>
<mappings>
<entry>
<mapping>24</mapping>
<button>40</button>
</entry>
<entry>
<mapping>23</mapping>
<button>46</button>
</entry>
<entry>
<mapping>22</mapping>
<button>41</button>
</entry>
<entry>
<mapping>21</mapping>
<button>47</button>
</entry>
<entry>
<mapping>20</mapping>
<button>38</button>
</entry>
<entry>
<mapping>19</mapping>
<button>44</button>
</entry>
<entry>
<mapping>18</mapping>
<button>39</button>
</entry>
<entry>
<mapping>17</mapping>
<button>45</button>
</entry>
<entry>
<mapping>16</mapping>
<button>8</button>
</entry>
<entry>
<mapping>15</mapping>
<button>7</button>
</entry>
<entry>
<mapping>14</mapping>
<button>14</button>
</entry>
<entry>
<mapping>1</mapping>
<button>1</button>
</entry>
<entry>
<mapping>2</mapping>
<button>0</button>
</entry>
<entry>
<mapping>3</mapping>
<button>3</button>
</entry>
<entry>
<mapping>4</mapping>
<button>2</button>
</entry>
<entry>
<mapping>5</mapping>
<button>9</button>
</entry>
<entry>
<mapping>6</mapping>
<button>10</button>
</entry>
<entry>
<mapping>7</mapping>
<button>42</button>
</entry>
<entry>
<mapping>8</mapping>
<button>43</button>
</entry>
<entry>
<mapping>9</mapping>
<button>6</button>
</entry>
<entry>
<mapping>10</mapping>
<button>4</button>
</entry>
<entry>
<mapping>11</mapping>
<button>11</button>
</entry>
<entry>
<mapping>12</mapping>
<button>12</button>
</entry>
<entry>
<mapping>13</mapping>
<button>13</button>
</entry>
</mappings>
</controller>
</emulated_controller>

View file

@ -53,10 +53,10 @@ fi
# Make sure the basic controller profiles exist.
if [ ! -d "${CEMU_CONFIG_ROOT}/controllerProfiles" ]
then
mkdir -p ${CEMU_CONFIG_ROOT}
mkdir -p ${CEMU_CONFIG_ROOT}/controllerProfiles
fi
if [ ! -f "${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml" ]
if [ ! -e "${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml" ]
then
cp /usr/config/Cemu/controllerProfiles/controller0.xml ${CEMU_CONFIG_ROOT}/controllerProfiles/
fi
@ -74,10 +74,15 @@ then
CON="Wii U GamePad"
fi
UUID0="0_$(control-gen | awk 'BEGIN {FS="\""} /^DEVICE/ {print $2;exit}')"
CONTROLLER0=$(cat /storage/.controller)
xmlstarlet ed --inplace -u "//Overlay/Position" -v "${FPS}" ${CEMU_CONFIG_ROOT}/settings.xml
xmlstarlet ed --inplace -u "//fullscreen" -v "true" ${CEMU_CONFIG_ROOT}/settings.xml
xmlstarlet ed --inplace -u "//Audio/TVDevice" -v "$(pactl get-default-sink)" ${CEMU_CONFIG_ROOT}/settings.xml
xmlstarlet ed --inplace -u "//emulated_controller/type" -v "${CON}" ${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml
xmlstarlet ed --inplace -u "//emulated_controller/controller/uuid" -v "${UUID0}" ${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml
xmlstarlet ed --inplace -u "//emulated_controller/controller/display_name" -v "${CONTROLLER0}" ${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml
# Run the emulator
cemu -g "$@"

View file

@ -0,0 +1,29 @@
input_driver = "udev"
input_device = "8Bitdo SF30 Pro 8Bitdo SN30 Pro"
input_vendor_id = "11720"
input_product_id = "24577"
input_gun_trigger_mbtn = "1"
input_b_btn = "1"
input_y_btn = "4"
input_select_btn = "10"
input_start_btn = "11"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "0"
input_x_btn = "3"
input_l_btn = "6"
input_r_btn = "7"
input_l2_btn = "8"
input_r2_btn = "9"
input_l3_btn = "13"
input_r3_btn = "14"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"

View file

@ -1,5 +1,4 @@
3do.integerscale=0
3do.cpugovernor=performance
3do.ratio=4/3
3do.rewind=0
advmame_auto_gamepad=0
@ -9,17 +8,14 @@ amiga.integerscale=0
amiga.ratio=4/3
amstradcpc.integerscale=0
arcade.autosave=0
arcade.cpugovernor=performance
atari2600.integerscale=0
atari5200.integerscale=0
atari7800.integerscale=0
atari800.integerscale=0
atarijaguar.cpugovernor=performance
atarilynx.integerscale=0
atarilynx.ratio=core
atarist.integerscale=0
atomiswave.integerscale=0
atomiswave.cpugovernor=performance
atomiswave.ratio=4/3
audio.bgmusic=1
audio.device=headphone
@ -35,7 +31,6 @@ c64.integerscale=0
cloud.backup=0
colecovision.integerscale=0
colecovision.ratio=4/3
controllers.bluetooth.enabled=1
cooling.profile=quiet
cps1.integerscale=0
cps2.integerscale=0
@ -44,7 +39,6 @@ daphne.integerscale=0
daphne.ratio=4/3
desktop.enabled=0
dreamcast.integerscale=0
dreamcast.cpugovernor=performance
dreamcast.ratio=4/3
easyrpg.integerscale=0
famicom.integerscale=0
@ -53,8 +47,7 @@ fbn.integerscale=0
fbn.ratio=core
fds.integerscale=0
fds.ratio=4/3
gamecube.cpugovernor=performance
ps2.cpugovernor=performance
fstrim.enabled=0
gamegear.integerscale=0
gbah.ratio=3/2
gba.ratio=3/2
@ -91,11 +84,8 @@ global.secondinstance=0
intellivision.integerscale=0
intellivision.ratio=4/3
ipv6.enabled=0
wifi.powersave=0
j2me.cpugovernor=performance
mame.autosave=0
mame.integerscale=0
mame.cpugovernor=performance
mastersystem.integerscale=0
megacd.integerscale=0
megacd.ratio=4/3
@ -108,23 +98,20 @@ msx2.integerscale=0
msx2.ratio=4/3
msx.integerscale=0
msx.ratio=4/3
n64.integerscale=0
n64.cpugovernor=performance
n64.ratio=4/3
n64.game_aspect_ratio=4:3
n64.internal_resolution=1
n64.rsp_plugin=hle
n64.input_configuration=zlswap
n64.controller_pak=2
n64.show_fps=0
n64.game_aspect_ratio=4:3
n64.input_configuration=zlswap
n64.integerscale=0
n64.internal_resolution=1
n64.parallel_n64_gamespeed=fullspeed
n64.parallel_n64_gfx_accuracy=medium
n64.parallel_n64_internal_resolution=480p
n64.parallel_n64_video_core=glide64
n64.ratio=4/3
n64.rsp_plugin=hle
n64.show_fps=0
naomi.integerscale=0
naomi.cpugovernor=performance
naomi.ratio=4/3
nds.cpugovernor=performance
neocd.integerscale=0
neocd.ratio=4/3
neogeo.integerscale=0
@ -137,7 +124,6 @@ ngpc.intergerscale=1
ngp.integerscale=0
odyssey2.integerscale=0
odyssey2.ratio=4/3
pet.ratio=4/3
pc-9800.integerscale=0
pc-9800.ratio=4/3
pcenginecd.integerscale=0
@ -145,14 +131,11 @@ pcenginecd.ratio=4/3
pcengine.integerscale=0
pcengine.ratio=4/3
pcfx.integerscale=0
pcfx.cpugovernor=performance
pcfx.ratio=4/3
pc.integerscale=0
pc.cpugovernor=performance
pc.ratio=4/3
pet.ratio=4/3
pokemini.ratio=3/2
psp.cpugovernor=performance
pspminis.cpugovernor=performance
psx.integerscale=0
psx.ratio=4/3
rotate.root.password=1
@ -178,22 +161,21 @@ ssh.enabled=0
supergrafx.integerscale=0
supergrafx.ratio=4/3
supervision.integerscale=0
system.autohotkeys=1
system.automount=1
system.cpugovernor=schedutil
system.hostname=@DEVICENAME@
system.language=en_US
system.overclock=off
system.cpugovernor=schedutil
system.powersave=0
system.timezone=America/New_York
system.automount=1
system.autohotkeys=1
fstrim.enabled=0
tg16cd.integerscale=0
tg16cd.ratio=4/3
tg16.integerscale=0
tg16.ratio=4/3
updates.branch=stable
updates.enabled=1
updates.force=0
updates.branch=stable
uzebox.integerscale=0
uzebox.integerscale=0
vectrex.integerscale=0
@ -203,11 +185,11 @@ vic20.ratio=4/3
videopac.integerscale=0
videopac.ratio=4/3
virtualboy.integerscale=0
virtualboy.cpugovernor=performance
weston.startup=/usr/bin/start_es.sh
wifi.enabled=0
wifi.powersave=0
wonderswancolor.integerscale=0
wonderswan.integerscale=0
weston.startup=/usr/bin/start_es.sh
wts.enabled=1
x68000.integerscale=0
x68000.ratio=4/3

View file

@ -124,27 +124,6 @@ EOF
sed -i "s#@DEVICENAME@#${DEVICE}#g" ${INSTALL}/usr/config/system/configs/system.cfg
if [[ "${DEVICE}" =~ handheld ]]
then
sed -i "s#system.automount=1#system.automount=0#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#fstrim.enabled=0#fstrim.enabled=1#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#3do.cpugovernor=performance#3do.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#arcade.cpugovernor=performance#arcade.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#atarijaguar.cpugovernor=performance#atarijaguar.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#atomiswave.cpugovernor=performance#atomiswave.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#dreamcast.cpugovernor=performance#dreamcast.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#j2me.cpugovernor=performance#j2me.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#mame.cpugovernor=performance#mame.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#n64.cpugovernor=performance#n64.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#naomi.cpugovernor=performance#naomi.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#nds.cpugovernor=performance#nds.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#pcfx.cpugovernor=performance#pcfx.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#pc.cpugovernor=performance#pc.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#psp.cpugovernor=performance#psp.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#pspminis.cpugovernor=performance#pspminis.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#virtualboy.cpugovernor=performance#virtualboy.cpugovernor=schedutil#g" ${INSTALL}/usr/config/system/configs/system.cfg
fi
### Defaults for non-main builds.
BUILD_BRANCH="$(git branch --show-current)"
if [[ ! "${BUILD_BRANCH}" =~ main ]]

View file

@ -4,8 +4,16 @@
. /etc/os-release
set_online_cores() {
AVAILABLE_CPUS=$(($(ls /sys/devices/system/cpu | grep cpu[0-9] | wc -l) - 1))
get_threads() {
for THREAD in $(seq 1 1 $(find /sys/devices/system/cpu -name online | wc -l))
do
echo ${THREAD}
done
echo all
}
set_online_threads() {
AVAILABLE_THREADS=$(($(find /sys/devices/system/cpu -name online | wc -l) - 1))
MODE=${2}
if [ -z "${MODE}" ]
then
@ -13,25 +21,25 @@ set_online_cores() {
fi
case ${1} in
all)
CORES=0
THREADS=0
MODE="1"
;;
0)
THREADS=1
;;
*)
CORES=${1}
THREADS=${1}
;;
esac
if [ "${CORES}" -gt 0 ]
then
for core in $(seq 0 1 ${1})
for thread in $(seq 0 1 ${THREADS})
do
echo 1 | tee /sys/devices/system/cpu/cpu${core}/online >/dev/null 2>&1
echo 1 | tee /sys/devices/system/cpu/cpu${thread}/online >/dev/null 2>&1
done
fi
for core in $(seq ${CORES} 1 ${AVAILABLE_CPUS})
for thread in $(seq ${THREADS} 1 ${AVAILABLE_THREADS})
do
echo ${MODE} | tee /sys/devices/system/cpu/cpu${core}/online >/dev/null 2>&1
echo ${MODE} | tee /sys/devices/system/cpu/cpu${thread}/online >/dev/null 2>&1
done
}
@ -66,8 +74,8 @@ set_amdgpu_perf() {
done
}
onlinecores() {
set_online_cores ${1} ${2}
onlinethreads() {
set_online_threads ${1} ${2}
}
performance() {

View file

@ -66,8 +66,8 @@ case ${HW_ARCH} in
else
FIELD="$(cat ${CPUFREQ}/related_cpus)"
fi
CF+=("CORES ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_cur_freq | sort | tail -n 1) / 1000))MHz")
MF+=("CORES ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_max_freq | sort | tail -n 1) / 1000))MHz")
CF+=("THREADS ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_cur_freq | sort | tail -n 1) / 1000))MHz")
MF+=("THREADS ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_max_freq | sort | tail -n 1) / 1000))MHz")
CNTR=$(( CNTR + 1 ))
done
;;

View file

@ -76,7 +76,9 @@ DEVICE_BTN_DPAD_DOWN="${down}"
DEVICE_BTN_DPAD_LEFT="${left}"
DEVICE_BTN_DPAD_RIGHT="${right}"
EOF
ln -sf /etc/profile.d/98-jslisten 99-jslisten
### Link jslisten to load after mkcontroller
ln -sf /usr/config/jslisten_profile /storage/.config/profile.d/99-jslisten
rm /tmp/${OUTFILE}

View file

@ -93,11 +93,11 @@ if [[ "$arguments" == *"--connect"* ]]; then
fi
### Offline all but the number of cores we need for this game if configured.
NUMCORES=$(get_setting "cores" "${PLATFORM}" "${ROMNAME##*/}")
if [ -n "${NUMCORES}" ] &&
[ ! ${NUMCORES} = "default" ]
NUMTHREADS=$(get_setting "threads" "${PLATFORM}" "${ROMNAME##*/}")
if [ -n "${NUMTHREADS}" ] &&
[ ! ${NUMTHREADS} = "default" ]
then
onlinecores ${NUMCORES} 0
onlinethreads ${NUMTHREADS} 0
fi
### Set the performance mode
@ -287,7 +287,7 @@ then
fi
;;
"ps2")
jslisten set "-9 pcsx2"
jslisten set "-9 pcsx2-qt"
if [ "$EMU" = "pcsx2sa" ]; then
RUNTHIS='${TBASH} /usr/bin/start_pcsx2.sh "${ROMNAME}"'
fi
@ -502,12 +502,12 @@ fi
clear_screen
### Reset the number of cores to use.
NUMCORES=$(get_setting "system.cores")
if [ -n "${NUMCORES}" ]
NUMTHREADS=$(get_setting "system.threads")
if [ -n "${NUMTHREADS}" ]
then
onlinecores ${NUMCORES} 0
onlinethreads ${NUMTHREADS} 0
else
onlinecores all 1
onlinethreads all 1
fi
### Restore the overclock mode

View file

@ -2,7 +2,7 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="kernel-firmware"
PKG_VERSION="20220815"
PKG_VERSION="20230117"
PKG_LICENSE="other"
PKG_SITE="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/"
PKG_URL="https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${PKG_VERSION}.tar.xz"

View file

@ -4,7 +4,7 @@
PKG_NAME="linux"
PKG_LICENSE="GPL"
PKG_VERSION="6.1.7"
PKG_VERSION="6.1.8"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="http://www.kernel.org"
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host"

View file

@ -25,13 +25,13 @@ ln -sf /tmp/cache /storage/cache/.cores
### so we'll reset the mount option to 0.
set_setting clouddrive.mounted 0
### Enable the desired number of cores.
NUMCORES=$(get_setting "system.cores")
if [ -n "${NUMCORES}" ]
### Enable the desired number of threads.
NUMTHREADS=$(get_setting "system.threads")
if [ -n "${NUMTHREADS}" ]
then
onlinecores ${NUMCORES} 0
onlinethreads ${NUMTHREADS} 0
else
onlinecores all 1
onlinethreads all 1
fi
### If we don't have a default governor set, set it
@ -47,3 +47,4 @@ fi
### Set up our controller variables.
/usr/bin/mkcontroller

View file

@ -4,9 +4,9 @@
if [ "$(get_setting bluetooth.enabled)" == "1" ]
then
rfkill unblock bluetooth
nohup systemctl start bluetooth &
nohup systemctl start bluetooth-agent &
rfkill unblock bluetooth
else
rfkill block bluetooth
fi

View file

@ -22,5 +22,5 @@ makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
cp bin/jslisten ${INSTALL}/usr/bin
mkdir -p ${INSTALL}/usr/config
cp ${PKG_DIR}/config/jslisten_hotkeys ${INSTALL}/usr/config
cp ${PKG_DIR}/config/* ${INSTALL}/usr/config
}

View file

@ -3,7 +3,7 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="emulationstation"
PKG_VERSION="c4463b7"
PKG_VERSION="87e72ff"
PKG_GIT_CLONE_BRANCH="main"
PKG_REV="1"
PKG_ARCH="any"

View file

@ -2,13 +2,13 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. config/options
. config/options ''
if [ -z "$1" ]
then
export OS_VERSION=$(date +%Y%m%d)
export BURN_VERSION=$(date +%Y%m%d)
else
OS_VERSION=$1
BURN_VERSION=$1
fi
if [ -z "${DISTRO}" ] || [ -z "${DEVICE}" ] || [ -z "${ARCH}" ]
@ -17,9 +17,14 @@ then
exit 1
fi
MAXSIZE="128000000"
MAXSIZE="512000000"
SDDEVICES=($(awk '/sd*[a-z]$/ {print $3":"$4}' /proc/partitions | sort -r))
SDDEVICES=($(awk '/mmcblk[0-9]$/ {print $3":"$4}' /proc/partitions | sort -r))
if [ -z "${SDDEVICES}" ]
then
SDDEVICES=($(awk '/sd*[b-z]$/ {print $3":"$4}' /proc/partitions | sort -r))
fi
for SDDEVICE in ${SDDEVICES[@]}
do
@ -35,18 +40,18 @@ done
if [ ! -z "${SDDEVICE}" ]
then
if [ -e "release/${DISTRO}-${DEVICE}.${ARCH}-${OS_VERSION}.img" ] || [ -e "release/${DISTRO}-${DEVICE}.${ARCH}-${OS_VERSION}.img.gz" ]
if [ -e "release/${DISTRO}-${DEVICE}.${ARCH}-${BURN_VERSION}.img" ] || [ -e "release/${DISTRO}-${DEVICE}.${ARCH}-${BURN_VERSION}.img.gz" ]
then
cd release
echo "Extracting ${DISTRO}-${DEVICE}.${ARCH}-${OS_VERSION}.img"
gunzip ${DISTRO}-${DEVICE}.${ARCH}-${OS_VERSION}.img.gz 2>/dev/null ||:
echo "Extracting ${DISTRO}-${DEVICE}.${ARCH}-${BURN_VERSION}.img"
gunzip ${DISTRO}-${DEVICE}.${ARCH}-${BURN_VERSION}.img.gz 2>/dev/null ||:
echo "Wiping ${SDDEVICE} partition data"
sudo wipefs -a ${SDDEVICE} 2>/dev/null ||:
echo "Writing ${DISTRO}-${DEVICE}.${ARCH}-${OS_VERSION}.img to ${SDDEVICE}"
sudo dd if=${DISTRO}-${DEVICE}.${ARCH}-${OS_VERSION}.img of=/dev/${SDDEVICE} bs=1M
echo "Writing ${DISTRO}-${DEVICE}.${ARCH}-${BURN_VERSION}.img to ${SDDEVICE}"
sudo dd if=${DISTRO}-${DEVICE}.${ARCH}-${BURN_VERSION}.img of=/dev/${SDDEVICE} bs=1M
sync
else
echo "Release not found, aborting."
echo "Release not found (${DISTRO}-${DEVICE}.${ARCH}-${BURN_VERSION}.img), aborting."
exit 1
fi
else