Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4956be37c8 |
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
;;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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 @@
|
||||
Lakka - The DIY retro emulation console
|
||||
Welcome to OpenELEC - the powerful Mediacenter4you
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -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@"
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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 |
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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,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"
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
@@ -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"
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
@@ -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"
|
||||
@@ -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/
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
@@ -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"
|
||||