Compare commits

..
1 Commits
Author SHA1 Message Date
Floréal Toumikian 4956be37c8 Added: 2048 core 2014-07-27 16:37:45 +02:00
1875 changed files with 339088 additions and 601246 deletions

No files matched your search

-6
View File
@@ -35,12 +35,6 @@ Feature requests are great, but they usually end up lying around the issue
tracker indefinitely. Sending a pull request is a much better way of getting a
particular feature into OpenELEC.
Please dont ask us to add 3rdparty drivers unless you are the maintainer/developer of the driver,
we have no manpower to support a non-mainlined kernel driver for your hardware.
However, OpenELEC comes with minimal set of kernel drivers enabled, if you are sure that your hardware
is supported in mainline kernel, feel free to send us a Pull Request to enable it in our
kernel defconfigs. We are always happy to support known-working hardware.
### Reporting build failures
As buildsystem / core packages (toolchain) / random libraries change from time to time, it is required
+3 -2
View File
@@ -2,6 +2,8 @@
Lakka is a lightweight Linux distribution that transforms a small computer into a full blown emulation console.
## Features
* **Powerful** - Built on top of the famous RetroArch emulator, Lakka is able to emulate a large range of hardware and has some usefull features such as Braid-like rewinding, joypad hotplug and video streaming.
* **User friendly** - Lakka is easy to setup and use. Once installed to your SD card, you just have to put your rom on the card, plug your joypad and enjoy your favorite old games.
* **Low cost** - The hardware required to run Lakka cost only $35. We also support PS3 and XBox360 controllers so you don't have to buy new ones. The power can be supplied by any micro USB adapter like the one of your smartphone.
@@ -9,11 +11,10 @@ Lakka is a lightweight Linux distribution that transforms a small computer into
## Installation instructions
Please refer to our website http://www.lakka.tv/get on how to setup Lakka.
Please refer to our website http://www.lakka.tv/getlakka on how to setup Lakka.
## Support
* [FAQ](https://github.com/lakkatv/Lakka/wiki/FAQ)
* #lakkatv on irc.freenode.org
* [Forums](http://libretro.com/forums/forumdisplay.php?f=26)
* contact@lakka.tv
+8
View File
@@ -0,0 +1,8 @@
ncurses-5.8/5.9:
- segfaults in nano and dialog -> using ncurses-5.7
irserver:
- rework irserver/init.d for systemd
settings addon:
- remove ps3 sleep? should be fixed in bluez 5.13/5.14
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
name="@PKG_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
@@ -8,7 +8,9 @@
<import addon="xbmc.python" version="2.1.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.python.module" library="lib/">
<extension point="@PKG_ADDON_TYPE@"
library="default.py">
<provides>executable</provides>
</extension>
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
<import addon="xbmc.python" version="2.1.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.python.script" library="default.py">
<provides>executable</provides>
</extension>
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
<description>
@PKG_LONGDESC@
</description>
<disclaimer>
@PKG_DISCLAIMER@
</disclaimer>
<platform>all</platform>
</extension>
</addon>
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
<import addon="xbmc.python" version="2.1.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.service" library="default.py">
<provides>executable</provides>
</extension>
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
<description>
@PKG_LONGDESC@
</description>
<disclaimer>
@PKG_DISCLAIMER@
</disclaimer>
<platform>all</platform>
</extension>
</addon>
-29
View File
@@ -1,29 +0,0 @@
# determines TARGET_CPU, if not forced by user
if [ -z "$TARGET_CPU" ]; then
TARGET_CPU=cortex-a53
fi
# TARGET_CPU:
# generic cortex-a35 cortex-a53 cortex-a57 cortex-a72
# exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53
# cortex-a72.cortex-a53
# determine architecture's family
case $TARGET_CPU in
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53)
TARGET_SUBARCH=aarch64
TARGET_VARIANT=armv8-a
TARGET_ABI=eabi
TARGET_CPU_FLAGS="+crc+crypto"
TARGET_EXTRA_FLAGS="-mcpu=${TARGET_CPU}${TARGET_CPU_FLAGS}"
SIMD_SUPPORT="yes"
;;
esac
TARGET_GCC_ARCH=${TARGET_SUBARCH/-}
TARGET_KERNEL_ARCH=arm64
# setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mabi=lp64 -Wno-psabi $TARGET_EXTRA_FLAGS"
TARGET_LDFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mtune=$TARGET_CPU"
GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_VARIANT"
+6 -3
View File
@@ -31,10 +31,13 @@
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
SIMD_SUPPORT="no"
;;
cortex-a7|cortex-a15|cortex-a15.cortex-a7)
TARGET_SUBARCH=armv7ve
cortex-a7|cortex-a15)
TARGET_SUBARCH=armv7-a
TARGET_ABI=eabi
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
# It's not currently possible to specify the exact architecture variant (-mcpu)
# that A7/A15 supports in the command line so use -mtune here.
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57907
TARGET_EXTRA_FLAGS="-mtune=$TARGET_CPU"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
SIMD_SUPPORT="yes"
;;
+55 -82
View File
@@ -1,9 +1,12 @@
setup_toolchain() {
if [ "$1" = "--optimize" ]; then
OPTIMIZE=yes
shift
fi
if [ "$1" = target ]; then
export DESTIMAGE="target"
unset CPP
export CC=$TARGET_CC
export CXX=$TARGET_CXX
export LD=$TARGET_LD
@@ -28,8 +31,6 @@ setup_toolchain() {
elif [ "$1" = host ]; then
export DESTIMAGE="host"
unset CPP
export AWK=$HOST_AWK
export CC=$HOST_CC
export CXX=$HOST_CXX
@@ -55,22 +56,12 @@ setup_toolchain() {
}
kernel_path() {
if [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then
. $ROOT/projects/$PROJECT/packages/linux/package.mk
else
. $ROOT/packages/linux/package.mk
fi
. $ROOT/packages/linux/package.mk
echo $ROOT/$BUILD/${PKG_NAME}-${PKG_VERSION}
}
kernel_version() {
if [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then
. $ROOT/projects/$PROJECT/packages/linux/package.mk
else
. $ROOT/packages/linux/package.mk
fi
. $ROOT/packages/linux/package.mk
echo ${PKG_VERSION}
}
@@ -82,16 +73,10 @@ get_module_dir() {
# get package's build dir
get_build_dir() {
if [ ! -z $1 ] ; then
local _PKG_DIR=$(find $ROOT/projects/$PROJECT/packages -name $1 2>/dev/null)
if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then
local _PKG_DIR=$(find $ROOT/packages -name $1)
if [ -d $_PKG_DIR -a -f $_PKG_DIR/package.mk ] ; then
. $_PKG_DIR/package.mk
else
local _PKG_DIR=$(find $ROOT/packages -name $1 2>/dev/null)
if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then
. $_PKG_DIR/package.mk
fi
fi
echo $ROOT/$BUILD/${PKG_NAME}-${PKG_VERSION}
fi
}
@@ -185,13 +170,14 @@ do_autoreconf() {
strip_lto() {
# strip out LTO optimization from *FLAGS
if [ -n "$GCC_OPTIM_LTO" ] ; then
CFLAGS=`echo $CFLAGS | sed -e "s|$GCC_OPTIM_LTO||g"`
CXXFLAGS=`echo $CXXFLAGS | sed -e "s|$GCC_OPTIM_LTO||g"`
fi
if [ -n "$LD_OPTIM_LTO" ] ; then
LDFLAGS=`echo $LDFLAGS | sed -e "s|$LD_OPTIM_LTO||g"`
fi
CFLAGS=`echo $CFLAGS | sed -e "s|-flto||g"`
CXXFLAGS=`echo $CXXFLAGS | sed -e "s|-flto||g"`
LDFLAGS=`echo $LDFLAGS | sed -e "s|-flto||g"`
}
strip_linker_plugin() {
# strip out usage from linker plugin
LDFLAGS=`echo $LDFLAGS | sed -e "s|-fuse-linker-plugin||g"`
}
strip_gold() {
@@ -277,9 +263,6 @@ dashes="==========================="
}
show_config() {
# load graphic configuration
get_graphicdrivers
dashes="==========================="
config_message="$config_message\n $dashes$dashes$dashes"
config_message="$config_message\n Configuration for $DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "unofficial"))"
@@ -307,24 +290,24 @@ show_config() {
config_message="$config_message\n\n Graphic configuration:"
config_message="$config_message\n $dashes$dashes"
if [ "$DISPLAYSERVER" = "x11" ] ; then
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
fi
config_message="$config_message\n - XORG support:\t\t\t $XORG_SUPPORT"
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
config_message="$config_message\n - XORG Xinerama support:\t\t $XINERAMA_SUPPORT"
config_message="$config_message\n - SDL support:\t\t\t\t $SDL_SUPPORT"
config_message="$config_message\n - OpenGL (GLX) support (provider):\t $OPENGL_SUPPORT ($OPENGL)"
config_message="$config_message\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
config_message="$config_message\n - uvesafb support:\t\t\t $UVESAFB_SUPPORT"
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
# Hardware decoder support
config_message="$config_message\n\n Hardware decoder configuration:"
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - Kodi Player driver:\t\t\t $KODIPLAYER_DRIVER"
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI_SUPPORT"
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU_SUPPORT"
config_message="$config_message\n - Broadcom CrystalHD Decoder:\t\t $CRYSTALHD"
config_message="$config_message\n - XBMC Player driver:\t\t\t $XBMCPLAYER_DRIVER"
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI"
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU"
# Input device configuration
@@ -335,7 +318,7 @@ show_config() {
config_message="$config_message\n - ATV Remote support:\t\t\t $ATVCLIENT_SUPPORT"
config_message="$config_message\n - CEC Adapter support:\t\t\t $CEC_SUPPORT"
config_message="$config_message\n - IRTrans support:\t\t\t $IRSERVER_SUPPORT"
config_message="$config_message\n - Kodi Joystick support:\t\t $JOYSTICK_SUPPORT"
config_message="$config_message\n - XBMC Joystick support:\t\t $JOYSTICK_SUPPORT"
# Misc. hardware configuration
@@ -343,7 +326,10 @@ show_config() {
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - ALSA support:\t\t\t $ALSA_SUPPORT"
config_message="$config_message\n - Pulseaudio support:\t\t\t $PULSEAUDIO_SUPPORT"
config_message="$config_message\n - Blu-Ray support:\t\t\t $BLURAY_SUPPORT"
config_message="$config_message\n - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
config_message="$config_message\n - Hardware Sensors support:\t\t $SENSOR_SUPPORT"
config_message="$config_message\n - LCD drivers:\t\t\t\t $LCD_DRIVER"
for config_driver in $ADDITIONAL_DRIVERS; do
@@ -354,20 +340,22 @@ show_config() {
config_message="$config_message\n - Include firmware:\t\t\t $config_firmware"
done
for config_modules in $INITRAMFS_MODULES; do
config_message="$config_message\n - Initramfs modules:\t\t\t $config_modules"
done
# Network service configuration
config_message="$config_message\n\n Network service configuration:"
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - Avahi (Zeroconf) support:\t\t $AVAHI_DAEMON"
config_message="$config_message\n - NFS mounting support:\t\t $NFS_SUPPORT"
config_message="$config_message\n - SAMBA mounting support:\t\t $SAMBA_SUPPORT"
config_message="$config_message\n - SAMBA server support:\t\t $SAMBA_SERVER"
config_message="$config_message\n - SFTP server support:\t\t\t $SFTP_SERVER"
config_message="$config_message\n - PPTP support:\t\t\t $PPTP_SUPPORT"
config_message="$config_message\n - OpenVPN support:\t\t\t $OPENVPN_SUPPORT"
config_message="$config_message\n - XBMC Airplay support:\t\t $AIRPLAY_SUPPORT"
config_message="$config_message\n - XBMC Airtunes support:\t\t $AIRTUNES_SUPPORT"
config_message="$config_message\n - XBMC AFP support:\t\t\t $AFP_SUPPORT"
config_message="$config_message\n - XBMC NFS support:\t\t\t $NFS_SUPPORT"
config_message="$config_message\n - XBMC SAMBA client support:\t\t $SAMBA_SUPPORT"
config_message="$config_message\n - XBMC Webserver support:\t\t $WEBSERVER"
# OS configuration
@@ -377,10 +365,10 @@ show_config() {
config_message="$config_message\n - OEM Support:\t\t\t\t $OEM_SUPPORT"
config_message="$config_message\n - Default ROOT Password:\t\t $ROOT_PASSWORD"
config_message="$config_message\n - Bootloader:\t\t\t\t $BOOTLOADER"
if [ "$BOOTLOADER" = "u-boot" ]; then
config_message="$config_message\n - U-Boot configuration:\t\t $UBOOT_CONFIG"
config_message="$config_message\n - U-Boot config file:\t\t $UBOOT_CONFIGFILE"
fi
if [ "$BOOTLOADER" = "u-boot" ]; then
config_message="$config_message\n - U-Boot configuration:\t\t $UBOOT_CONFIG"
config_message="$config_message\n - U-Boot config file:\t\t\t $UBOOT_CONFIGFILE"
fi
config_message="$config_message\n - UDevil support:\t\t\t $UDEVIL"
config_message="$config_message\n - Installer support:\t\t\t $INSTALLER_SUPPORT"
@@ -390,46 +378,31 @@ show_config() {
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - Swap Support:\t\t\t $SWAP_SUPPORT"
if [ "$SWAP_SUPPORT" = "yes" ]; then
config_message="$config_message\n - Swapfile default size:\t\t $SWAPFILESIZE"
fi
if [ "$SWAP_SUPPORT" = "yes" ]; then
config_message="$config_message\n - Swapfile default size:\t\t $SWAPFILESIZE"
fi
config_message="$config_message\n - exFAT Support (via Fuse):\t\t $EXFAT"
config_message="$config_message\n - NTFS Support (via Fuse):\t\t $NTFS3G"
config_message="$config_message\n - Install HFS Tools:\t\t\t $HFSTOOLS"
# Kodi configuration
# XBMC configuration
config_message="$config_message\n\n Kodi configuration:"
config_message="$config_message\n\n XBMC configuration:"
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - Kodi version:\t\t\t $MEDIACENTER"
config_message="$config_message\n - Kodi nonfree support:\t\t $KODI_NONFREE_SUPPORT"
config_message="$config_message\n - Kodi Blu-Ray support:\t\t $KODI_BLURAY_SUPPORT"
if [ "$KODI_BLURAY_SUPPORT" = "yes" ] ; then
config_message="$config_message\n - Bluray BD+ support:\t\t $BLURAY_BDPLUS_SUPPORT"
config_message="$config_message\n - Bluray AACS support:\t\t $BLURAY_AACS_SUPPORT"
fi
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
config_message="$config_message\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
config_message="$config_message\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
config_message="$config_message\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
config_message="$config_message\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
config_message="$config_message\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
config_message="$config_message\n - Kodi SAMBA client support:\t\t $KODI_SAMBA_SUPPORT"
config_message="$config_message\n - Kodi SSH client support:\t\t $KODI_SSHLIB_SUPPORT"
config_message="$config_message\n - Kodi UPNP support:\t\t\t $KODI_UPNP_SUPPORT"
config_message="$config_message\n - Kodi Webserver support:\t\t $KODI_WEBSERVER_SUPPORT"
config_message="$config_message\n - XBMC version:\t\t\t $MEDIACENTER"
config_message="$config_message\n - XBMC nonfree support:\t\t $NONFREE_SUPPORT"
config_message="$config_message\n - XBMC DVDCSS support:\t\t\t $DVDCSS_SUPPORT"
for config_skin in $SKINS; do
config_message="$config_message\n - Include Skin:\t\t\t $config_skin"
done
config_message="$config_message\n - Default Skin:\t\t\t $SKIN_DEFAULT"
config_message="$config_message\n - Include extra fonts:\t\t\t $KODI_EXTRA_FONTS"
config_message="$config_message\n - Include RSXS Screensaver:\t\t $KODI_SCR_RSXS"
config_message="$config_message\n - Include ProjectM Visualization:\t $KODI_VIS_PROJECTM"
config_message="$config_message\n - Include Goom Visualization:\t\t $KODI_VIS_GOOM"
config_message="$config_message\n - Include extra fonts:\t\t\t $XBMC_EXTRA_FONTS"
config_message="$config_message\n - Include RSXS Screensaver:\t\t $XBMC_SCR_RSXS"
config_message="$config_message\n - Include ProjectM Visualization:\t $XBMC_VIS_PROJECTM"
config_message="$config_message\n - Include Goom Visualization:\t\t $XBMC_VIS_GOOM"
config_message="$config_message\n"
config_message="$config_message\n $dashes$dashes$dashes"
@@ -437,5 +410,5 @@ show_config() {
config_message="$config_message\n $dashes$dashes$dashes"
config_message="$config_message\n\n\n"
echo -e "$config_message"
echo -e $config_message
}
+11 -11
View File
@@ -21,9 +21,9 @@ if [ "$SDL_SUPPORT" = no ]; then
fi
if [ "$OPENGL_SUPPORT" = no ]; then
KODI_SCR_RSXS="no"
KODI_VIS_PROJECTM="no"
KODI_VIS_GOOM="no"
XBMC_SCR_RSXS="no"
XBMC_VIS_PROJECTM="no"
XBMC_VIS_GOOM="no"
fi
get_graphicdrivers() {
@@ -32,18 +32,22 @@ get_graphicdrivers() {
fi
for drv in $GRAPHIC_DRIVERS; do
if [ "$drv" = "dove" ]; then
XORG_DRIVERS="$XORG_DRIVERS dove"
fi
if [ "$drv" = "i915" ]; then
DRI_DRIVERS="$DRI_DRIVERS,i915"
XORG_DRIVERS="$XORG_DRIVERS intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
LIBVA="$LIBVA libva-intel-driver"
fi
if [ "$drv" = "i965" ]; then
DRI_DRIVERS="$DRI_DRIVERS,i965"
XORG_DRIVERS="$XORG_DRIVERS intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
LIBVA="$LIBVA libva-intel-driver"
fi
if [ "$drv" = "nouveau" ]; then
@@ -54,16 +58,15 @@ get_graphicdrivers() {
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,nouveau"
XORG_DRIVERS="$XORG_DRIVERS nouveau"
COMPOSITE_SUPPORT="yes"
# LLVM_SUPPORT="yes"
fi
if [ "$drv" = "nvidia" ]; then
XORG_DRIVERS="$XORG_DRIVERS nvidia"
VDPAU_SUPPORT="yes"
fi
if [ "$drv" = "nvidia-legacy" ]; then
XORG_DRIVERS="$XORG_DRIVERS nvidia-legacy"
VDPAU_SUPPORT="yes"
fi
if [ "$drv" = "r200" ]; then
@@ -77,7 +80,6 @@ get_graphicdrivers() {
XORG_DRIVERS="$XORG_DRIVERS ati"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
fi
if [ "$drv" = "r600" ]; then
@@ -85,15 +87,13 @@ get_graphicdrivers() {
XORG_DRIVERS="$XORG_DRIVERS ati"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
fi
if [ "$drv" = "radeonsi" ]; then
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,radeonsi"
XORG_DRIVERS="$XORG_DRIVERS ati amdgpu"
XORG_DRIVERS="$XORG_DRIVERS ati"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
fi
done
+1 -1
View File
@@ -1 +1 @@
Lakka - The DIY retro emulation console
Welcome to OpenELEC - the powerful Mediacenter4you
File renamed without changes.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

+2 -5
View File
@@ -1,10 +1,7 @@
{
"name": "@DISTRONAME@_@PROJECT@",
"name": "@DISTRONAME@",
"version": "@OPENELEC_VERSION@",
"release_date": "@RELEASE_DATE@",
"kernel": "@KERNEL_VERSION@",
"description": "@DESCRIPTION@",
"username": "root",
"password": "@ROOT_PASSWORD@",
"supported_hex_revisions": "@NOOBS_HEX@"
"description": "@DESCRIPTION@"
}
+4 -4
View File
@@ -1,15 +1,15 @@
{
"partitions": [
{
"label": "@DISTRONAME@_@PROJECT@_System",
"label": "System",
"filesystem_type": "FAT",
"partition_size_nominal": 200,
"partition_size_nominal": 160,
"want_maximised": false,
"uncompressed_tarball_size": 170,
"uncompressed_tarball_size": 120,
"mkfs_options": ""
},
{
"label": "@DISTRONAME@_@PROJECT@_Storage",
"label": "Storage",
"filesystem_type": "ext4",
"partition_size_nominal": 864,
"want_maximised": true,
+1 -1
View File
@@ -452,7 +452,7 @@ hCHKXQk7K9saByvnHQxUtj4O8Ofzv0U52nazcrnNJuVSm43KDXcblPPv1+MnrFMm7h/xA77Hd8qS
sodipodi:role="line"
x="512"
y="958.36218"
id="tspan3140">Lakka will appear in your home network</tspan><tspan
id="tspan3140">Lakka will appear in you home network</tspan><tspan
sodipodi:role="line"
x="512"
y="1008.3622"

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

+1 -1
View File
@@ -30,7 +30,7 @@ fi
TARGET_CPPFLAGS=
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $GCC_OPTIM_LTO $PROJECT_CFLAGS"
TARGET_CXXFLAGS="$TARGET_CFLAGS"
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO"
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO $GCC_OPTIM"
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"
+7 -27
View File
@@ -1,14 +1,6 @@
# set default language for buildsystem
export LC_ALL=C
# determines DISTRO, if not forced by user
# default is OpenELEC
if [ -z "$DISTRO" ]; then
DISTRO="OpenELEC"
else
DISTRO="$DISTRO"
fi
# determines PROJECT, if not forced by user
# default is Generic
if [ -z "$PROJECT" ]; then
@@ -26,28 +18,23 @@ else
fi
ROOT=`pwd`
DISTRO_DIR="$ROOT/distributions"
PROJECT_DIR="$ROOT/projects"
LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/packages/linux/package.mk"
# include versioning
. config/version
# read distro versioning if available
if [ -f "$DISTRO_DIR/$DISTRO/version" ]; then
. $DISTRO_DIR/$DISTRO/version
fi
# read distro options if available
if [ -f "$DISTRO_DIR/$DISTRO/options" ]; then
. $DISTRO_DIR/$DISTRO/options
fi
# read project options if available
if [ -f "$PROJECT_DIR/$PROJECT/options" ]; then
. $PROJECT_DIR/$PROJECT/options
fi
# Target system library C (eglibc)
TARGET_LIBC="eglibc"
# Library strip
LIBSTRIP="yes"
# Need to point to your actual cc
# If you have ccache installed, take care that LOCAL_CC don't point to it
LOCAL_CC=`which gcc`
@@ -65,9 +52,7 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/package
# Concurrency make level (-j option)
# Try value 1 (default) to 4 on single CPU computer, or more on
# multi-processor computer (like hyperthreading SMP CPU)
if test -z "${CONCURRENCY_MAKE_LEVEL}"; then
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
fi
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
# cache size for ccache
# Set the maximum size of the files stored in the cache. You can specify a
@@ -92,10 +77,5 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/package
. $HOME/.openelec/$PROJECT/options
fi
# read distro options from $HOME if available
if [ -f "$HOME/.openelec/options.$DISTRO" ]; then
. $HOME/.openelec/options.$DISTRO
fi
. config/graphic
. config/path $1
+14 -42
View File
@@ -20,10 +20,6 @@ HOST_NAME=`$LOCAL_CC -dumpmachine`
TARGET_NAME=$(echo $TARGET_SUBARCH | sed -e "s,-,,")-openelec-linux-gnu${TARGET_ABI}
BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION
if [ -n "$BUILD_SUFFIX" ]; then
BUILD=$BUILD-$BUILD_SUFFIX
fi
TARGET_IMG=$ROOT/$TARGET
TARGET_ADDONS="$TARGET_IMG/$ADDONS/$ADDON_PATH"
ADDON_BUILD="$BUILD/$ADDONS/$1"
@@ -68,46 +64,26 @@ SED="sed -i"
PKG_IS_ADDON="no"
if [ -n "$1" ]; then
_PKG_ROOT_NAME=$(echo $1 | cut -d: -f1)
_ALL_DIRS=""
_FOUND=0
PKG_DIR=""
# first check project folder for a package
for DIR in $(find $ROOT/projects/$PROJECT/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
if [ -r "$DIR/package.mk" ]; then
# found first, set $PKG_DIR
FOUND=0
for DIR in $ROOT/`find $PACKAGES -type d -name $(echo $1| awk -F : '{print $1}') ! -wholename \*\/source\/\* 2>/dev/null` ; do
# keep track of dirs with meta for debugging
if [ -z "$ALL_DIRS" ] ; then
ALL_DIRS="$DIR"
else
ALL_DIRS="$ALL_DIRS\\n$DIR"
fi
if [ -f "$DIR/package.mk" ] ; then
FOUND=$((FOUND+1))
# found first. set $PKG_DIR
PKG_DIR="$DIR"
# keep track of dirs with package.mk for detecting multiple folders
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
_FOUND=$((_FOUND+1))
if [ $_FOUND -gt 1 ]; then
# _FOUND more ? fail
if [ $FOUND -gt 1 ] ; then
# found more ? fail
echo "Error - multiple package folders:"
echo -e "$_ALL_DIRS"
echo -e "$ALL_DIRS"
exit 1
fi
fi
done
# then check packages folder if not found already
if [ $_FOUND -eq 0 ]; then
for DIR in $(find $ROOT/$PACKAGES -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
if [ -r "$DIR/package.mk" ]; then
# found first, set $PKG_DIR
PKG_DIR="$DIR"
# keep track of dirs with package.mk for detecting multiple folders
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
_FOUND=$((_FOUND+1))
if [ $_FOUND -gt 1 ]; then
# found more ? fail
echo "Error - multiple package folders:"
echo -e "$_ALL_DIRS"
exit 1
fi
fi
done
fi
fi
if [ -r $PKG_DIR/package.mk ]; then
@@ -132,8 +108,6 @@ SSL_CERTIFICATES="/etc/pki/tls"
TOOLCHAIN_LANGUAGES=c
[ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++
unset TARGET_CPP
TARGET_CC=${TARGET_PREFIX}gcc
TARGET_CXX=${TARGET_PREFIX}g++
TARGET_LD=${TARGET_PREFIX}ld
@@ -151,8 +125,6 @@ TARGET_PKG_CONFIG_PATH=""
TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig"
TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX"
unset HOST_CPP
HOST_AWK=gawk
HOST_CC=$ROOT/$TOOLCHAIN/bin/host-gcc
HOST_CXX=$ROOT/$TOOLCHAIN/bin/host-g++
+2 -2
View File
@@ -2,8 +2,8 @@
OPENELEC_VERSION="devel"
# OS_VERSION: OS Version
OS_VERSION="5.0"
OS_VERSION="4.0"
# ADDON_VERSION: Addon version
ADDON_VERSION="4.3"
ADDON_VERSION="4.1"
-338
View File
@@ -1,338 +0,0 @@
# Name of the Distro to build (full name, without special characters)
DISTRONAME="EMU"
# short project description
DESCRIPTION="The DIY retro emulation console"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="###########################################"
GREETING1="# Lakka - The DIY retro emulation console #"
GREETING2="# ...... visit http://www.lakka.tv ...... #"
GREETING3="###########################################"
GREETING4=""
# Root password to integrate in the target system
ROOT_PASSWORD="root"
# Mediacenter to use (kodi / no)
MEDIACENTER="no"
# Skins to install (Confluence)
# Space separated list is supported,
# e.g. SKINS="Confluence"
SKINS="Confluence"
# Default Skin (Confluence)
SKIN_DEFAULT="Confluence"
# install extra subtitle Fonts for KODI (yes / no)
KODI_EXTRA_FONTS="yes"
# build and install 'RSXS' Screensaver (yes / no)
KODI_SCR_RSXS="yes"
# build and install 'ProjectM' Visualization (yes / no)
KODI_VIS_PROJECTM="yes"
# build and install 'GOOM' Visualization (yes / no)
KODI_VIS_GOOM="yes"
# build and install 'Waveform' Visualization (yes / no)
KODI_VIS_WAVEFORM="yes"
# build and install 'Spectrum' Visualization (yes / no)
KODI_VIS_SPECTRUM="yes"
# build and install 'FishBMC' Visualization (yes / no)
# does not work on RPi
KODI_VIS_FISHBMC="yes"
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="no"
# build and install espeak support (yes / no)
ESPEAK_SUPPORT="yes"
# build and install with non-free support
# (RAR compression support in KODI) (yes / no)
KODI_NONFREE_SUPPORT="yes"
# build and install with BluRay support (yes / no)
KODI_BLURAY_SUPPORT="yes"
# build and install with BD+ support
# (BD+ decryption support in KODI) (yes / no)
BLURAY_BDPLUS_SUPPORT="yes"
# build and install with AACS support
# (BD decryption support in KODI) (yes / no)
BLURAY_AACS_SUPPORT="yes"
# build and install with DVDCSS support
# (DVD decryption support in KODI) (yes / no)
KODI_DVDCSS_SUPPORT="yes"
# additional drivers to install:
# for a list of additinoal drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="yes"
# build and install with KODI webfrontend (yes / no)
KODI_WEBSERVER_SUPPORT="yes"
# build and install Avahi (Zeroconf) daemon (yes / no)
AVAHI_DAEMON="yes"
# build with UPnP support (yes / no)
KODI_UPNP_SUPPORT="yes"
# build with MySQL support (yes / no)
KODI_MYSQL_SUPPORT="yes"
# build xbmc with sshlib support (yes / no)
KODI_SSHLIB_SUPPORT="yes"
# build xbmc with optical drive support (yes / no)
KODI_OPTICAL_SUPPORT="yes"
# KODI Audio encoders for usage with optical drive support
# Space separated list is supported,
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
KODI_AIRPLAY_SUPPORT="yes"
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
KODI_AIRTUNES_SUPPORT="yes"
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
KODI_NFS_SUPPORT="yes"
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
KODI_AFP_SUPPORT="no"
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
KODI_SAMBA_SUPPORT="yes"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="yes"
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
SAMBA_SUPPORT="yes"
# build and install Samba Server (yes / no)
SAMBA_SERVER="yes"
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install PPP support (yes / no)
PPTP_SUPPORT="yes"
# build and install OpenVPN support (yes / no)
OPENVPN_SUPPORT="yes"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# build and install exFAT fuse support (yes / no)
EXFAT="yes"
# build and install NTFS-3G fuse support (yes / no)
NTFS3G="yes"
# build and install hfs filesystem utilities (yes / no)
HFSTOOLS="yes"
# Windowmanager to use (ratpoison / fluxbox / none)
WINDOWMANAGER="none"
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
# Space separated list is supported,
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
if [ "$TARGET_ARCH" = "i386" ]; then
# TODO: create Legacy build with OpenELEC-4.2
# install legacy drivers to i386 ARCH
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nouveau"
elif [ "$TARGET_ARCH" = "x86_64" ]; then
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nouveau"
fi
# build and install remote support (yes / no)
REMOTE_SUPPORT="no"
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# build and install IRServer IR/LCD support (yes / no)
IRSERVER_SUPPORT="no"
# build and install Joystick support (yes / no)
JOYSTICK_SUPPORT="yes"
# build and install CEC adapter support (yes / no)
CEC_SUPPORT="yes"
# build and install iSCSI support - iscsistart (yes / no)
ISCSI_SUPPORT="yes"
# LCD driver to Use - Possible drivers are ( Comma seperated:
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
# picolcd,pyramid,sed1330,sed1520,serialPOS,
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
# 'all' compiles all drivers;
# 'all,!xxx,!yyy' de-selects previously selected drivers
# "none" for disable LCD support
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build with swap support (yes / no)
SWAP_SUPPORT="no"
# swap support enabled per default (yes / no)
SWAP_ENABLED_DEFAULT="no"
# swapfile size if SWAP_SUPPORT=yes in MB
SWAPFILESIZE="256"
# build with installer (yes / no)
INSTALLER_SUPPORT="yes"
# Testpackages for development (yes / no)
TESTING="no"
# OEM packages for OEM's (yes / no)
OEM_SUPPORT="yes"
# build and install nano text editor (yes / no)
NANO_EDITOR="yes"
# cron support (yes / no)
CRON_SUPPORT="yes"
# Perf support in development builds (yes / no)
PERF_SUPPORT="yes"
# Distribution Specific source location
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
# Addon Server Url
ADDON_SERVER_URL="http://addons.openelec.tv"
# set the addon dirs
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
LAKKA_MIRROR="http://sources.lakka.tv"
RA_PLAYLIST_NAMES=""\
"Atari - 2600.lpl;"\
"Atari - 5200.lpl;"\
"Atari - 7800.lpl;"\
"Atari - Jaguar.lpl;"\
"Atari - Lynx.lpl;"\
"Atari - ST.lpl;"\
"Bandai - WonderSwan Color.lpl;"\
"Bandai - WonderSwan.lpl;"\
"Cave Story.lpl;"\
"Coleco - ColecoVision.lpl;"\
"DOOM.lpl;"\
"FB Alpha - Arcade Games.lpl;"\
"GCE - Vectrex.lpl;"\
"Lutro.lpl;"\
"Magnavox - Odyssey2.lpl;"\
"MAME.lpl;"\
"Microsoft - MSX2.lpl;"\
"Microsoft - MSX.lpl;"\
"NEC - PC Engine SuperGrafx.lpl;"\
"NEC - PC Engine - TurboGrafx 16.lpl;"\
"Nintendo - Famicom Disk System.lpl;"\
"Nintendo - Game Boy Advance (e-Cards).lpl;"\
"Nintendo - Game Boy Advance.lpl;"\
"Nintendo - Game Boy Color.lpl;"\
"Nintendo - Game Boy.lpl;"\
"Nintendo - Nintendo 64.lpl;"\
"Nintendo - Nintendo DS Decrypted.lpl;"\
"Nintendo - Nintendo DS (Download Play) (BETA).lpl;"\
"Nintendo - Nintendo DSi Decrypted.lpl;"\
"Nintendo - Nintendo DSi (DLC).lpl;"\
"Nintendo - Nintendo Entertainment System.lpl;"\
"Nintendo - Satellaview.lpl;"\
"Nintendo - Super Nintendo Entertainment System.lpl;"\
"Nintendo - Virtual Boy.lpl;"\
"Quake1.lpl;"\
"ScummVM.lpl;"\
"Sega - 32X.lpl;"\
"Sega - Game Gear.lpl;"\
"Sega - Master System - Mark III.lpl;"\
"Sega - Mega Drive - Genesis.lpl;"\
"Sega - PICO.lpl;"\
"Sega - SG-1000.lpl;"\
"Sinclair - ZX Spectrum +3.lpl;"\
"SNK - Neo Geo Pocket Color.lpl;"\
"SNK - Neo Geo Pocket.lpl;"\
"Sony - PlayStation Portable.lpl;"\
"Sony - PlayStation.lpl"
RA_PLAYLIST_CORES=""\
"/tmp/cores/stella_libretro.so;"\
"DETECT;"\
"/tmp/cores/prosystem_libretro.so;"\
"/tmp/cores/virtualjaguar_libretro.so;"\
"/tmp/cores/handy_libretro.so;"\
"/tmp/cores/hatari_libretro.so;"\
"/tmp/cores/mednafen_wswan_libretro.so;"\
"/tmp/cores/mednafen_wswan_libretro.so;"\
"/tmp/cores/nxengine_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/prboom_libretro.so;"\
"/tmp/cores/fba_libretro.so;"\
"/tmp/cores/vecx_libretro.so;"\
"/tmp/cores/lutro_libretro.so;"\
"/tmp/cores/o2em_libretro.so;"\
"/tmp/cores/mame_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/mednafen_supergrafx_libretro.so;"\
"/tmp/cores/mednafen_pce_fast_libretro.so;"\
"/tmp/cores/nestopia_libretro.so;"\
"/tmp/cores/mgba_libretro.so;"\
"/tmp/cores/mgba_libretro.so;"\
"/tmp/cores/gambatte_libretro.so;"\
"/tmp/cores/gambatte_libretro.so;"\
"/tmp/cores/mupen64plus_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/nestopia_libretro.so;"\
"/tmp/cores/snes9x_next_libretro.so;"\
"/tmp/cores/snes9x_next_libretro.so;"\
"/tmp/cores/mednafen_vb_libretro.so;"\
"/tmp/cores/tyrquake_libretro.so;"\
"/tmp/cores/scummvm_libretro.so;"\
"/tmp/cores/picodrive_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/picodrive_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/fuse_libretro.so;"\
"/tmp/cores/mednafen_ngp_libretro.so;"\
"/tmp/cores/mednafen_ngp_libretro.so;"\
"/tmp/cores/ppsspp_libretro.so;"\
"/tmp/cores/pcsx_rearmed_libretro.so"
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -1,46 +0,0 @@
# httpd.conf has the following format:
#
# H:/serverroot # define the server root. It will override -h
# A:172.20. # Allow address from 172.20.0.0/16
# A:10.0.0.0/25 # Allow any address from 10.0.0.0-10.0.0.127
# A:10.0.0.0/255.255.255.128 # Allow any address that previous set
# A:127.0.0.1 # Allow local loopback connections
# D:* # Deny from other IP connections
# E404:/path/e404.html # /path/e404.html is the 404 (not found) error page
# I:index.html # Show index.html when a directory is requested
#
# P:/url:[http://]hostname[:port]/new/path
# # When /urlXXXXXX is requested, reverse proxy
# # it to http://hostname[:port]/new/pathXXXXXX
#
# /cgi-bin:foo:bar # Require user foo, pwd bar on urls starting with /cgi-bin/
# /adm:admin:setup # Require user admin, pwd setup on urls starting with /adm/
# /adm:toor:PaSsWd # or user toor, pwd PaSsWd on urls starting with /adm/
# .au:audio/basic # additional mime type for audio.au files
# *.php:/path/php # run xxx.php through an interpreter
#
# A/D may be as a/d or allow/deny - only first char matters.
# Deny/Allow IP logic:
# - Default is to allow all (Allow all (A:*) is a no-op).
# - Deny rules take precedence over allow rules.
# - "Deny all" rule (D:*) is applied last.
#
# Example:
# 1. Allow only specified addresses
# A:172.20 # Allow any address that begins with 172.20.
# A:10.10. # Allow any address that begins with 10.10.
# A:127.0.0.1 # Allow local loopback connections
# D:* # Deny from other IP connections
#
# 2. Only deny specified addresses
# D:1.2.3. # deny from 1.2.3.0 - 1.2.3.255
# D:2.3.4. # deny from 2.3.4.0 - 2.3.4.255
# A:* # (optional line added for clarity)
#
H:/usr/www # define the server root. It will override -h
A:* # Allow address from all ip's
E404:/usr/www/error/404.html # /path/e404.html is the 404 (not found) error page
I:index.html # Show index.html when a directory is requested
*.php:/usr/bin/php-cgi
@@ -1,66 +0,0 @@
# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.
# Be 8 bit clean.
set input-meta on
set output-meta on
# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.
# set convert-meta off
# try to enable the application keypad when it is called. Some systems
# need this to enable the arrow keys.
# set enable-keypad on
# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys
# do not bell on tab-completion
# set bell-style none
# set bell-style visible
# some defaults / modifications for the emacs mode
$if mode=emacs
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert
# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history
# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif
# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line
# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line
$endif
@@ -1 +0,0 @@
SUSPEND_MODULES="jme asix anysee rtl8192se imon r8712u cx23885 cdc_acm ddbridge brcmfmac"
@@ -1,5 +0,0 @@
# transmission with uTP support
# please comment out the follow line to activate this values:
# net.core.wmem_max=1048576
# net.core.rmem_max=4194304
Whitespace-only changes.
@@ -1,256 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="busybox"
PKG_VERSION="1.23.1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.busybox.net"
PKG_URL="http://busybox.net/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_HOST=""
PKG_DEPENDS_TARGET="toolchain busybox:host hdparm dosfstools e2fsprogs zip unzip pciutils usbutils parted"
PKG_DEPENDS_INIT="toolchain"
PKG_PRIORITY="required"
PKG_SECTION="system"
PKG_SHORTDESC="BusyBox: The Swiss Army Knife of Embedded Linux"
PKG_LONGDESC="BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
PKG_MAKE_OPTS_HOST="ARCH=$TARGET_ARCH CROSS_COMPILE= KBUILD_VERBOSE=1 install"
PKG_MAKE_OPTS_TARGET="ARCH=$TARGET_ARCH \
HOSTCC=$HOST_CC \
CROSS_COMPILE=$TARGET_PREFIX \
KBUILD_VERBOSE=1 \
install"
PKG_MAKE_OPTS_INIT="ARCH=$TARGET_ARCH \
HOSTCC=$HOST_CC \
CROSS_COMPILE=$TARGET_PREFIX \
KBUILD_VERBOSE=1 \
install"
# nano text editor
if [ "$NANO_EDITOR" = "yes" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET nano"
fi
# nfs support
if [ "$NFS_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET rpcbind"
fi
if [ -f $PROJECT_DIR/$PROJECT/busybox/busybox-target.conf ]; then
BUSYBOX_CFG_FILE_TARGET=$PROJECT_DIR/$PROJECT/busybox/busybox-target.conf
else
BUSYBOX_CFG_FILE_TARGET=$PKG_DIR/config/busybox-target.conf
fi
if [ -f $PROJECT_DIR/$PROJECT/busybox/busybox-init.conf ]; then
BUSYBOX_CFG_FILE_INIT=$PROJECT_DIR/$PROJECT/busybox/busybox-init.conf
else
BUSYBOX_CFG_FILE_INIT=$PKG_DIR/config/busybox-init.conf
fi
pre_build_target() {
mkdir -p $PKG_BUILD/.$TARGET_NAME
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
}
pre_build_host() {
mkdir -p $PKG_BUILD/.$HOST_NAME
cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
}
pre_build_init() {
mkdir -p $PKG_BUILD/.$TARGET_NAME-init
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME-init
}
configure_host() {
cd $ROOT/$PKG_BUILD/.$HOST_NAME
cp $PKG_DIR/config/busybox-host.conf .config
# set install dir
sed -i -e "s|^CONFIG_PREFIX=.*$|CONFIG_PREFIX=\"$ROOT/$PKG_BUILD/.install_host\"|" .config
make oldconfig
}
configure_target() {
cd $ROOT/$PKG_BUILD/.$TARGET_NAME
cp $BUSYBOX_CFG_FILE_TARGET .config
# set install dir
sed -i -e "s|^CONFIG_PREFIX=.*$|CONFIG_PREFIX=\"$INSTALL\"|" .config
if [ ! "$DEVTOOLS" = yes ]; then
sed -i -e "s|^CONFIG_DEVMEM=.*$|# CONFIG_DEVMEM is not set|" .config
fi
if [ ! "$CRON_SUPPORT" = "yes" ] ; then
sed -i -e "s|^CONFIG_CROND=.*$|# CONFIG_CROND is not set|" .config
sed -i -e "s|^CONFIG_FEATURE_CROND_D=.*$|# CONFIG_FEATURE_CROND_D is not set|" .config
sed -i -e "s|^CONFIG_CRONTAB=.*$|# CONFIG_CRONTAB is not set|" .config
fi
if [ ! "$NFS_SUPPORT" = yes ]; then
sed -i -e "s|^CONFIG_FEATURE_MOUNT_NFS=.*$|# CONFIG_FEATURE_MOUNT_NFS is not set|" .config
fi
if [ ! "$SAMBA_SUPPORT" = yes ]; then
sed -i -e "s|^CONFIG_FEATURE_MOUNT_CIFS=.*$|# CONFIG_FEATURE_MOUNT_CIFS is not set|" .config
fi
# optimize for size
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-Os|"`
CFLAGS=`echo $CFLAGS | sed -e "s|-O.|-Os|"`
# busybox fails to build with GOLD support enabled with binutils-2.25
strip_gold
LDFLAGS="$LDFLAGS -fwhole-program"
make oldconfig
}
configure_init() {
cd $ROOT/$PKG_BUILD/.$TARGET_NAME-init
cp $BUSYBOX_CFG_FILE_INIT .config
# set install dir
sed -i -e "s|^CONFIG_PREFIX=.*$|CONFIG_PREFIX=\"$INSTALL\"|" .config
# optimize for size
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-Os|"`
CFLAGS=`echo $CFLAGS | sed -e "s|-O.|-Os|"`
# busybox fails to build with GOLD support enabled with binutils-2.25
strip_gold
LDFLAGS="$LDFLAGS -fwhole-program"
make oldconfig
}
makeinstall_host() {
mkdir -p $ROOT/$TOOLCHAIN/bin
cp -R $ROOT/$PKG_BUILD/.install_host/bin/* $ROOT/$TOOLCHAIN/bin
}
makeinstall_target() {
mkdir -p $INSTALL/usr/bin
cp $PKG_DIR/scripts/createlog $INSTALL/usr/bin/
cp $PKG_DIR/scripts/lsb_release $INSTALL/usr/bin/
cp $PKG_DIR/scripts/apt-get $INSTALL/usr/bin/
cp $PKG_DIR/scripts/passwd $INSTALL/usr/bin/
cp $PKG_DIR/scripts/sudo $INSTALL/usr/bin/
ln -sf /bin/busybox $INSTALL/usr/bin/env #/usr/bin/env is needed for most python scripts
cp $PKG_DIR/scripts/pastebinit $INSTALL/usr/bin/
ln -sf pastebinit $INSTALL/usr/bin/paste
mkdir -p $INSTALL/usr/lib/openelec
cp $PKG_DIR/scripts/fs-resize $INSTALL/usr/lib/openelec
mkdir -p $INSTALL/etc
cp $PKG_DIR/config/profile $INSTALL/etc
cp $PKG_DIR/config/inputrc $INSTALL/etc
cp $PKG_DIR/config/httpd.conf $INSTALL/etc
cp $PKG_DIR/config/suspend-modules.conf $INSTALL/etc
mkdir -p $INSTALL/usr/config/sysctl.d
cp $PKG_DIR/config/transmission.conf $INSTALL/usr/config/sysctl.d
# /etc/fstab is needed by...
touch $INSTALL/etc/fstab
# /etc/machine-id, needed by systemd and dbus
ln -sf /run/machine-id $INSTALL/etc/machine-id
# /etc/hosts must be writeable
ln -sf /var/cache/hosts $INSTALL/etc/hosts
# /etc/mtab is needed by udisks etc...
ln -sf /proc/self/mounts $INSTALL/etc/mtab
# create /etc/hostname
ln -sf /proc/sys/kernel/hostname $INSTALL/etc/hostname
# systemd wants /usr/bin/mkdir
mkdir -p $INSTALL/usr/bin
ln -sf /bin/busybox $INSTALL/usr/bin/mkdir
# add webroot
mkdir -p $INSTALL/usr/www
echo "It works" > $INSTALL/usr/www/index.html
mkdir -p $INSTALL/usr/www/error
echo "404" > $INSTALL/usr/www/error/404.html
}
post_install() {
ROOT_PWD="`$ROOT/$TOOLCHAIN/bin/cryptpw -m sha512 $ROOT_PASSWORD`"
echo "chmod 4755 $INSTALL/bin/busybox" >> $FAKEROOT_SCRIPT
echo "chmod 000 $INSTALL/etc/shadow" >> $FAKEROOT_SCRIPT
add_user root "$ROOT_PWD" 0 0 "Root User" "/storage" "/bin/sh"
add_group root 0
add_group users 100
add_user nobody x 65534 65534 "Nobody" "/" "/bin/sh"
add_group nogroup 65534
enable_service debug-shell.service
enable_service shell.service
enable_service connman-ncurses.service
enable_service show-version.service
enable_service var.mount
enable_service var-log-debug.service
enable_service fs-resize.service
# cron support
if [ "$CRON_SUPPORT" = "yes" ] ; then
mkdir -p $INSTALL/usr/lib/systemd/system
cp $PKG_DIR/system.d.opt/cron.service $INSTALL/usr/lib/systemd/system
enable_service cron.service
mkdir -p $INSTALL/usr/share/services
cp -P $PKG_DIR/default.d/*.conf $INSTALL/usr/share/services
cp $PKG_DIR/system.d.opt/cron-defaults.service $INSTALL/usr/lib/systemd/system
enable_service cron-defaults.service
fi
}
makeinstall_init() {
mkdir -p $INSTALL/bin
ln -sf busybox $INSTALL/bin/sh
chmod 4755 $INSTALL/bin/busybox
mkdir -p $INSTALL/etc
touch $INSTALL/etc/fstab
ln -sf /proc/self/mounts $INSTALL/etc/mtab
if [ -f $PROJECT_DIR/$PROJECT/initramfs/platform_init ]; then
cp $PROJECT_DIR/$PROJECT/initramfs/platform_init $INSTALL
chmod 755 $INSTALL/platform_init
fi
cp $PKG_DIR/scripts/init $INSTALL
chmod 755 $INSTALL/init
}
@@ -1,12 +0,0 @@
diff -Naur busybox-1.13.2/init/halt.c busybox-1.13.2a/init/halt.c
--- busybox-1.13.2/init/halt.c 2008-11-09 18:28:19.000000000 +0100
+++ busybox-1.13.2a/init/halt.c 2009-02-01 16:38:37.000000000 +0100
@@ -79,7 +79,7 @@
/* Perform action. */
rc = 1;
- if (!(flags & 4)) { /* no -f */
+ if (ENABLE_INIT && !(flags & 4)) { /* no -f */
//TODO: I tend to think that signalling linuxrc is wrong
// pity original author didn't comment on it...
if (ENABLE_FEATURE_INITRD) {
@@ -1,12 +0,0 @@
diff -Naur busybox-1.17.3-old/scripts/trylink busybox-1.17.3-new/scripts/trylink
--- busybox-1.17.3-old/scripts/trylink 2010-09-16 16:05:35.000000000 -0700
+++ busybox-1.17.3-new/scripts/trylink 2010-10-10 07:38:03.000000000 -0700
@@ -49,7 +49,7 @@
local tempname="/tmp/temp.$$.$RANDOM"
# Can use "-o /dev/null", but older gcc tend to *unlink it* on failure! :(
# "-xc": C language. "/dev/null" is an empty source file.
- if $CC $1 -shared -xc /dev/null -o "$tempname".o >/dev/null 2>&1; then
+ if $CC $CFLAGS $LDFLAGS $1 -shared -xc /dev/null -o "$tempname".o >/dev/null 2>&1; then
echo "$1";
else
echo "$2";
@@ -1,20 +0,0 @@
From 5f4085ddb16c206b1dc36d481c2aa6684ba392ee Mon Sep 17 00:00:00 2001
From: Stefan Saraev <[email protected]>
Date: Thu, 18 Jul 2013 19:26:21 +0300
Subject: [PATCH] silence crond startup logging
---
miscutils/crond.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff -Naur busybox-1.23.0/miscutils/crond.c busybox-1.23.0.patch/miscutils/crond.c
--- busybox-1.23.0/miscutils/crond.c 2014-10-04 22:35:59.000000000 +0200
+++ busybox-1.23.0.patch/miscutils/crond.c 2014-12-26 23:07:53.386118290 +0100
@@ -945,7 +945,6 @@
reopen_logfile_to_stderr();
xchdir(G.crontab_dir_name);
- log8("crond (busybox "BB_VER") started, log level %d", G.log_level);
rescan_crontab_dir();
write_pidfile(CONFIG_PID_FILE_PATH "/crond.pid");
@@ -1,26 +0,0 @@
#
# stolen from OpenWRT
#
# https://dev.openwrt.org/attachment/ticket/7993/701-make_unicode_printable.patch
#
--- a/libbb/printable_string.c 2013-01-13 20:06:04.210089516 +0800
+++ b/libbb/printable_string.c 2013-01-13 20:00:27.917211167 +0800
@@ -31,8 +31,6 @@
}
if (c < ' ')
break;
- if (c >= 0x7f)
- break;
s++;
}
@@ -45,7 +43,7 @@
unsigned char c = *d;
if (c == '\0')
break;
- if (c < ' ' || c >= 0x7f)
+ if (c < ' ')
*d = '?';
d++;
}
@@ -1,40 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
message="$message\n There is no working 'apt-get'."
message="$message\n "
message="$message\n 'apt-get' is a command to install, update and remove software which"
message="$message\n is stored in a non local repo. 'apt-get' does nothing then connecting to such"
message="$message\n repo, downloads the software, unpacks the software, updates a big"
message="$message\n local database with all filepaths and other informations about the"
message="$message\n installed software or removes or updates installed Software."
message="$message\n "
message="$message\n With OpenELEC it is not possible to change the system for security and"
message="$message\n stability reasons so even 'apt-get' would not be able to do this."
message="$message\n We also dont have and want to maintain such a repo for various other"
message="$message\n great reasons."
message="$message\n "
message="$message\n Also Ubuntu or Debian packages are often outdated and not compatible"
message="$message\n with OpenELEC"
message="$message\n "
message="$message\n TIP: use XBMC's addon browser to enhance your OpenELEC system"
echo -e $message
exit 1
@@ -1,146 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
# create logfile
DATE=`date -u +%Y-%m-%d-%H.%M.%S`
BASEDIR="/tmp"
LOGDIR="log-$DATE"
RELEASE="`cat /etc/release`"
GIT="`cat /etc/issue |grep git`"
getlog_cmd() {
if which $1 >/dev/null; then
echo "################################################################################" >> $BASEDIR/$LOGDIR/$LOGFILE
echo "# ... output of $@" >> $BASEDIR/$LOGDIR/$LOGFILE
echo "# OpenELEC release: $RELEASE" >> $BASEDIR/$LOGDIR/$LOGFILE
echo "# $GIT" >> $BASEDIR/$LOGDIR/$LOGFILE
echo "################################################################################" >> $BASEDIR/$LOGDIR/$LOGFILE
$@ >> $BASEDIR/$LOGDIR/$LOGFILE 2>/dev/null
echo "" >> $BASEDIR/$LOGDIR/$LOGFILE
fi
}
rm -rf $BASEDIR/$LOGDIR
mkdir -p $BASEDIR/$LOGDIR
# kodi.log
LOGFILE="01_KODI.log"
for i in `find /storage/.kodi/temp/ -type f -name "*.log"`; do
getlog_cmd cat $i
done
# System.log
LOGFILE="02_System.log"
getlog_cmd dmesg
getlog_cmd lsmod
getlog_cmd ps xa
for i in /storage/.config/hwdb.d/*.hwdb \
/storage/.config/modprobe.d/*.conf \
/storage/.config/modules-load.d/*.conf \
/storage/.config/sleep.d/*.power \
/storage/.config/sysctl.d/*.conf \
/storage/.config/udev.rules.d/.rules \
; do
if [ -f "$i" ] ; then
getlog_cmd cat $i
fi
done
if [ -f "/storage/.config/autostart.sh" ] ; then
getlog_cmd cat /storage/.config/autostart.sh
fi
if [ -f "/storage/.config/shutdown.sh" ] ; then
getlog_cmd cat /storage/.config/shutdown.sh
fi
getlog_cmd ls -laR /storage/.config/system.d
# note: we dont add .mount units here as they may contan
# login credentials
for i in /storage/.config/system.d/*.service ; do
if [ -f "$i" -a ! -L "$i" ] ; then
getlog_cmd cat $i
fi
done
# Hardware.log
LOGFILE="03_Hardware.log"
getlog_cmd lspci -vvvvnn
getlog_cmd lsusb -vvv
getlog_cmd lsusb -t
getlog_cmd cat /proc/cpuinfo
getlog_cmd cat /proc/meminfo
# Audio.log
LOGFILE="04_Audio.log"
getlog_cmd aplay -l
getlog_cmd aplay -L
getlog_cmd amixer
# Network.log
LOGFILE="05_Network.log"
getlog_cmd ifconfig -a
getlog_cmd netstat -rn
getlog_cmd netstat -nalp
getlog_cmd connmanctl services
getlog_cmd cat /etc/resolv.conf
# varlog.log
LOGFILE="06_varlog.log"
for i in `find /var/log -type f`; do
getlog_cmd cat $i
done
# Input.log
LOGFILE="07_input.log"
getlog_cmd cat /proc/bus/input/devices
# make RPi users happy
if [ -e /proc/acpi/wakeup ] ; then
getlog_cmd cat /proc/acpi/wakeup
fi
# Filesystem.log
LOGFILE="08_Filesystem.log"
getlog_cmd cat /proc/mounts
getlog_cmd df -h
getlog_cmd blkid
# Journal (current)
LOGFILE="09_Journal-cur.log"
getlog_cmd journalctl --no-pager -b -0
# Journal (prev)
LOGFILE="10_Journal-prev.log"
getlog_cmd journalctl --no-pager -b -1
# addons
LOGFILE="11_Addons.log"
for i in /storage/.kodi/userdata/addon_data/*/*.log \
/storage/.kodi/userdata/addon_data/*/log/* \
; do
if [ -f "$i" ] ; then
getlog_cmd cat $i
fi
done
# pack logfiles
mkdir -p /storage/logfiles
zip -jq /storage/logfiles/log-$DATE.zip $BASEDIR/$LOGDIR/*
# remove logdir
rm -rf $BASEDIR/$LOGDIR
@@ -1,70 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
if [ -e /storage/.please_resize_me ] ; then
# this sh** was never intended to be used
# on already installed and runing system
if [ -d /storage/.kodi -o -d /storage/.config -o -d /storage/.cache ] ; then
rm -f /storage/.please_resize_me
sync
echo "resizing not allowed. rebooting in 15s"
sleep 15
reboot -f
fi
# get the disk. /storage on 2nd partition
PART=$(grep "/storage " /proc/mounts | cut -d" " -f1 | grep '2$')
# get disk: /dev/sdx2 -> /dev/sdx, /dev/mmcblkxp2 -> /dev/mmcblkx
case $PART in
"/dev/mmcblk"*)
DISK=$(echo $PART | sed s/p2$//g)
;;
*)
DISK=$(echo $PART | sed s/2$//g)
;;
esac
rm -f /storage/.please_resize_me
sync
# just in case
if [ ! -z "$DISK" -a ! -z "$PART" ] ; then
# get storage partition start
PART_START=$(parted -s -m $DISK unit b print |grep -v ^/dev |grep -v BYT | grep ^2: | cut -f2 -d ":")
# failed to get partition start offset ?
if [ ! -z "$PART_START" ] ; then
umount $PART
# TODO: clean up debug
echo "resizing /storage..."
echo "this may take a while. please do not reboot or turn off your computer"
echo "... parted -s -m $DISK rm 2"
parted -s -m $DISK rm 2 &>/dev/null
echo "... parted -s -m $DISK unit b mkpart primary $PART_START 100%"
parted -s -m $DISK unit b mkpart primary $PART_START 100% &>/dev/null
echo "... e2fsck -f -p $PART"
e2fsck -f -p $PART &>/dev/null
echo "... resize2fs $PART"
resize2fs $PART &>/dev/null
echo "...done. rebooting in 15s"
sleep 15
fi
fi
fi
reboot -f
@@ -1,732 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
# Copyright (C) 2010-2011 Roman Weber ([email protected])
# Copyright (C) 2012 Yann Cézard ([email protected])
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
# create directories
/bin/busybox mkdir -p /dev
/bin/busybox mkdir -p /proc
/bin/busybox mkdir -p /sys
/bin/busybox mkdir -p /flash
/bin/busybox mkdir -p /sysroot
/bin/busybox mkdir -p /storage
# mount all needed special filesystems
/bin/busybox mount -t devtmpfs devtmpfs /dev
/bin/busybox mount -t proc proc /proc
/bin/busybox mount -t sysfs sysfs /sys
# set needed variables
MODULE_DIR=/lib/modules
UPDATE_DIR=/storage/.update
UPDATE_KERNEL="KERNEL"
UPDATE_SYSTEM="SYSTEM"
IMAGE_KERNEL="KERNEL"
IMAGE_SYSTEM="SYSTEM"
BOOT_STEP="start"
MD5_FAILED="0"
MD5_NOCHECK="0"
SIZE_FAILED="0"
RUN_FSCK="yes"
RUN_FSCK_DISKS=""
NBD_DEVS="0"
FLASH_FREE_MIN="5"
INSTALLED_MEMORY=`cat /proc/meminfo | grep 'MemTotal:' | awk '{print $2}'`
SYSTEM_TORAM_LIMIT=1024000
# hide kernel log messages on console
echo '1 4 1 7' > /proc/sys/kernel/printk
# run platform_init script if exists
if [ -f "./platform_init" ]; then
./platform_init
fi
# clear screen and hide cursor
clear
if [ -f /sys/devices/virtual/graphics/fbcon/cursor_blink ] ; then
echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
fi
# parse command line arguments
for arg in $(cat /proc/cmdline); do
case $arg in
BOOT_IMAGE=*)
IMAGE_KERNEL="${arg#*=}"
;;
SYSTEM_IMAGE=*)
IMAGE_SYSTEM="${arg#*=}"
;;
boot=*)
boot="${arg#*=}"
case $boot in
ISCSI=*|NBD=*|NFS=*)
UPDATE_DISABLED=yes
FLASH_NETBOOT=yes
;;
/dev/*|LABEL=*|UUID=*)
RUN_FSCK_DISKS="$RUN_FSCK_DISKS $boot"
;;
esac
;;
disk=*)
disk="${arg#*=}"
case $disk in
ISCSI=*|NBD=*|NFS=*)
STORAGE_NETBOOT=yes
;;
/dev/*|LABEL=*|UUID=*)
RUN_FSCK_DISKS="$RUN_FSCK_DISKS $disk"
;;
esac
;;
wol_mac=*)
wol_mac="${arg#*=}"
;;
wol_wait=*)
wol_wait="${arg#*=}"
;;
textmode)
INIT_UNIT="--unit=textmode.target"
;;
installer)
INIT_UNIT="--unit=installer.target"
;;
debugging)
DEBUG=yes
;;
progress)
PROGRESS=yes
INIT_ARGS="$INIT_ARGS --show-status=1"
;;
nofsck)
RUN_FSCK=no
;;
nosplash)
SPLASH=no
;;
noram)
SYSTEM_TORAM=no
;;
overlay)
OVERLAY=yes
;;
break=*)
BREAK="${arg#*=}"
;;
esac
done
if test "$DEBUG" = "yes"; then
exec 3>&1
else
exec 3>/dev/null
fi
SILENT_OUT=3
progress() {
if test "$PROGRESS" = "yes"; then
echo "### $1 ###"
fi
}
debug_shell() {
echo "### Starting debugging shell... type exit to quit ###"
# show cursor
echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
sh </dev/tty1 >/dev/tty1 2>&1
}
error() {
# Display fatal error message
# $1:action which caused error, $2:message
echo "*** Error in $BOOT_STEP: $1: $2 ***"
debug_shell
}
break_after() {
# Start debug shell after boot step $1
case $BREAK in
all|*$1*)
debug_shell
;;
esac
}
# Mount handlers
# All handlers take the following parameters:
# $1:target, $2:mountpoint, $3:mount options, [$4:fs type]
mount_common() {
# Common mount handler, handles block devices and filesystem images
MOUNT_OPTIONS="-o $3"
[ -n "$4" ] && MOUNT_OPTIONS="-t $4 $MOUNT_OPTIONS"
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
ERR_ENV=1
mount $MOUNT_OPTIONS $1 $2 >&$SILENT_OUT 2>&1
[ "$?" -eq "0" ] && ERR_ENV=0 && break
usleep 1000000
done
[ "$ERR_ENV" -ne "0" ] && error "mount_common" "Could not mount $1"
}
get_iscsistart_options() {
# Convert kernel commandline ISCSI= options to iscsistart options
IFS_SAVE="$IFS"
IFS=,
for arg in $1; do
val="${arg#*=}"
case "$arg" in
iscsi_initiator=*)
option="-i"
;;
iscsi_target_name=*)
option="-t"
;;
iscsi_target_ip=*)
option="-a"
;;
iscsi_target_port=*)
option="-p"
;;
iscsi_target_group=*)
option="-g"
;;
iscsi_username=*)
option="-u"
;;
iscsi_password=*)
option="-w"
;;
iscsi_in_username=*)
option="-U"
;;
iscsi_in_password=*)
option="-W"
;;
esac
echo "$option $val"
done
IFS="$IFS_SAVE"
}
mount_iscsi() {
# Mount iSCSI target
ISCSI_DEV="${1##*,}"
ISCSI_OPTIONS="${1%,*}"
if [ ! -f "/sbin/iscsistart" ]; then
error "iscsistart" "iSCSI support not available"
fi
if [ "$ISCSI_OPTIONS" = "auto" ]; then
progress "Network configuration based on iBFT"
/sbin/iscsistart -N >&$SILENT_OUT 2>&1 || \
error "iscsistart" "Unable to configure network"
progress "iSCSI auto connect based on iBFT"
/sbin/iscsistart -b >&$SILENT_OUT 2>&1 || \
error "iscsistart" "Unable to auto connect"
else
/sbin/iscsistart $(get_iscsistart_options "$ISCSI_OPTIONS") >&$SILENT_OUT 2>&1 || \
error "iscsistart" "Unable to connect to ISCSI target"
fi
mount_common "$ISCSI_DEV" "$2" "$3" "$4"
}
mount_nbd() {
# Mount NBD device
NBD_SERVER="${1%%:*}"
NBD_PORT="${1#*:}"
NBD_DEV="/dev/nbd$NBD_DEVS"
nbd-client $NBD_SERVER $NBD_PORT $NBD_DEV >&$SILENT_OUT 2>&1 || \
error "nbd-client" "Could not connect to NBD server $1"
mount_common "$NBD_DEV" "$2" "$3" "$4"
NBD_DEVS=$(( ${NBD_DEVS} + 1 ))
}
mount_nfs() {
# Mount NFS export
NFS_EXPORT="${1%%,*}"
NFS_OPTIONS="${1#*,}"
[ "$NFS_OPTIONS" = "$1" ] && NFS_OPTIONS=
mount_common "$NFS_EXPORT" "$2" "$3,nolock,soft,timeo=3,retrans=2,rsize=32768,wsize=32768,$NFS_OPTIONS" "nfs"
}
mount_part() {
# Mount a local or network filesystem
# $1:[TYPE=]target, $2:mountpoint, $3:mount options, [$4:fs type]
progress "mount filesystem $1 ..."
MOUNT_TARGET="${1#*=}"
case $1 in
LABEL=*|UUID=*|/*)
MOUNT_CMD="mount_common"
MOUNT_TARGET="$1"
;;
ISCSI=*)
MOUNT_CMD="mount_iscsi"
;;
NBD=*)
MOUNT_CMD="mount_nbd"
;;
NFS=*)
MOUNT_CMD="mount_nfs"
;;
*)
error "mount_part" "Unknown filesystem $1"
;;
esac
$MOUNT_CMD "$MOUNT_TARGET" "$2" "$3" "$4"
}
update_file() {
if [ -f "$UPDATE_DIR/$2" -a -f "$3" ]; then
echo "updating $1..."
mount -o remount,rw /flash
mv $UPDATE_DIR/$2 $3 2>/dev/null
# loopback file needs writable /flash all the time
if [ "${disk%%=*}" != "FILE" ]; then
mount -o remount,ro /flash
fi
sync
fi
}
update_partition() {
if [ -f "$UPDATE_DIR/$2" -a -b "$3" ]; then
echo "updating $1..."
dd if="$UPDATE_DIR/$2" of="$3"
fi
}
update_bootloader() {
export BOOT_ROOT="/flash"
export SYSTEM_ROOT="/sysroot"
mount_part "/flash/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
if [ -f $SYSTEM_ROOT/usr/share/bootloader/update.sh ]; then
echo "updating Bootloader..."
sh $SYSTEM_ROOT/usr/share/bootloader/update.sh
sync
fi
umount /sysroot
}
load_modules() {
progress "Loading kernel modules"
[ ! -f "/etc/modules" ] && return
for module in $(cat /etc/modules); do
progress "Loading kernel module $module"
insmod "$MODULE_DIR/$module.ko" || \
progress "... Failed to load kernel module $module, skipping"
done
}
load_splash() {
if [ ! "$SPLASH" = "no" ]; then
progress "Loading bootsplash"
SPLASHIMAGE="/splash/splash-full.png"
# load uvesafb module if needed
if [ -f "$MODULE_DIR/uvesafb.ko" -a ! -e /dev/fb0 ]; then
progress "Loading kernel module uvesafb.ko"
insmod "$MODULE_DIR/uvesafb.ko" || \
progress "... Failed to load kernel module uvesafb, skipping"
# set framebuffer to a default resolution (1024x768-32)
if [ ! "$SWITCH_FRAMEBUFFER" = "no" ]; then
fbset -g 1024 768 1024 768 32
SPLASHIMAGE="/splash/splash-1024.png"
fi
fi
if [ -e /dev/fb0 ]; then
# load splash
if [ -f /flash/oemsplash.png ]; then
SPLASHIMAGE="/flash/oemsplash.png"
elif [ -f /splash/splash.conf ]; then
. /splash/splash.conf
fi
ply-image $SPLASHIMAGE > /dev/null 2>&1
fi
fi
}
do_reboot() {
echo "System reboots now..."
# syncing filesystem
sync
# unmount filesystems
if /bin/busybox mountpoint -q /flash ; then
/bin/busybox umount /flash
fi
if /bin/busybox mountpoint -q /storage ; then
/bin/busybox umount /storage
fi
usleep 2000000
/bin/busybox reboot
}
force_fsck() {
echo "Filesystem corruption has been detected"
echo "To prevent an automatic repair attempt continuing"
echo "press any key or power off your system within the next 120 seconds"
echo ""
read -t120 -n1
# The exit status is 0 if input is available
# The exit status is greater than 128 if the timeout is exceeded
if [ "$?" -ne "0" -o "$?" -gt "128" ] ; then
echo "repairing filesystem.."
echo ""
/sbin/fsck -T -M -y $RUN_FSCK_DISKS
FSCK_RET="$?"
if [ "$(( $FSCK_RET & 8 ))" = 8 ] ; then
# fubar
echo "Forced fsck failed. Your system is broken beyond repair"
echo "Please re-install OpenELEC"
echo ""
echo "Press enter to shutdown now"
echo ""
read fubar
poweroff
fi
do_reboot
else
echo "shutting down..."
sleep 5
sync
poweroff
fi
}
check_disks() {
if [ "$RUN_FSCK" = "yes" -a -n "$RUN_FSCK_DISKS" ]; then
progress "Checking disk(s): $RUN_FSCK_DISKS"
/sbin/fsck -T -M -p -a $RUN_FSCK_DISKS > /dev/null 2>&1
FSCK_RET="$?"
# FSCK_RET is the bit-wise OR of the exit codes for each filesystem that is checked.
if [ "$(( $FSCK_RET & 4 ))" = 4 ] ; then
# errors left
force_fsck
elif [ "$(( $FSCK_RET & 2 ))" = 2 ] ; then
# reboot needed
echo "filesystem repaired, reboot needed..."
do_reboot
elif [ "$(( $FSCK_RET & 1 ))" = 1 ] ; then
# filesystem errors corrected
progress "filesystem errors corrected , continuing..."
elif [ "$(( $FSCK_RET & 0 ))" = 0 ] ; then
# no errors found
progress "no filesystem errors found, continuing..."
fi
fi
}
wakeonlan() {
if [ "$STORAGE_NETBOOT" = "yes" ]; then
wol_ip=${disk%:*}
wol_ip=${wol_ip#*=}
elif [ "$FLASH_NETBOOT" = "yes" ]; then
wol_ip=${boot%:*}
wol_ip=${wol_ip#*=}
else
return 0
fi
if [ -n "$wol_ip" -a -n "$wol_mac" -a -n "$wol_wait" ]; then
progress "Sending Magic Packet (WOL) if needed"
if ! ping -q -c 2 "$wol_ip" &>/dev/null; then
ether-wake "$wol_mac"
sleep "$wol_wait"
fi
fi
}
mount_flash() {
progress "Mounting flash"
wakeonlan
mount_part "$boot" "/flash" "ro,noatime"
}
mount_storage() {
progress "Mounting storage"
wakeonlan
if [ -n "$disk" ]; then
if [ -n "$OVERLAY" ]; then
OVERLAY_DIR=`cat /sys/class/net/eth0/address | tr -d :`
mount_part "$disk" "/storage" "rw,noatime"
mkdir -p /storage/$OVERLAY_DIR
umount /storage
# split $disk into $target,$options so we can append $OVERLAY_DIR
options="${disk#*,}"
target="${disk%%,*}"
if [ "$options" = "$disk" ]; then
disk="$target/$OVERLAY_DIR"
else
disk="$target/$OVERLAY_DIR,$options"
fi
fi
mount_part "$disk" "/storage" "rw,noatime"
fi
}
check_update() {
progress "Checking for updates"
UPDATE_TAR=`ls -1 "$UPDATE_DIR"/*.tar 2>/dev/null | head -n 1`
if [ -f "$UPDATE_DIR/$UPDATE_KERNEL" -a -f "$UPDATE_DIR/$UPDATE_SYSTEM" -o -f "$UPDATE_TAR" ] ; then
if [ "$UPDATE_DISABLED" = "yes" ] ; then
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
echo "Updating not supported on netboot. normal startup in 10s..."
sync
usleep 10000000
return 0
fi
# check for .tar
if [ -f "$UPDATE_TAR" ] ; then
echo "Found new .tar archive. extracting..."
mkdir -p $UPDATE_DIR/.tmp &>/dev/null
tar -xf "$UPDATE_TAR" -C $UPDATE_DIR/.tmp &>/dev/null
mv $UPDATE_DIR/.tmp/*/target/* $UPDATE_DIR &>/dev/null
rm -f "$UPDATE_TAR" &>/dev/null
rm -rf $UPDATE_DIR/.tmp &>/dev/null
sync
if [ ! -f "$UPDATE_DIR/$UPDATE_KERNEL" -o ! -f "$UPDATE_DIR/$UPDATE_SYSTEM" ] ; then
echo "missing ${UPDATE_KERNEL} or ${UPDATE_SYSTEM}... normal startup in 10s"
sync
usleep 10000000
return 0
fi
fi
if [ -f "$UPDATE_DIR/.nocheck" ] ; then
MD5_NOCHECK="1"
fi
# check md5 sums if .nocheck doesn't exist
if [ "$MD5_NOCHECK" -eq "0" ] ; then
if [ -f "$UPDATE_DIR/${UPDATE_KERNEL}.md5" -a -f "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" ] ; then
# *.md5 size-check
if [ ! -s "$UPDATE_DIR/${UPDATE_KERNEL}.md5" -o ! -s "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" ] ; then
echo "zero-sized .md5 file..."
MD5_FAILED="1"
else
sed -i 's#target#/storage/.update#g' "$UPDATE_DIR/${UPDATE_KERNEL}.md5"
sed -i 's#target#/storage/.update#g' "$UPDATE_DIR/${UPDATE_SYSTEM}.md5"
echo "Checking ${UPDATE_KERNEL}.md5..."
md5sum -c "$UPDATE_DIR/${UPDATE_KERNEL}.md5" || MD5_FAILED="1"
echo "Checking ${UPDATE_SYSTEM}.md5..."
md5sum -c "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" || MD5_FAILED="1"
fi
else
echo "missing ${UPDATE_KERNEL}.md5 or ${UPDATE_SYSTEM}.md5..."
MD5_FAILED="1"
fi
fi
# get sizes
FLASH_FREE=$(df /flash/ | awk '/[0-9]%/{print $4}')
FLASH_FREE=$(( $FLASH_FREE * 1024 ))
OLD_KERNEL="0"
if [ ! -b $IMAGE_KERNEL ]; then
OLD_KERNEL=$(stat -t "/flash/$IMAGE_KERNEL" | awk '{print $2}')
fi
OLD_SYSTEM=$(stat -t "/flash/$IMAGE_SYSTEM" | awk '{print $2}')
NEW_KERNEL=$(stat -t "$UPDATE_DIR/$UPDATE_KERNEL" | awk '{print $2}')
NEW_SYSTEM=$(stat -t "$UPDATE_DIR/$UPDATE_SYSTEM" | awk '{print $2}')
# old KERNEL+SYSTEM+free space - new KERNEL+SYSTEM must be higher then 5MB
# at least 5MB free after update
TMP_SIZE=$(($OLD_KERNEL+$OLD_SYSTEM+$FLASH_FREE-$NEW_KERNEL-$NEW_SYSTEM))
FLASH_FREE_MIN=$(($FLASH_FREE_MIN*1024*1024))
if [ $TMP_SIZE -ge $FLASH_FREE_MIN ]; then
echo "Checking size: OK"
else
echo "Checking size: FAILED"
SIZE_FAILED="1"
fi
# update if size check is ok
if [ "$SIZE_FAILED" -eq "0" ] ; then
# update if md5 check is ok or .nocheck exists
if [ "$MD5_FAILED" -eq "0" -o "$MD5_NOCHECK" -eq "1" ] ; then
if [ -b $IMAGE_KERNEL ]; then
update_partition "Kernel" "$UPDATE_KERNEL" "$IMAGE_KERNEL"
else
update_file "Kernel" "$UPDATE_KERNEL" "/flash/$IMAGE_KERNEL"
fi
update_file "System" "$UPDATE_SYSTEM" "/flash/$IMAGE_SYSTEM"
update_bootloader
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
do_reboot
else
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
echo "md5 check failed. normal startup in 30s..."
sync
usleep 30000000
fi
else
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
echo "size check failed. normal startup in 30s..."
sync
usleep 30000000
fi
fi
}
prepare_sysroot() {
progress "Preparing system"
if [ "$SYSTEM_TORAM" = "no" -o "$INSTALLED_MEMORY" -lt "$SYSTEM_TORAM_LIMIT" ]; then
mount_part "/flash/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
else
cp /flash/$IMAGE_SYSTEM /dev/$IMAGE_SYSTEM
mount_part "/dev/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
fi
mount --move /flash /sysroot/flash
if [ -n "$disk" ]; then
mount --move /storage /sysroot/storage
fi
if [ ! -d "/sysroot/lib/modules/$(uname -r)/" -a -f "/sysroot/usr/lib/systemd/systemd" ]; then
echo ""
echo "NEVER TOUCH boot= in extlinux.conf / cmdline.txt"
echo "if you dont know what you are doing"
echo ""
echo "your installation is now broken"
echo ""
echo "normal boot in 60s..."
usleep 60000000
fi
[ -f "/sysroot/usr/lib/systemd/systemd" ] || error "final_check" "Could not find system."
}
if [ "${boot%%=*}" = "FILE" ]; then
error "check arguments" "boot argument can't be FILE type..."
fi
# main boot sequence
for BOOT_STEP in \
load_modules \
check_disks \
mount_flash \
load_splash \
mount_storage \
check_update \
prepare_sysroot; do
$BOOT_STEP
[ -n "$DEBUG" ] && break_after $BOOT_STEP
done
BOOT_STEP=final
# log if booting from usb / removable storage
STORAGE=$(cat /proc/mounts | grep " /sysroot/storage " | awk '{print $1}' | awk -F '/' '{print $3}')
FLASH=$(cat /proc/mounts | grep " /sysroot/flash " | awk '{print $1}' | awk -F '/' '{print $3}')
for i in $STORAGE $FLASH ; do
if [ -n "$i" ] ; then
removable="/sys/class/block/*/$i/../removable"
if [ -e $removable ] ; then
if [ "$(cat $removable 2>/dev/null)" = "1" ] ; then
echo "### BIG FAT WARNING" > /dev/kmsg
echo "### $i is removable. suspend/resume may not work" > /dev/kmsg
fi
fi
fi
done
# move some special filesystems
/bin/busybox mount --move /dev /sysroot/dev
/bin/busybox mount --move /proc /sysroot/proc
/bin/busybox mount --move /sys /sysroot/sys
# tell OE settings addon to disable updates
if [ "$UPDATE_DISABLED" = "yes" ] ; then
echo "" > /sysroot/dev/.update_disabled
fi
# swap can not be used over nfs.(see scripts/mount-swap)
if [ "$STORAGE_NETBOOT" = "yes" ] ; then
echo "" > /sysroot/dev/.storage_netboot
fi
if [ -f /sysroot/storage/.please_connect_me ] ; then
INIT_UNIT="--unit=connman-ncurses.target"
fi
if [ -f /sysroot/storage/.please_resize_me ] ; then
INIT_UNIT="--unit=fs-resize.target"
fi
BACKUP_FILE=`ls -1 /sysroot/storage/.restore/??????????????.tar 2>/dev/null | head -n 1`
if [ -f "$BACKUP_FILE" ] ; then
INIT_UNIT="--unit=backup-restore.target"
fi
if [ -f /sysroot/storage/.cache/reset_oe -o -f /sysroot/storage/.cache/reset_xbmc ] ; then
INIT_UNIT="--unit=factory-reset.target"
fi
# switch to new sysroot and start real init
exec /bin/busybox switch_root /sysroot /usr/lib/systemd/systemd $INIT_ARGS $INIT_UNIT
error "switch_root" "Error in initramfs. Could not switch to new root"
@@ -1,34 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
message="$message\n There is no working 'passwd'."
message="$message\n"
message="$message\n The 'passwd' command changes passwords for user accounts."
message="$message\n"
message="$message\n With OpenELEC it is not possible to change the system password"
message="$message\n"
message="$message\n SSH is included only as a last support resort. SSH is off by default."
message="$message\n Most users never need SSH and need help using it so we need a default"
message="$message\n password. If you need to keep SSH always on then this is unsupported"
message="$message\n but can be secured with certificates."
message="$message\n"
message="$message\n TIP: disable password authentication in ssh and use public key authentication."
echo -e $message
@@ -1,97 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/suspend-modules.conf
modunload()
{
local MOD D C USED MODS I
local UNL="$(echo $1 |tr - _)" RET=1
while read MOD D C USED D; do
[ "$MOD" = "$UNL" ] || continue
if [ "$USED" = "-" ]; then
# no dependent modules, just try to remove this one.
_rmmod "$MOD" $C
RET=$?
else
# modules depend on this one. try to remove them first.
MODS=",${USED%,}"
while [ -n "${MODS}" ]; do
# try to unload the last one first
MOD="${MODS##*,}"
modunload $MOD && RET=0
# prune the last one from the list
MODS="${MODS%,*}"
done
# if we unloaded at least one module, then let's
# try again!
[ $RET -eq 0 ] && modunload $MOD
RET=$?
fi
return $RET
done < /proc/modules
# if we came this far, there was nothing to do,
# the module is no longer loaded.
return 0
}
_rmmod()
{
if modprobe -r "$1"; then
touch "/run/openelec/suspend/module:$1"
return 0
else
logger -t suspend-modules "# could not unload '$1', usage count was $2"
return 1
fi
}
resume_modules()
{
for x in /run/openelec/suspend/module:* ; do
[ -O "${x}" ] || continue
modprobe "${x##*:}" &>/dev/null && \
logger -t resume-modules "Reloaded module ${x##*:}." || \
logger -t resume-modules "Could not reload module ${x##*:}."
done
}
suspend_modules()
{
[ -z "$SUSPEND_MODULES" ] && return 0
# clean up
rm -rf /run/openelec/suspend
mkdir -p /run/openelec/suspend
for x in $SUSPEND_MODULES ; do
modunload $x && \
logger -t suspend-modules "Unloading kernel module $x: Done" || \
logger -t suspend-modules "Unloading kernel module $x: Failed"
done
return 0
}
case $1 in
pre)
suspend_modules
;;
post)
resume_modules
;;
esac
@@ -1 +0,0 @@
kernel.core_pattern=/storage/.cache/cores/core.%E.%t.%p
@@ -1,2 +0,0 @@
dev.cdrom.lock=0
dev.cdrom.autoclose=0
@@ -1 +0,0 @@
vm.min_free_kbytes=16384
@@ -1,11 +0,0 @@
[Unit]
Description=Cron defaults
After=local-fs.target
ConditionPathExists=!/storage/.cache/services/crond.conf
ConditionPathExists=!/storage/.cache/services/crond.disabled
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'cp /usr/share/services/crond.conf /storage/.cache/services/'
RemainAfterExit=yes
@@ -1,16 +0,0 @@
[Unit]
Description=Cron daemon
After=cron-defaults.service
Requires=cron-defaults.service
ConditionPathExists=/storage/.cache/services/crond.conf
[Service]
ExecStartPre=/bin/mkdir -p /storage/.cache/cron/crontabs
ExecStart=/sbin/crond -f -S
KillMode=process
TimeoutStopSec=1s
[Install]
WantedBy=multi-user.target
@@ -1,22 +0,0 @@
[Unit]
Description=Wifi Menu
After=multi-user.target
[Service]
Environment=TTY=1
WorkingDirectory=/storage
ExecStart=/bin/sh -c 'clear; echo fufuu; . /etc/profile; exec /usr/bin/connman-ncurses'
Restart=always
RestartSec=0
StandardInput=tty
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
KillMode=process
IgnoreSIGPIPE=no
# bash ignores SIGTERM
KillSignal=SIGHUP
[Install]
WantedBy=connman-ncurses.target
@@ -1,6 +0,0 @@
[Unit]
Description=Wifi Menu
Requires=multi-user.target
After=multi-user.target
Conflicts=rescue.target
AllowIsolate=yes
@@ -1,25 +0,0 @@
[Unit]
Description=Debug Shell
DefaultDependencies=no
ConditionKernelCommandLine=|tty
ConditionKernelCommandLine=|debugging
ConditionPathExists=|/storage/.cache/debug.openelec
[Service]
Environment=TTY=3
WorkingDirectory=/storage
ExecStart=/bin/sh -c '. /etc/profile; exec /bin/sh'
Restart=always
RestartSec=0
StandardInput=tty
TTYPath=/dev/tty3
TTYReset=yes
TTYVHangup=yes
KillMode=process
IgnoreSIGPIPE=no
# bash ignores SIGTERM
KillSignal=SIGHUP
[Install]
WantedBy=sysinit.target
@@ -1,10 +0,0 @@
[Unit]
Description=FS Resize
DefaultDependencies=no
[Service]
Type=idle
ExecStart=/usr/lib/openelec/fs-resize
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
@@ -1,5 +0,0 @@
[Unit]
Description=FS Resize target
Requires=fs-resize.service
After=fs-resize.service
AllowIsolate=yes
@@ -1,22 +0,0 @@
[Unit]
Description=Textmode Shell
After=multi-user.target
[Service]
Environment=TTY=1
WorkingDirectory=/storage
ExecStart=/bin/sh -c 'clear; lsb_release; . /etc/profile; exec /bin/sh'
Restart=always
RestartSec=0
StandardInput=tty
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
KillMode=process
IgnoreSIGPIPE=no
# bash ignores SIGTERM
KillSignal=SIGHUP
[Install]
WantedBy=textmode.target
@@ -1,13 +0,0 @@
[Unit]
Description=Show Version
DefaultDependencies=false
ConditionKernelCommandLine=!morequiet
[Service]
Type=oneshot
ExecStart=/usr/bin/lsb_release
RemainAfterExit=yes
#StandardOutput=tty
[Install]
WantedBy=basic.target
@@ -1,6 +0,0 @@
[Unit]
Description=Textmode
Requires=multi-user.target
After=multi-user.target
Conflicts=rescue.target
AllowIsolate=yes
@@ -1,18 +0,0 @@
[Unit]
Description=Debug /var/log relink
DefaultDependencies=false
After=var.mount
Before=systemd-journal-flush.service
ConditionKernelCommandLine=!installer
ConditionKernelCommandLine=|debugging
ConditionPathExists=|/storage/.cache/debug.openelec
[Service]
Type=oneshot
ExecStartPre=/bin/rm -rf /var/log
ExecStartPre=-/bin/mkdir -p /storage/log/journal
ExecStart=-/bin/ln -sf /storage/log /var/log
RemainAfterExit=yes
[Install]
WantedBy=sysinit.target
@@ -1,22 +0,0 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Variable Directory
Documentation=man:hier(7)
Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
[Mount]
What=tmpfs
Where=/var
Type=tmpfs
[Install]
WantedBy=local-fs.target
Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

-338
View File
@@ -1,338 +0,0 @@
# Name of the Distro to build (full name, without special characters)
DISTRONAME="Lakka"
# short project description
DESCRIPTION="The DIY retro emulation console"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="###########################################"
GREETING1="# Lakka - The DIY retro emulation console #"
GREETING2="# ...... visit http://www.lakka.tv ...... #"
GREETING3="###########################################"
GREETING4=""
# Root password to integrate in the target system
ROOT_PASSWORD="root"
# Mediacenter to use (kodi / no)
MEDIACENTER="no"
# Skins to install (Confluence)
# Space separated list is supported,
# e.g. SKINS="Confluence"
SKINS="Confluence"
# Default Skin (Confluence)
SKIN_DEFAULT="Confluence"
# install extra subtitle Fonts for KODI (yes / no)
KODI_EXTRA_FONTS="yes"
# build and install 'RSXS' Screensaver (yes / no)
KODI_SCR_RSXS="yes"
# build and install 'ProjectM' Visualization (yes / no)
KODI_VIS_PROJECTM="yes"
# build and install 'GOOM' Visualization (yes / no)
KODI_VIS_GOOM="yes"
# build and install 'Waveform' Visualization (yes / no)
KODI_VIS_WAVEFORM="yes"
# build and install 'Spectrum' Visualization (yes / no)
KODI_VIS_SPECTRUM="yes"
# build and install 'FishBMC' Visualization (yes / no)
# does not work on RPi
KODI_VIS_FISHBMC="yes"
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="no"
# build and install espeak support (yes / no)
ESPEAK_SUPPORT="yes"
# build and install with non-free support
# (RAR compression support in KODI) (yes / no)
KODI_NONFREE_SUPPORT="yes"
# build and install with BluRay support (yes / no)
KODI_BLURAY_SUPPORT="yes"
# build and install with BD+ support
# (BD+ decryption support in KODI) (yes / no)
BLURAY_BDPLUS_SUPPORT="yes"
# build and install with AACS support
# (BD decryption support in KODI) (yes / no)
BLURAY_AACS_SUPPORT="yes"
# build and install with DVDCSS support
# (DVD decryption support in KODI) (yes / no)
KODI_DVDCSS_SUPPORT="yes"
# additional drivers to install:
# for a list of additinoal drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="yes"
# build and install with KODI webfrontend (yes / no)
KODI_WEBSERVER_SUPPORT="yes"
# build and install Avahi (Zeroconf) daemon (yes / no)
AVAHI_DAEMON="yes"
# build with UPnP support (yes / no)
KODI_UPNP_SUPPORT="yes"
# build with MySQL support (yes / no)
KODI_MYSQL_SUPPORT="yes"
# build xbmc with sshlib support (yes / no)
KODI_SSHLIB_SUPPORT="yes"
# build xbmc with optical drive support (yes / no)
KODI_OPTICAL_SUPPORT="yes"
# KODI Audio encoders for usage with optical drive support
# Space separated list is supported,
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
KODI_AIRPLAY_SUPPORT="yes"
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
KODI_AIRTUNES_SUPPORT="yes"
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
KODI_NFS_SUPPORT="yes"
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
KODI_AFP_SUPPORT="no"
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
KODI_SAMBA_SUPPORT="yes"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="yes"
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
SAMBA_SUPPORT="yes"
# build and install Samba Server (yes / no)
SAMBA_SERVER="yes"
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install PPP support (yes / no)
PPTP_SUPPORT="yes"
# build and install OpenVPN support (yes / no)
OPENVPN_SUPPORT="yes"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# build and install exFAT fuse support (yes / no)
EXFAT="yes"
# build and install NTFS-3G fuse support (yes / no)
NTFS3G="yes"
# build and install hfs filesystem utilities (yes / no)
HFSTOOLS="yes"
# Windowmanager to use (ratpoison / fluxbox / none)
WINDOWMANAGER="none"
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
# Space separated list is supported,
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
if [ "$TARGET_ARCH" = "i386" ]; then
# TODO: create Legacy build with OpenELEC-4.2
# install legacy drivers to i386 ARCH
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nouveau"
elif [ "$TARGET_ARCH" = "x86_64" ]; then
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nouveau"
fi
# build and install remote support (yes / no)
REMOTE_SUPPORT="no"
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# build and install IRServer IR/LCD support (yes / no)
IRSERVER_SUPPORT="no"
# build and install Joystick support (yes / no)
JOYSTICK_SUPPORT="yes"
# build and install CEC adapter support (yes / no)
CEC_SUPPORT="yes"
# build and install iSCSI support - iscsistart (yes / no)
ISCSI_SUPPORT="yes"
# LCD driver to Use - Possible drivers are ( Comma seperated:
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
# picolcd,pyramid,sed1330,sed1520,serialPOS,
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
# 'all' compiles all drivers;
# 'all,!xxx,!yyy' de-selects previously selected drivers
# "none" for disable LCD support
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build with swap support (yes / no)
SWAP_SUPPORT="no"
# swap support enabled per default (yes / no)
SWAP_ENABLED_DEFAULT="no"
# swapfile size if SWAP_SUPPORT=yes in MB
SWAPFILESIZE="256"
# build with installer (yes / no)
INSTALLER_SUPPORT="yes"
# Testpackages for development (yes / no)
TESTING="no"
# OEM packages for OEM's (yes / no)
OEM_SUPPORT="yes"
# build and install nano text editor (yes / no)
NANO_EDITOR="yes"
# cron support (yes / no)
CRON_SUPPORT="yes"
# Perf support in development builds (yes / no)
PERF_SUPPORT="yes"
# Distribution Specific source location
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
# Addon Server Url
ADDON_SERVER_URL="http://addons.openelec.tv"
# set the addon dirs
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
LAKKA_MIRROR="http://sources.lakka.tv"
RA_PLAYLIST_NAMES=""\
"Atari - 2600.lpl;"\
"Atari - 5200.lpl;"\
"Atari - 7800.lpl;"\
"Atari - Jaguar.lpl;"\
"Atari - Lynx.lpl;"\
"Atari - ST.lpl;"\
"Bandai - WonderSwan Color.lpl;"\
"Bandai - WonderSwan.lpl;"\
"Cave Story.lpl;"\
"Coleco - ColecoVision.lpl;"\
"DOOM.lpl;"\
"FB Alpha - Arcade Games.lpl;"\
"GCE - Vectrex.lpl;"\
"Lutro.lpl;"\
"Magnavox - Odyssey2.lpl;"\
"MAME.lpl;"\
"Microsoft - MSX2.lpl;"\
"Microsoft - MSX.lpl;"\
"NEC - PC Engine SuperGrafx.lpl;"\
"NEC - PC Engine - TurboGrafx 16.lpl;"\
"Nintendo - Famicom Disk System.lpl;"\
"Nintendo - Game Boy Advance (e-Cards).lpl;"\
"Nintendo - Game Boy Advance.lpl;"\
"Nintendo - Game Boy Color.lpl;"\
"Nintendo - Game Boy.lpl;"\
"Nintendo - Nintendo 64.lpl;"\
"Nintendo - Nintendo DS Decrypted.lpl;"\
"Nintendo - Nintendo DS (Download Play) (BETA).lpl;"\
"Nintendo - Nintendo DSi Decrypted.lpl;"\
"Nintendo - Nintendo DSi (DLC).lpl;"\
"Nintendo - Nintendo Entertainment System.lpl;"\
"Nintendo - Satellaview.lpl;"\
"Nintendo - Super Nintendo Entertainment System.lpl;"\
"Nintendo - Virtual Boy.lpl;"\
"Quake1.lpl;"\
"ScummVM.lpl;"\
"Sega - 32X.lpl;"\
"Sega - Game Gear.lpl;"\
"Sega - Master System - Mark III.lpl;"\
"Sega - Mega Drive - Genesis.lpl;"\
"Sega - PICO.lpl;"\
"Sega - SG-1000.lpl;"\
"Sinclair - ZX Spectrum +3.lpl;"\
"SNK - Neo Geo Pocket Color.lpl;"\
"SNK - Neo Geo Pocket.lpl;"\
"Sony - PlayStation Portable.lpl;"\
"Sony - PlayStation.lpl"
RA_PLAYLIST_CORES=""\
"/tmp/cores/stella_libretro.so;"\
"DETECT;"\
"/tmp/cores/prosystem_libretro.so;"\
"/tmp/cores/virtualjaguar_libretro.so;"\
"/tmp/cores/handy_libretro.so;"\
"/tmp/cores/hatari_libretro.so;"\
"/tmp/cores/mednafen_wswan_libretro.so;"\
"/tmp/cores/mednafen_wswan_libretro.so;"\
"/tmp/cores/nxengine_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/prboom_libretro.so;"\
"/tmp/cores/fba_libretro.so;"\
"/tmp/cores/vecx_libretro.so;"\
"/tmp/cores/lutro_libretro.so;"\
"/tmp/cores/o2em_libretro.so;"\
"/tmp/cores/mame_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/mednafen_supergrafx_libretro.so;"\
"/tmp/cores/mednafen_pce_fast_libretro.so;"\
"/tmp/cores/nestopia_libretro.so;"\
"/tmp/cores/mgba_libretro.so;"\
"/tmp/cores/mgba_libretro.so;"\
"/tmp/cores/gambatte_libretro.so;"\
"/tmp/cores/gambatte_libretro.so;"\
"/tmp/cores/mupen64plus_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/nestopia_libretro.so;"\
"/tmp/cores/snes9x_next_libretro.so;"\
"/tmp/cores/snes9x_next_libretro.so;"\
"/tmp/cores/mednafen_vb_libretro.so;"\
"/tmp/cores/tyrquake_libretro.so;"\
"/tmp/cores/scummvm_libretro.so;"\
"/tmp/cores/picodrive_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/picodrive_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/fuse_libretro.so;"\
"/tmp/cores/mednafen_ngp_libretro.so;"\
"/tmp/cores/mednafen_ngp_libretro.so;"\
"/tmp/cores/ppsspp_libretro.so;"\
"/tmp/cores/pcsx_rearmed_libretro.so"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

-224
View File
@@ -1,224 +0,0 @@
# Name of the Distro to build (full name, without special characters)
DISTRONAME="OpenELEC"
# short project description
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
GREETING2="# ...... visit http://www.openelec.tv ...... #"
GREETING3="##############################################"
GREETING4=""
# Root password to integrate in the target system
ROOT_PASSWORD="openelec"
# Mediacenter to use (kodi / no)
MEDIACENTER="kodi"
# Skins to install (Confluence)
# Space separated list is supported,
# e.g. SKINS="Confluence"
SKINS="Confluence"
# Default Skin (Confluence)
SKIN_DEFAULT="Confluence"
# install extra subtitle Fonts for KODI (yes / no)
KODI_EXTRA_FONTS="yes"
# build and install 'RSXS' Screensaver (yes / no)
KODI_SCR_RSXS="yes"
# build and install 'ProjectM' Visualization (yes / no)
KODI_VIS_PROJECTM="yes"
# build and install 'GOOM' Visualization (yes / no)
KODI_VIS_GOOM="yes"
# build and install 'Waveform' Visualization (yes / no)
KODI_VIS_WAVEFORM="yes"
# build and install 'Spectrum' Visualization (yes / no)
KODI_VIS_SPECTRUM="yes"
# build and install 'FishBMC' Visualization (yes / no)
# does not work on RPi
KODI_VIS_FISHBMC="yes"
# build and install espeak support (yes / no)
ESPEAK_SUPPORT="yes"
# build and install with non-free support
# (RAR compression support in KODI) (yes / no)
KODI_NONFREE_SUPPORT="yes"
# build and install with BluRay support (yes / no)
KODI_BLURAY_SUPPORT="yes"
# build and install with BD+ support
# (BD+ decryption support in KODI) (yes / no)
BLURAY_BDPLUS_SUPPORT="yes"
# build and install with AACS support
# (BD decryption support in KODI) (yes / no)
BLURAY_AACS_SUPPORT="yes"
# build and install with DVDCSS support
# (DVD decryption support in KODI) (yes / no)
KODI_DVDCSS_SUPPORT="yes"
# additional drivers to install:
# for a list of additinoal drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU dvbhdhomerun"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="yes"
# build and install with KODI webfrontend (yes / no)
KODI_WEBSERVER_SUPPORT="yes"
# build and install Avahi (Zeroconf) daemon (yes / no)
AVAHI_DAEMON="yes"
# build with UPnP support (yes / no)
KODI_UPNP_SUPPORT="yes"
# build with MySQL support (yes / no)
KODI_MYSQL_SUPPORT="yes"
# build xbmc with sshlib support (yes / no)
KODI_SSHLIB_SUPPORT="yes"
# build xbmc with optical drive support (yes / no)
KODI_OPTICAL_SUPPORT="yes"
# KODI Audio encoders for usage with optical drive support
# Space separated list is supported,
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
KODI_AIRPLAY_SUPPORT="yes"
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
KODI_AIRTUNES_SUPPORT="yes"
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
KODI_NFS_SUPPORT="yes"
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
KODI_SAMBA_SUPPORT="yes"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="yes"
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
SAMBA_SUPPORT="yes"
# build and install Samba Server (yes / no)
SAMBA_SERVER="yes"
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# build and install exFAT fuse support (yes / no)
EXFAT="yes"
# build and install NTFS-3G fuse support (yes / no)
NTFS3G="yes"
# build and install hfs filesystem utilities (yes / no)
HFSTOOLS="yes"
# Windowmanager to use (ratpoison / fluxbox / none)
WINDOWMANAGER="fluxbox"
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
# Space separated list is supported,
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
if [ "$TARGET_ARCH" = "i386" ]; then
# TODO: create Legacy build with OpenELEC-4.2
# install legacy drivers to i386 ARCH
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nvidia-legacy"
elif [ "$TARGET_ARCH" = "x86_64" ]; then
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia"
fi
# build and install remote support (yes / no)
REMOTE_SUPPORT="yes"
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="yes"
# build and install IRServer IR/LCD support (yes / no)
IRSERVER_SUPPORT="yes"
# build and install Joystick support (yes / no)
JOYSTICK_SUPPORT="yes"
# build and install CEC adapter support (yes / no)
CEC_SUPPORT="yes"
# build and install iSCSI support - iscsistart (yes / no)
ISCSI_SUPPORT="yes"
# LCD driver to Use - Possible drivers are ( Comma seperated:
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
# picolcd,pyramid,sed1330,sed1520,serialPOS,
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
# 'all' compiles all drivers;
# 'all,!xxx,!yyy' de-selects previously selected drivers
# "none" for disable LCD support
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build with swap support (yes / no)
SWAP_SUPPORT="no"
# swap support enabled per default (yes / no)
SWAP_ENABLED_DEFAULT="no"
# swapfile size if SWAP_SUPPORT=yes in MB
SWAPFILESIZE="256"
# build with installer (yes / no)
INSTALLER_SUPPORT="yes"
# Testpackages for development (yes / no)
TESTING="no"
# OEM packages for OEM's (yes / no)
OEM_SUPPORT="no"
# build and install nano text editor (yes / no)
NANO_EDITOR="yes"
# cron support (yes / no)
CRON_SUPPORT="yes"
# Distribution Specific source location
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
# Addon Server Url
ADDON_SERVER_URL="http://addons.openelec.tv"
# set the addon dirs
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
-55
View File
@@ -1,55 +0,0 @@
#!/bin/bash
rm -rf target/
>&2 echo "Generic.x86_64"
DISTRO=Lakka PROJECT=Generic ARCH=x86_64 make image -j9
>&2 echo "Generic.i386"
DISTRO=Lakka PROJECT=Generic ARCH=i386 make image -j9
>&2 echo "Generic.x86_64 UEFI"
DISTRO=Lakka PROJECT=Generic ARCH=x86_64 UEFI="yes" make image -j9
>&2 echo "Generic.i386 UEFI"
DISTRO=Lakka PROJECT=Generic ARCH=i386 UEFI="yes" make image -j9
>&2 echo "RPi.arm"
DISTRO=Lakka PROJECT=RPi ARCH=arm make image -j9
>&2 echo "RPi.arm noobs"
DISTRO=Lakka PROJECT=RPi ARCH=arm make noobs -j9
>&2 echo "RPi2.arm"
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make image -j9
>&2 echo "RPi2.arm noobs"
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make noobs -j9
>&2 echo "imx6.cuboxi.arm"
DISTRO=Lakka PROJECT=imx6 SYSTEM=cuboxi ARCH=arm make image -j9
>&2 echo "imx6.udoo.arm"
DISTRO=Lakka PROJECT=imx6 SYSTEM=udoo ARCH=arm scripts/clean retroarch
DISTRO=Lakka PROJECT=imx6 SYSTEM=udoo ARCH=arm make image -j9
>&2 echo "a20.arm"
DISTRO=Lakka PROJECT=a20 ARCH=arm make image -j9
>&2 echo "a10.arm"
DISTRO=Lakka PROJECT=a10 ARCH=arm make image -j9
>&2 echo "Bananapi.arm"
DISTRO=Lakka PROJECT=Bananapi ARCH=arm make image -j9
>&2 echo "OdroidC1.arm"
DISTRO=Lakka PROJECT=OdroidC1 ARCH=arm make image -j9
>&2 echo "OdroidXU3.arm"
DISTRO=Lakka PROJECT=OdroidXU3 ARCH=arm make image -j9
>&2 echo "WeTek_Play.arm"
DISTRO=Lakka PROJECT=WeTek_Play ARCH=arm make image -j9
>&2 echo "WeTek_Core.arm"
DISTRO=Lakka PROJECT=WeTek_Core ARCH=arm make image -j9
rm target/*.kernel
rm target/*.system
for f in target/*; do
md5sum $f > $f.md5
sha256sum $f > $f.sha256
done
for f in target/*; do
dir=`echo $f | sed -e 's/target\/Lakka-\(.*\)-devel-\(.*\)/\1/'`
mkdir -p target/$dir
mv $f target/$dir/
done
#scp -r target/* [email protected]:sources/nightly/
+1 -1
View File
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="cxxtools"
PKG_VERSION="2.2.1"
PKG_VERSION="2.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL-2"
File renamed without changes.
@@ -22,7 +22,7 @@ PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.vdr-wiki.de/wiki/index.php/Dummydevice-plugin"
PKG_URL="$DISTRO_MIRROR/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tgz"
PKG_URL="http://phivdr.dyndns.org/vdr/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tgz"
PKG_SOURCE_DIR="dummydevice-${PKG_VERSION}"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_PRIORITY="optional"
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vdr-iptv"
PKG_VERSION="2.2.0"
PKG_VERSION="2.1.3"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
File renamed without changes.
@@ -17,13 +17,13 @@
################################################################################
PKG_NAME="vdr-plugin-dvbapi"
PKG_VERSION="c0c7fa2"
PKG_VERSION="bdcad3f"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain vdr libdvbcsa"
PKG_DEPENDS_TARGET="toolchain vdr openssl libdvbcsa"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="TV"
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vdr-plugin-eepg"
PKG_VERSION="9cd9a75"
PKG_VERSION="d7dc614"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@@ -17,13 +17,13 @@
################################################################################
PKG_NAME="vdr-plugin-streamdev"
PKG_VERSION="84c6f6b"
PKG_VERSION="40704cd"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/show/plg-streamdev"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain vdr libressl"
PKG_DEPENDS_TARGET="toolchain vdr openssl"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="TV"
@@ -17,11 +17,11 @@
################################################################################
PKG_NAME="vdr-plugin-vnsiserver"
PKG_VERSION="9529e6d"
PKG_VERSION="7d4aa81"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver"
PKG_SITE="https://github.com/opdenkamp/xbmc-pvr-addons/tree/master/addons/pvr.vdr.vnsi/vdr-plugin-vnsiserver"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_PRIORITY="optional"
@@ -30,6 +30,7 @@ PKG_SHORTDESC="TV"
PKG_LONGDESC="TV"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vdr-plugin-xvdr"
PKG_VERSION="b300fc3"
PKG_VERSION="7f49bfa"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
Loaded 100 of 1875 files, more files were not shown because too many files have changed in this diff. Show more