diff --git a/README.md b/README.md index ba67de9..e556080 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ Recalbox-rasplex is a hack of Buildroot (https://buildroot.org/) using its scrip - v4.0.0-beta5 (default) - v4.0 last unstable build - v4.1 last unstable build -- Rasplex v1.6.2 +- Rasplex (one of following) + - v1.6.2 ## System requirements Because recalbox-rasplex is made on Buildroot, it is designed to run on Linux Systems. @@ -34,41 +35,58 @@ make menuconfig ``` 4 - Select your hardware (Target Architecture) ``` -- Raspberry Pi 1 Model B+ +- Raspberry Pi 3 Model B (default) - Raspberry Pi 2 Model B -- Raspberry Pi 3 Model B +- Raspberry Pi 1 Model B+ ``` 5 - Select your Powerswitch hardware ``` -- None +- RemotePi Board for Pi3, Pi 2 and B+ (default) - RemotePi Board 2013 -- RemotePi Board for Pi3, Pi 2 and B+ +- None ``` Further informations at http://www.msldigital.com/ -6 - Select your Recalbox Version +6 - Select your Rasplex Version ``` -- Version 4.0 - Stable -- Version 4.0 - Unstable -- Version 4.1 - Unstable -- None +- 1.6.2 - Stable (default) ``` -7 - Select further available options -8 - Build NOOBS needed files +7 - Select your Rasplex skin +``` +- Aeon Nox 5 - Custom (default) +- OpenPHT - Standard +``` + +8 - Select your Recalbox-OS Version +``` +- 4.0 - Stable (default) +- 4.0 - Unstable +- 4.1 - Unstable +``` + +9 - Build NOOBS needed files ```bash make ``` -9 - Format a SD-Card with a unique Fat-32 bits partition in a msdos partition table +10 - Format a SD-Card with a unique Fat-32 bits partition in a msdos partition table -10 - Copy the content of the ./output/target directory into your SD-Card +11 - Copy the content of the ./output/target directory into your SD-Card -11 - Insert the SD-Card into the Raspberry Pi +12 - Insert the SD-Card into the Raspberry Pi -11 - Boot and select NOOBS options. +13 - Boot and select NOOBS options. https://github.com/raspberrypi/noobs +## How it works +If you selected both Rasplex and Recalbox-OS and you choose the customized skin (Aeon Nox 5) : +- On Rasplex, you will have a new button (section) to reboot on Recalbox-OS +- On Recalbox-OS to reboot on Rasplex, just reboot. +(If Recalbox updates are downloaded, it will reboot on Recalbox-OS to finish the update) + +If you selected both Rasplex and Recalbox-OS and you choose the standard skin (OpenPHT) you will have the noobs main menu to select which partittion you want to boot. + ## Licenses ### BuildRoot GNU GENERAL PUBLIC LICENSE Version 2, June 1991 diff --git a/arch/Config.in b/arch/Config.in index 6806423..69b9c95 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -1,16 +1,15 @@ choice prompt "Target Architecture" - default BR2_ARCH_RPI2 + default BR2_ARCH_RPI3 help Select the target architecture family to build for. - -config BR2_ARCH_RPI1 - bool "Raspberry Pi 1 Model B+" + +config BR2_ARCH_RPI3 + bool "Raspberry Pi 3 Model B" help - The Model B+ is the final revision of the original Raspberry Pi. - It replaced the Model B in July 2014 and was superseded by the - Raspberry Pi 2 Model B in February 2015. - Is has a 700MHz ARM 11 CPU and 512MB RAM. + The Raspberry Pi 3 is the third generation Raspberry Pi. + It replaced the Raspberry Pi 2 Model B in February 2016. + It has a 1.2GHz 64-bit quad-core ARMv8 CPU and 1GB RAM. config BR2_ARCH_RPI2 bool "Raspberry Pi 2 Model B" @@ -18,13 +17,14 @@ config BR2_ARCH_RPI2 The Raspberry Pi 2 Model B is the second generation Raspberry Pi. It replaced the original Raspberry Pi 1 Model B+ in February 2015. Is has a 900MHz quad-core ARM Cortex-A7 CPU and 1GB RAM. - -config BR2_ARCH_RPI3 - bool "Raspberry Pi 3 Model B" + +config BR2_ARCH_RPI1 + bool "Raspberry Pi 1 Model B+" help - The Raspberry Pi 3 is the third generation Raspberry Pi. - It replaced the Raspberry Pi 2 Model B in February 2016. - It has a 1.2GHz 64-bit quad-core ARMv8 CPU and 1GB RAM. + The Model B+ is the final revision of the original Raspberry Pi. + It replaced the Model B in July 2014 and was superseded by the + Raspberry Pi 2 Model B in February 2015. + Is has a 700MHz ARM 11 CPU and 512MB RAM. endchoice @@ -37,32 +37,31 @@ config BR2_ARCH choice prompt "Powerswitch Hardware" default BR2_ARCH_POWERSWITCH_REMOTEPI_2015 - -config BR2_ARCH_POWERSWITCH_NONE - bool "None" - help - Select this option if your powerswitch cannot be selected in the - list. -config BR2_ARCH_POWERSWITCH_REMOTEPI_2013 - bool "RemotePi Board 2013" +config BR2_ARCH_POWERSWITCH_REMOTEPI_2015 + bool "RemotePi Board for Pi3, Pi 2 and B+" help The RemotePi Board is an intelligent infrared remote controlled power switch for the Raspberry Pi. It is mainly intended to remote control and power off/on a media center system (i.e LibreELEC, OpenELEC, OSMC, XBian, RasPlex, Raspbian, Volumio, ...). - http://www.msldigital.com/pages/support-for-remotepi-board-2013 + http://www.msldigital.com/pages/support-for-remotepi-board-plus-2015 -config BR2_ARCH_POWERSWITCH_REMOTEPI_2015 - bool "RemotePi Board for Pi3, Pi 2 and B+" +config BR2_ARCH_POWERSWITCH_REMOTEPI_2013 + bool "RemotePi Board 2013" help The RemotePi Board is an intelligent infrared remote controlled power switch for the Raspberry Pi. It is mainly intended to remote control and power off/on a media center system (i.e LibreELEC, OpenELEC, OSMC, XBian, RasPlex, Raspbian, Volumio, ...). - http://www.msldigital.com/pages/support-for-remotepi-board-plus-2015 - + http://www.msldigital.com/pages/support-for-remotepi-board-2013 + +config BR2_ARCH_POWERSWITCH_NONE + bool "None" + help + Select this option if your powerswitch cannot be selected in the + list. endchoice diff --git a/package/Config.in b/package/Config.in index a01d906..2aa452b 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1,3 +1,8 @@ source "package/noobs/Config.in" source "package/rasplex/Config.in" source "package/recalboxOS/Config.in" + +config BR2_PACKAGE_RECALPLEX + bool + default BR2_PACKAGE_RASPLEX && BR2_PACKAGE_RASPLEX_SKIN_AEONNOX && \ + BR2_PACKAGE_RECALBOXOS diff --git a/package/rasplex/Config.in b/package/rasplex/Config.in index 63037c9..ff79a35 100644 --- a/package/rasplex/Config.in +++ b/package/rasplex/Config.in @@ -7,3 +7,52 @@ config BR2_PACKAGE_RASPLEX updates pushed out as they become available. http://www.rasplex.com + +##################################################################### +# Version Selector +##################################################################### +choice + prompt "Version" + default BR2_PACKAGE_RASPLEX_STABLE + depends on BR2_PACKAGE_RASPLEX + +config BR2_PACKAGE_RASPLEX_STABLE + bool "1.6.2 - Stable" + help + The last stable version from : + https://github.com/RasPlex/RasPlex/releases + +endchoice + +##################################################################### +# Skin Selector +##################################################################### +choice + prompt "Custom Skin" + default BR2_PACKAGE_RASPLEX_SKIN_AEONNOX + depends on BR2_PACKAGE_RASPLEX + +config BR2_PACKAGE_RASPLEX_SKIN_AEONNOX + bool "Aeon Nox 5 - Custom" + help + Skin customized with a Recalbox Section to automatically reboot to + Recalbox partiton. + + Aeon Nox for Plex Home Theater by MagnumDoomguy + + Aeon Nox 5 for Plex has 28 different viewtypes, an intuitive and + graceful GUI and lots of configuration options. + Completely redesigned to create a modern look, while retaining + the classic Aeon feel. Modified to run on Plex Home Theater. + + https://github.com/magnumdoomguy/skin.aeon.nox.5 + +config BR2_PACKAGE_RASPLEX_SKIN_OPENPHT + bool "OpenPHT - Standard" + help + No change is made on the skin configuration. + + Default OpenPHT Skin + http://www.rasplex.com/ + +endchoice diff --git a/package/rasplex/noobs/partition_setup.txt b/package/rasplex/noobs/partition_setup.txt new file mode 100644 index 0000000..15305b1 --- /dev/null +++ b/package/rasplex/noobs/partition_setup.txt @@ -0,0 +1,4 @@ + +# create autoboot switch file for recalbox-rasplex\ +boot_num=$(echo "$part1" | sed -e "s|/dev/mmcblk0p\([0-9]*\).*$|\1|") +echo boot_partition=$boot_num > /settings/autoboot_rasplex.txt diff --git a/package/rasplex/_resources/rpi/RasPlex.png b/package/rasplex/noobs/rpi/RasPlex.png similarity index 100% rename from package/rasplex/_resources/rpi/RasPlex.png rename to package/rasplex/noobs/rpi/RasPlex.png diff --git a/package/rasplex/_resources/rpi/partition_setup.sh b/package/rasplex/noobs/rpi/partition_setup.sh similarity index 100% rename from package/rasplex/_resources/rpi/partition_setup.sh rename to package/rasplex/noobs/rpi/partition_setup.sh diff --git a/package/rasplex/_resources/rpi/partitions.json b/package/rasplex/noobs/rpi/partitions.json similarity index 92% rename from package/rasplex/_resources/rpi/partitions.json rename to package/rasplex/noobs/rpi/partitions.json index 53de798..c2b1781 100644 --- a/package/rasplex/_resources/rpi/partitions.json +++ b/package/rasplex/noobs/rpi/partitions.json @@ -11,7 +11,7 @@ { "label": "plexdata", "filesystem_type": "ext4", - "partition_size_nominal": 512, + "partition_size_nominal": 1024, "want_maximised": false, "uncompressed_tarball_size": 1, "mkfs_options": "" diff --git a/package/rasplex/_resources/rpi/slides/A.png b/package/rasplex/noobs/rpi/slides/A.png similarity index 100% rename from package/rasplex/_resources/rpi/slides/A.png rename to package/rasplex/noobs/rpi/slides/A.png diff --git a/package/rasplex/_resources/rpi/slides/B.png b/package/rasplex/noobs/rpi/slides/B.png similarity index 100% rename from package/rasplex/_resources/rpi/slides/B.png rename to package/rasplex/noobs/rpi/slides/B.png diff --git a/package/rasplex/_resources/rpi/slides/C.png b/package/rasplex/noobs/rpi/slides/C.png similarity index 100% rename from package/rasplex/_resources/rpi/slides/C.png rename to package/rasplex/noobs/rpi/slides/C.png diff --git a/package/rasplex/_resources/rpi/slides/D.png b/package/rasplex/noobs/rpi/slides/D.png similarity index 100% rename from package/rasplex/_resources/rpi/slides/D.png rename to package/rasplex/noobs/rpi/slides/D.png diff --git a/package/rasplex/_resources/rpi/slides/E.png b/package/rasplex/noobs/rpi/slides/E.png similarity index 100% rename from package/rasplex/_resources/rpi/slides/E.png rename to package/rasplex/noobs/rpi/slides/E.png diff --git a/package/rasplex/_resources/rpi/slides/F.png b/package/rasplex/noobs/rpi/slides/F.png similarity index 100% rename from package/rasplex/_resources/rpi/slides/F.png rename to package/rasplex/noobs/rpi/slides/F.png diff --git a/package/rasplex/_resources/rpi/slides_vga/A.png b/package/rasplex/noobs/rpi/slides_vga/A.png similarity index 100% rename from package/rasplex/_resources/rpi/slides_vga/A.png rename to package/rasplex/noobs/rpi/slides_vga/A.png diff --git a/package/rasplex/_resources/rpi/slides_vga/B.png b/package/rasplex/noobs/rpi/slides_vga/B.png similarity index 100% rename from package/rasplex/_resources/rpi/slides_vga/B.png rename to package/rasplex/noobs/rpi/slides_vga/B.png diff --git a/package/rasplex/_resources/rpi/slides_vga/C.png b/package/rasplex/noobs/rpi/slides_vga/C.png similarity index 100% rename from package/rasplex/_resources/rpi/slides_vga/C.png rename to package/rasplex/noobs/rpi/slides_vga/C.png diff --git a/package/rasplex/_resources/rpi/slides_vga/D.png b/package/rasplex/noobs/rpi/slides_vga/D.png similarity index 100% rename from package/rasplex/_resources/rpi/slides_vga/D.png rename to package/rasplex/noobs/rpi/slides_vga/D.png diff --git a/package/rasplex/_resources/rpi/slides_vga/E.png b/package/rasplex/noobs/rpi/slides_vga/E.png similarity index 100% rename from package/rasplex/_resources/rpi/slides_vga/E.png rename to package/rasplex/noobs/rpi/slides_vga/E.png diff --git a/package/rasplex/_resources/rpi/slides_vga/F.png b/package/rasplex/noobs/rpi/slides_vga/F.png similarity index 100% rename from package/rasplex/_resources/rpi/slides_vga/F.png rename to package/rasplex/noobs/rpi/slides_vga/F.png diff --git a/package/rasplex/_resources/rpi1/os.json b/package/rasplex/noobs/rpi1/os.json similarity index 100% rename from package/rasplex/_resources/rpi1/os.json rename to package/rasplex/noobs/rpi1/os.json diff --git a/package/rasplex/_resources/rpi2/os.json b/package/rasplex/noobs/rpi2/os.json similarity index 100% rename from package/rasplex/_resources/rpi2/os.json rename to package/rasplex/noobs/rpi2/os.json diff --git a/package/rasplex/_resources/rpi3/os.json b/package/rasplex/noobs/rpi3/os.json similarity index 100% rename from package/rasplex/_resources/rpi3/os.json rename to package/rasplex/noobs/rpi3/os.json diff --git a/package/rasplex/rasplex.mk b/package/rasplex/rasplex.mk index 4ec3c10..d2b7621 100644 --- a/package/rasplex/rasplex.mk +++ b/package/rasplex/rasplex.mk @@ -3,7 +3,6 @@ # rasplex # ################################################################################ - RASPLEX_RELEASE = 1.6.2 ifeq ($(BR2_ARCH),"rpi1") RASPLEX_VERSION = $(RASPLEX_RELEASE).123-e23a7eef-RPi.arm @@ -15,60 +14,117 @@ RASPLEX_SITE = https://github.com/RasPlex/RasPlex/releases/download/$(RASPLEX_RE RASPLEX_LICENSE = GPL2 RASPLEX_LICENSE_FILES = COPYING +##################################################################### +# CONFIGURE : Create noobs os directory for selected rpi +# $(@D)/os/rasplex (Noobs configuration) +##################################################################### RASPLEX_TRG_BUILD=$(@D)/os/$(RASPLEX_NAME) -RASPLEX_TAR_BUILD=$(RASPLEX_TRG_BUILD).dsk -# Prepare build directories : -# $(@D)/os/rasplex (Noobs configuration) -# $(@D)/os/rasplex.dsk (Partitions extracted) -define RASPLEX_PRE_BUILD_CMDS - @if test -d $(RASPLEX_TRG_BUILD); then \ - rm -rf $(RASPLEX_TRG_BUILD); \ - fi; \ +define RASPLEX_CONFIGURE_CMDS + ########## Create os/$(RECALBOXOS_NAME) for $(BR2_ARCH) ########## + rm -rf $(RASPLEX_TRG_BUILD); \ mkdir -p $(RASPLEX_TRG_BUILD); \ - cp -r $(RASPLEX_PKGDIR)_resources/rpi/* $(RASPLEX_TRG_BUILD)/; \ - cp -r $(RASPLEX_PKGDIR)_resources/$(BR2_ARCH)/* $(RASPLEX_TRG_BUILD)/; \ - if test -d $(RASPLEX_TAR_BUILD); then \ - rm -rf $(RASPLEX_TAR_BUILD); \ - fi; \ + cp -r $(RASPLEX_PKGDIR)noobs/rpi/* $(RASPLEX_TRG_BUILD)/; \ + cp -r $(RASPLEX_PKGDIR)noobs/$(BR2_ARCH)/* $(RASPLEX_TRG_BUILD)/; +endef + +##################################################################### +# PRE_BUILD : Prepare partition directories +# $(@D)/os/rasplex.dsk/* (Partitions extracted) +##################################################################### +RASPLEX_TAR_BUILD = $(RASPLEX_TRG_BUILD).dsk + +RASPLEX_PARTITIONS = plexboot plexdata + +define RASPLEX_PRE_BUILD_CMDS + ########## Create tar directory for customization ########## + rm -rf $(RASPLEX_TAR_BUILD); \ mkdir -p $(RASPLEX_TAR_BUILD)/plexboot; \ cp -r $(@D)/3rdparty/bootloader/* $(RASPLEX_TAR_BUILD)/plexboot; \ - cp $(@D)/target/SYSTEM $(RASPLEX_TAR_BUILD)/plexboot/SYSTEM; \ - cp $(@D)/target/KERNEL $(RASPLEX_TAR_BUILD)/plexboot/kernel.img; \ + cp $(@D)/target/* $(RASPLEX_TAR_BUILD)/plexboot/; \ + mv $(RASPLEX_TAR_BUILD)/plexboot/KERNEL $(RASPLEX_TAR_BUILD)/plexboot/kernel.img; \ + mv $(RASPLEX_TAR_BUILD)/plexboot/KERNEL.md5 $(RASPLEX_TAR_BUILD)/plexboot/kernel.img.md5; \ mkdir -p $(RASPLEX_TAR_BUILD)/plexdata/backup; endef -# Add configuration specifics to rasplex partitions +##################################################################### +# BUILD : Customize partition directories +##################################################################### +RASPLEX_POWER_PATH = $(RASPLEX_TAR_BUILD)/plexdata/.cache/services +define RASPLEX_BUILD_POWER_CMD + ########## Apply Powerswitch configuration ########## + $(if $(BR2_ARCH_POWERSWITCH_REMOTEPI_2013), \ + mkdir -p $(RASPLEX_POWER_PATH); \ + echo BOARD_VERSION=\"2013\" > $(RASPLEX_POWER_PATH)/remotepi-board.conf; \ + ) + $(if $(BR2_ARCH_POWERSWITCH_REMOTEPI_2015), \ + mkdir -p $(RASPLEX_POWER_PATH); \ + echo BOARD_VERSION=\"2015\" > $(RASPLEX_POWER_PATH)/remotepi-board.conf; \ + ) +endef + +# Skin configuration +ifdef BR2_PACKAGE_RASPLEX_SKIN_AEONNOX + RASPLEX_SKIN_NAME = skin.aeon.nox.5 + RASPLEX_SKIN_VERSION = 5.2.3 + # URL information stored in /storage/.plexht/userdata/Database/Addons15.db + RASPLEX_SKIN_SITE = https://addons.openpht.tv/openpht-1.6 + RASPLEX_SKIN_FILE = $(RASPLEX_SKIN_NAME)-$(RASPLEX_SKIN_VERSION).zip + # Download skin if required by configuration + RASPLEX_EXTRA_DOWNLOADS = \ + $(RASPLEX_SKIN_SITE)/$(RASPLEX_SKIN_NAME)/$(RASPLEX_SKIN_FILE) +endif + +define RASPLEX_BUILD_SKIN_CMD + ########## Apply Recalplex customization ############ + $(if $(BR2_PACKAGE_RECALPLEX), \ + # Unzip and customize rasplex skin + mkdir -p $(RASPLEX_TAR_BUILD)/plexdata/.plexht/addons/; \ + unzip -q -o $(DL_DIR)/$(RASPLEX_SKIN_FILE) -d $(RASPLEX_TAR_BUILD)/plexdata/.plexht/addons/; \ + cp -r $(RASPLEX_PKGDIR)recalplex/addons/$(RASPLEX_SKIN_NAME)/* \ + $(RASPLEX_TAR_BUILD)/plexdata/.plexht/addons/$(RASPLEX_SKIN_NAME)/; + # Copy customized rasplex skin settings + mkdir -p $(RASPLEX_TAR_BUILD)/plexdata/.plexht/userdata/; \ + cp -r $(RASPLEX_PKGDIR)recalplex/userdata/$(RASPLEX_SKIN_NAME)/* \ + $(RASPLEX_TAR_BUILD)/plexdata/.plexht/userdata/; + # Copy recalplex directory with autoswitch scripts and slideshow images + mkdir -p $(RASPLEX_TAR_BUILD)/plexdata/.recalplex/; \ + cp -r $(RASPLEX_PKGDIR)recalplex/* $(RASPLEX_TAR_BUILD)/plexdata/.recalplex/; + # Customize noobs partition setup + cat $(RASPLEX_PKGDIR)noobs/partition_setup.txt >> $(RASPLEX_TRG_BUILD)/partition_setup.sh; \ + ) +endef + define RASPLEX_BUILD_CMDS - mkdir -p $(RASPLEX_TAR_BUILD)/plexdata/.cache/services; \ - if [ '$(BR2_ARCH_POWERSWITCH_REMOTEPI_2013)' == 'y' ]; then \ - echo BOARD_VERSION=\"2013\" > $(RASPLEX_TAR_BUILD)/plexdata/.cache/services/remotepi-board.conf; \ - elif [ '$(BR2_ARCH_POWERSWITCH_REMOTEPI_2015)' == 'y' ]; then \ - echo BOARD_VERSION=\"2015\" > $(RASPLEX_TAR_BUILD)/plexdata/.cache/services/remotepi-board.conf; \ - fi; + $(call RASPLEX_BUILD_POWER_CMD) + $(call RASPLEX_BUILD_SKIN_CMD) endef -# Compress partitions into tar.xz +##################################################################### +# POST_BUILD : Compress partitions directories into tar.xz +##################################################################### define RASPLEX_POST_BUILD_CMDS - @for p in `ls -d $(RASPLEX_TAR_BUILD)/*/`; do \ - pushd $$p > /dev/null; \ - tar cfvJ $(RASPLEX_TRG_BUILD)/$$(basename $$p).tar.xz *; \ + ########## Create partition tar files ########## + $(foreach p, $(RASPLEX_PARTITIONS), \ + pushd $(RASPLEX_TAR_BUILD)/$(p) > /dev/null; \ + f=$(RASPLEX_TRG_BUILD)/$(p).tar; \ + tar uf $$f . --owner=0 --group=0; xz -v $$f; \ popd > /dev/null; \ - done + ) endef -# Copy the content of the $(RASPLEX_TRG_BUILD) to the target/os/rasplex +RASPLEX_PRE_BUILD_HOOKS += RASPLEX_PRE_BUILD_CMDS +RASPLEX_POST_BUILD_HOOKS += RASPLEX_POST_BUILD_CMDS + +##################################################################### +# INSTALL : Copy the content of the $(RASPLEX_TRG_BUILD) +# to the target/os/rasplex +##################################################################### RASPLEX_SRC_INSTALL=$(RASPLEX_TRG_BUILD) RASPLEX_TRG_INSTALL=$(TARGET_DIR)/os/$(RASPLEX_NAME) define RASPLEX_INSTALL_TARGET_CMDS - #$(call $(RASPLEX_INSTALL_NOOBS)) - @if test -d $(RASPLEX_TRG_INSTALL); then \ - rm -rf $(RASPLEX_TRG_INSTALL); \ - fi; \ - cp -r $(RASPLEX_SRC_INSTALL) $(RASPLEX_TRG_INSTALL) + rm -rf $(RASPLEX_TRG_INSTALL); \ + cp -r $(RASPLEX_SRC_INSTALL) $(RASPLEX_TRG_INSTALL); endef -RASPLEX_PRE_BUILD_HOOKS += RASPLEX_PRE_BUILD_CMDS -RASPLEX_POST_BUILD_HOOKS += RASPLEX_POST_BUILD_CMDS - $(eval $(generic-package)) \ No newline at end of file diff --git a/package/rasplex/recalplex/addons/skin.aeon.nox.5/1080i/includes_homecustom.xml b/package/rasplex/recalplex/addons/skin.aeon.nox.5/1080i/includes_homecustom.xml new file mode 100644 index 0000000..85feed7 --- /dev/null +++ b/package/rasplex/recalplex/addons/skin.aeon.nox.5/1080i/includes_homecustom.xml @@ -0,0 +1,18 @@ + + + + + Recalbox + + Plex.RunScript(/storage/.recalplex/autoboot_switch.py) + + + + + Plex.RunScript(Path and Filename of the Custom Script Here) + false + + + + + diff --git a/package/rasplex/recalplex/autoboot_switch.py b/package/rasplex/recalplex/autoboot_switch.py new file mode 100755 index 0000000..ced58d8 --- /dev/null +++ b/package/rasplex/recalplex/autoboot_switch.py @@ -0,0 +1,2 @@ +import subprocess +subprocess.call(["/storage/.recalplex/autoboot_switch.sh", "recalbox"]) diff --git a/package/rasplex/recalplex/autoboot_switch.sh b/package/rasplex/recalplex/autoboot_switch.sh new file mode 100755 index 0000000..c63a2e1 --- /dev/null +++ b/package/rasplex/recalplex/autoboot_switch.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +autoboot_switch_to() +{ + mkdir -p /tmp/recalplex/settings + mkdir -p /tmp/recalplex/recovery + mount /dev/mmcblk0p5 /tmp/recalplex/settings + mount /dev/mmcblk0p1 /tmp/recalplex/recovery + cp /tmp/recalplex/settings/autoboot_$1.txt /tmp/recalplex/recovery/autoboot.txt +} + +autoboot_switch_to $1 +reboot diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-10019-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-10019-1.jpg new file mode 100644 index 0000000..70cf6fa Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-10019-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-10019-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-10019-1.url new file mode 100644 index 0000000..3267c2c --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-10019-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/10019-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-120-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-120-1.jpg new file mode 100644 index 0000000..68f590a Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-120-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-120-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-120-1.url new file mode 100644 index 0000000..0f054f2 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-120-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/120-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-14776-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-14776-1.jpg new file mode 100644 index 0000000..56f028d Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-14776-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-14776-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-14776-1.url new file mode 100644 index 0000000..3f751ee --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-14776-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/14776-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-1798-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-1798-1.jpg new file mode 100644 index 0000000..b9d6c3b Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-1798-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-1798-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-1798-1.url new file mode 100644 index 0000000..867f003 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-1798-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/1798-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2347-2.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2347-2.jpg new file mode 100644 index 0000000..e1d6f47 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2347-2.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2347-2.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2347-2.url new file mode 100644 index 0000000..e5498ff --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2347-2.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2347-2.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2420-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2420-1.jpg new file mode 100644 index 0000000..2b05b0f Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2420-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2420-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2420-1.url new file mode 100644 index 0000000..b2600eb --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2420-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2420-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2495-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2495-1.jpg new file mode 100644 index 0000000..7473065 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2495-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2495-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2495-1.url new file mode 100644 index 0000000..230b961 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2495-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2495-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2497-2.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2497-2.jpg new file mode 100644 index 0000000..e7030e2 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2497-2.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2497-2.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2497-2.url new file mode 100644 index 0000000..30a2b51 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2497-2.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2497-2.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2546-2.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2546-2.jpg new file mode 100644 index 0000000..51797ba Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2546-2.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2546-2.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2546-2.url new file mode 100644 index 0000000..1203723 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2546-2.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2546-2.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2638-4.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2638-4.jpg new file mode 100644 index 0000000..d8971de Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2638-4.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2638-4.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2638-4.url new file mode 100644 index 0000000..f0bd05d --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2638-4.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2638-4.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2658-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2658-1.jpg new file mode 100644 index 0000000..9eec771 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2658-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2658-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2658-1.url new file mode 100644 index 0000000..2619813 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2658-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2658-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2660-3.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2660-3.jpg new file mode 100644 index 0000000..9fbd4b0 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2660-3.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2660-3.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2660-3.url new file mode 100644 index 0000000..f17a03d --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2660-3.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2660-3.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2780-9.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2780-9.jpg new file mode 100644 index 0000000..5aff1cc Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2780-9.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2780-9.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2780-9.url new file mode 100644 index 0000000..2721b20 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2780-9.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2780-9.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2847-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-2847-1.jpg new file mode 100644 index 0000000..0d629eb Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-2847-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-2847-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-2847-1.url new file mode 100644 index 0000000..42e0926 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-2847-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/2847-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3031-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-3031-1.jpg new file mode 100644 index 0000000..6dde3e9 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-3031-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3031-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-3031-1.url new file mode 100644 index 0000000..adf3f74 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-3031-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/3031-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3349-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-3349-1.jpg new file mode 100644 index 0000000..ef21d9d Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-3349-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3349-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-3349-1.url new file mode 100644 index 0000000..ef67c1a --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-3349-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/3349-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3422-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-3422-1.jpg new file mode 100644 index 0000000..3e5fdba Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-3422-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3422-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-3422-1.url new file mode 100644 index 0000000..f09ac88 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-3422-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/3422-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3428-7.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-3428-7.jpg new file mode 100644 index 0000000..59c9f1f Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-3428-7.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3428-7.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-3428-7.url new file mode 100644 index 0000000..261bf86 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-3428-7.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/3428-7.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3429-4.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-3429-4.jpg new file mode 100644 index 0000000..fa405cf Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-3429-4.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3429-4.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-3429-4.url new file mode 100644 index 0000000..5ebbfa8 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-3429-4.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/3429-4.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3745-4.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-3745-4.jpg new file mode 100644 index 0000000..26bb47c Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-3745-4.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-3745-4.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-3745-4.url new file mode 100644 index 0000000..f1b1dd1 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-3745-4.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/3745-4.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-5954-2.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-5954-2.jpg new file mode 100644 index 0000000..fc902ba Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-5954-2.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-5954-2.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-5954-2.url new file mode 100644 index 0000000..6063bf8 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-5954-2.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/5954-2.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-619-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-619-1.jpg new file mode 100644 index 0000000..3d10ea0 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-619-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-619-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-619-1.url new file mode 100644 index 0000000..7f3d4a4 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-619-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/619-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-6238-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-6238-1.jpg new file mode 100644 index 0000000..4cba7f5 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-6238-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-6238-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-6238-1.url new file mode 100644 index 0000000..17a0f1f --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-6238-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/6238-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-6691-3.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-6691-3.jpg new file mode 100644 index 0000000..bc849d9 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-6691-3.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-6691-3.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-6691-3.url new file mode 100644 index 0000000..970c837 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-6691-3.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/6691-3.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-7522-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-7522-1.jpg new file mode 100644 index 0000000..7d5e24b Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-7522-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-7522-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-7522-1.url new file mode 100644 index 0000000..f7f8f68 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-7522-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/7522-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-8349-4.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-8349-4.jpg new file mode 100644 index 0000000..2a6cd85 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-8349-4.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-8349-4.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-8349-4.url new file mode 100644 index 0000000..e72ec6d --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-8349-4.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/8349-4.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-8705-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-8705-1.jpg new file mode 100644 index 0000000..78c5ad4 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-8705-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-8705-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-8705-1.url new file mode 100644 index 0000000..237ca0d --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-8705-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/8705-1.jpg diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-9946-1.jpg b/package/rasplex/recalplex/slideshow/thegamesdb.net-9946-1.jpg new file mode 100644 index 0000000..68dc039 Binary files /dev/null and b/package/rasplex/recalplex/slideshow/thegamesdb.net-9946-1.jpg differ diff --git a/package/rasplex/recalplex/slideshow/thegamesdb.net-9946-1.url b/package/rasplex/recalplex/slideshow/thegamesdb.net-9946-1.url new file mode 100644 index 0000000..629c0d7 --- /dev/null +++ b/package/rasplex/recalplex/slideshow/thegamesdb.net-9946-1.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://thegamesdb.net/banners/fanart/original/9946-1.jpg diff --git a/package/rasplex/recalplex/userdata/skin.aeon.nox.5/guisettings.xml b/package/rasplex/recalplex/userdata/skin.aeon.nox.5/guisettings.xml new file mode 100644 index 0000000..8216729 --- /dev/null +++ b/package/rasplex/recalplex/userdata/skin.aeon.nox.5/guisettings.xml @@ -0,0 +1,10 @@ + + + skin.aeon.nox.5 + + + true + /storage/.recalplex/slideshow/ + Recalbox + + \ No newline at end of file diff --git a/package/recalboxOS/Config.in b/package/recalboxOS/Config.in index 8f592d4..b94ceb1 100644 --- a/package/recalboxOS/Config.in +++ b/package/recalboxOS/Config.in @@ -1,6 +1,6 @@ -choice - prompt "RecalboxOS" - default BR2_PACKAGE_RECALBOXOS_STABLE +config BR2_PACKAGE_RECALBOXOS + bool "RecalboxOS" + default y help RecalboxOS is a light embedded system created to run on Raspberry Pi Raspberry Pi 2 and Raspberry PI 3. @@ -9,14 +9,22 @@ choice http://www.recalbox.com +##################################################################### +# Version Selector +##################################################################### +choice + prompt "Version" + default BR2_PACKAGE_RECALBOXOS_STABLE + depends on BR2_PACKAGE_RECALBOXOS + config BR2_PACKAGE_RECALBOXOS_STABLE - bool "Version 4.0 - Stable" + bool "4.0 - Stable" help The last stable version from : https://github.com/recalbox/recalbox-os/releases config BR2_PACKAGE_RECALBOXOS_UNSTABLE - bool "Version 4.0 - Unstable" + bool "4.0 - Unstable" help The last stable version from : https://github.com/recalbox/recalbox-os/releases @@ -26,7 +34,7 @@ config BR2_PACKAGE_RECALBOXOS_UNSTABLE Try it at your own risks !!! config BR2_PACKAGE_RECALBOXOS_NEXT - bool "Version 4.1 - Unstable" + bool "4.1 - Unstable" help The last stable version from : https://github.com/recalbox/recalbox-os/releases @@ -35,14 +43,4 @@ config BR2_PACKAGE_RECALBOXOS_NEXT Try it at your own risks !!! -config BR2_PACKAGE_RECALBOXOS_NONE - bool "None" - help - Select this option if you don't want RecalboxOS on your NOOBS - distribution. - endchoice - -config BR2_PACKAGE_RECALBOXOS - bool - default !BR2_PACKAGE_RECALBOXOS_NONE diff --git a/package/recalboxOS/noobs/partition_setup.txt b/package/recalboxOS/noobs/partition_setup.txt new file mode 100644 index 0000000..0adb5f1 --- /dev/null +++ b/package/recalboxOS/noobs/partition_setup.txt @@ -0,0 +1,4 @@ + +# create autoboot switch file for recalbox-rasplex\ +boot_num=$(echo "$part1" | sed -e "s|/dev/mmcblk0p\([0-9]*\).*$|\1|") +echo boot_partition=$boot_num > /settings/autoboot_recalbox.txt diff --git a/package/recalboxOS/partitions/share/system/custom.sh b/package/recalboxOS/partitions/share/system/custom.sh new file mode 100755 index 0000000..9a82759 --- /dev/null +++ b/package/recalboxOS/partitions/share/system/custom.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +NAME="S99custom" + +autoboot_switch_to() +{ + mkdir -p /tmp/recalplex/settings + mkdir -p /tmp/recalplex/recovery + mount /dev/mmcblk0p5 /tmp/recalplex/settings + mount /dev/mmcblk0p1 /tmp/recalplex/recovery + cp /tmp/recalplex/settings/autoboot_$1.txt /tmp/recalplex/recovery/autoboot.txt +} + +# Carry out specific functions when asked to by the system +case "$1" in + start) + recallog "Starting $NAME" + ;; + stop) + recallog "Stopping $NAME" + if [ -e "/tmp/reboot.please" ]; then + if [ -e "/recalbox/share/system/upgrade/boot.tar.xz" ] && + [ -e "/recalbox/share/system/upgrade/root.tar.xz" ]; then + recallog "Reboot for update" + else + recallog "Reboot on Rasplex partition" + autoboot_switch_to rasplex + fi + fi + ;; + *) + echo "Usage: /etc/init.d/S99custom {start | stop}" + exit 1 + ;; +esac + +exit 0 diff --git a/package/recalboxOS/recalboxOS.mk b/package/recalboxOS/recalboxOS.mk index a7583cb..f5b6a32 100644 --- a/package/recalboxOS/recalboxOS.mk +++ b/package/recalboxOS/recalboxOS.mk @@ -3,7 +3,6 @@ # recalboxos # ################################################################################ - RECALBOXOS_RELEASE = 4.0.0-beta5 RECALBOXOS_SOURCE = $(RECALBOXOS_NAME)-$(RECALBOXOS_RELEASE).zip RECALBOXOS_SITE = https://github.com/recalbox/recalbox-os/releases/download/$(RECALBOXOS_RELEASE) @@ -22,48 +21,137 @@ else RECALBOXOS_VERSION = $(RECALBOXOS_RELEASE) endif -ifeq ($(BR2_PACKAGE_NOOBS),y) - RECALBOXOS_DEPENDENCIES=noobs - RECALBOXOS_INSTALL_NOOBS= -else - RECALBOXOS_DEPENDENCIES= - RECALBOXOS_INSTALL_NOOBS=NOOBS_INSTALL_TARGET_CMDS -endif - -RECALBOXOS_SRC_BUILD=$(@D)/os/$(RECALBOXOS_NAME)-$(BR2_ARCH) -RECALBOXOS_TRG_BUILD=$(@D)/os/$(RECALBOXOS_NAME) +##################################################################### +# EXTRACT : Extract base version and apply needed updates +##################################################################### +RECALBOXOS_SRC_BUILD = $(@D)/os/$(RECALBOXOS_NAME)-$(BR2_ARCH) define RECALBOXOS_EXTRACT_CMDS - @unzip -q -o $(DL_DIR)/$(RECALBOXOS_SOURCE) -d $(@D); \ - if test -e $(DL_DIR)/boot.tar.xz; then \ + ########## Extract base version ($(RECALBOXOS_RELEASE)) ########## + unzip -q -o $(DL_DIR)/$(RECALBOXOS_SOURCE) -d $(@D); + ########## Apply version updates (boot & root) ########## + $(if $(RECALBOXOS_EXTRA_DOWNLOADS),\ mv $(DL_DIR)/boot.tar.xz $(RECALBOXOS_SRC_BUILD)/; \ - fi; \ - if test -e $(DL_DIR)/root.tar.xz; then \ mv $(DL_DIR)/root.tar.xz $(RECALBOXOS_SRC_BUILD)/; \ - fi; + ) endef -define RECALBOXOS_BUILD_CMDS - @if test -d $(RECALBOXOS_TRG_BUILD); then \ - rm -rf $(RECALBOXOS_TRG_BUILD); \ - fi; \ +##################################################################### +# CONFIGURE : Create noobs os directory for selected rpi +# $(@D)/os/rasplex (Noobs configuration) +##################################################################### +RECALBOXOS_TRG_BUILD = $(@D)/os/$(RECALBOXOS_NAME) + +define RECALBOXOS_CONFIGURE_CMDS + ########## Create os/$(RECALBOXOS_NAME) for $(BR2_ARCH) ########## + rm -rf $(RECALBOXOS_TRG_BUILD); \ mkdir -p $(RECALBOXOS_TRG_BUILD); \ cp -r $(RECALBOXOS_SRC_BUILD)/* $(RECALBOXOS_TRG_BUILD)/; \ mv $(RECALBOXOS_TRG_BUILD)/$(RECALBOXOS_NAME)-$(BR2_ARCH).png \ $(RECALBOXOS_TRG_BUILD)/$(RECALBOXOS_NAME).png; \ $(SED) "s|^\(\s*\)\"name\": \"$(RECALBOXOS_NAME)-$(BR2_ARCH)\",.*|\1\"name\": \"$(RECALBOXOS_NAME)\",|g" \ - $(RECALBOXOS_TRG_BUILD)/os.json + $(RECALBOXOS_TRG_BUILD)/os.json; +endef + +##################################################################### +# PRE_BUILD : Prepare partition directories +# $(@D)/os/rasplex.dsk/* (Partitions extracted) +##################################################################### +RECALBOXOS_TAR_BUILD = $(RECALBOXOS_TRG_BUILD).dsk +RECALBOXOS_PARTITIONS = root boot share + +RECALBOXOS_PART_boot = + +ifndef BR2_ARCH_POWERSWITCH_NONE + RECALBOXOS_FILE_recalbox_conf = ./recalbox/share_init/system/recalbox.conf + RECALBOXOS_PART_root += $(RECALBOXOS_FILE_recalbox_conf) +endif +ifdef BR2_PACKAGE_RECALPLEX + RECALBOXOS_PART_share = .keep +endif + +define RECALBOXOS_PRE_BUILD_CMDS + ########## Untar needed partitions for customization ########## + rm -rf $(RECALBOXOS_TAR_BUILD); \ + $(foreach p, $(RECALBOXOS_PARTITIONS), \ + $(if $(RECALBOXOS_PART_$(p)), \ + mkdir -p $(RECALBOXOS_TAR_BUILD)/$(p); \ + pushd $(RECALBOXOS_TAR_BUILD)/$(p) > /dev/null; \ + unxz -v $(RECALBOXOS_TRG_BUILD)/$(p).tar.xz; \ + for f in $(RECALBOXOS_PART_$(p)); do \ + tar xvf $(RECALBOXOS_TRG_BUILD)/$(p).tar $$f; \ + done; \ + popd > /dev/null; \ + ) \ + ) endef -RECALBOXOS_SRC_INSTALL=$(RECALBOXOS_TRG_BUILD) -RECALBOXOS_TRG_INSTALL=$(TARGET_DIR)/os/$(RECALBOXOS_NAME) +##################################################################### +# BUILD : Customize partition directories +##################################################################### +define RECALBOXOS_BUILD_POWER_CMD + ########## Apply Powerswitch configuration ########## + $(if $(BR2_ARCH_POWERSWITCH_REMOTEPI_2013), \ + $(SED) "s|^.*\(system.power.switch\)\s*=\s*\(REMOTEPIBOARD_20[0-1]3\s*.*\)$$|\1=\2|g" \ + $(RECALBOXOS_TAR_BUILD)/root/$(RECALBOXOS_FILE_recalbox_conf);\ + ) + $(if $(BR2_ARCH_POWERSWITCH_REMOTEPI_2015), \ + $(SED) "s|^.*\(system.power.switch\)\s*=\s*\(REMOTEPIBOARD_20[0-1]5\s*.*\)$$|\1=\2|g" \ + $(RECALBOXOS_TAR_BUILD)/root/$(RECALBOXOS_FILE_recalbox_conf);\ + ) +endef + +define RECALBOXOS_BUILD_RECALPLEX_CMD + ########## Apply Recalplex customization ############ + $(if $(BR2_PACKAGE_RECALPLEX), \ + cp -r $(RECALBOXOS_PKGDIR)partitions/share/* $(RECALBOXOS_TAR_BUILD)/share/; \ + cat $(RECALBOXOS_PKGDIR)noobs/partition_setup.txt >> $(RECALBOXOS_TRG_BUILD)/partition_setup.sh; \ + $(SED) "s|^\([[:blank:]]*\"empty_fs\"\)[[:blank:]]*:[[:blank:]]*\(true\).*|\1: false|g" \ + $(RECALBOXOS_TRG_BUILD)/partitions.json; \ + ) +endef + +define RECALBOXOS_BUILD_CMDS + $(call RECALBOXOS_BUILD_POWER_CMD) + $(call RECALBOXOS_BUILD_RECALPLEX_CMD) +endef + +##################################################################### +# POST_BUILD : Update partitions tar files if needed +##################################################################### +define RECALBOXOS_POST_BUILD_CMDS + ########## Update partition tar files ########## + $(foreach p, $(RECALBOXOS_PARTITIONS), \ + $(if $(RECALBOXOS_PART_$(p)), \ + pushd $(RECALBOXOS_TAR_BUILD)/$(p) > /dev/null; \ + f=$(RECALBOXOS_TRG_BUILD)/$(p).tar; \ + tar uf $$f . --owner=0 --group=0; xz -v $$f; \ + popd > /dev/null; \ + ) \ + ) +endef + +RECALBOXOS_PRE_BUILD_HOOKS += RECALBOXOS_PRE_BUILD_CMDS +RECALBOXOS_POST_BUILD_HOOKS += RECALBOXOS_POST_BUILD_CMDS + +##################################################################### +# INSTALL : Copy the content of the $(RECALBOXOS_TRG_BUILD) +# to the target/os/recalboxOS +##################################################################### +ifeq ($(BR2_PACKAGE_NOOBS),y) + RECALBOXOS_DEPENDENCIES = noobs + RECALBOXOS_INSTALL_NOOBS = +else + RECALBOXOS_DEPENDENCIES = + RECALBOXOS_INSTALL_NOOBS = NOOBS_INSTALL_TARGET_CMDS +endif +RECALBOXOS_SRC_INSTALL = $(RECALBOXOS_TRG_BUILD) +RECALBOXOS_TRG_INSTALL = $(TARGET_DIR)/os/$(RECALBOXOS_NAME) define RECALBOXOS_INSTALL_TARGET_CMDS $(call $(RECALBOXOS_INSTALL_NOOBS)) - @if test -d $(RECALBOXOS_TRG_INSTALL); then \ - rm -rf $(RECALBOXOS_TRG_INSTALL); \ - fi; \ + rm -rf $(RECALBOXOS_TRG_INSTALL); \ cp -r $(RECALBOXOS_SRC_INSTALL) $(RECALBOXOS_TRG_INSTALL) endef -$(eval $(generic-package)) +$(eval $(generic-package)) \ No newline at end of file