Compare commits

..
161 Commits
Author SHA1 Message Date
Jean-André Santoni 2ec783e62e Hide updater 2016-08-27 00:55:09 +02:00
Jean-André Santoni 1c1e2a3605 Fix some values in config.txt 2016-08-25 21:28:10 +02:00
Jean-André Santoni 2040b1f566 Allow rebooting on the wifi menu 2016-08-23 14:31:52 +02:00
Jean-André Santoni 807f4cd0be EMU initial commit 2016-08-20 21:02:57 +02:00
Jean-André Santoni c79651a1d2 Fix the lost settings when closing RA 2016-08-11 00:41:49 +02:00
Jean-André Santoni 285aa2b2ef Add connman-ncurses 2016-08-10 20:01:19 +02:00
Jean-André Santoni fe35700bea Update the services patch 2016-08-10 02:37:55 +02:00
Jean-André Santoni 90f6ad903b Fix ribbon on XU3/4 2016-08-09 18:22:51 +02:00
Jean-André Santoni 33c97b613b Fix Lakka Services in RetroArch 2016-08-09 18:22:09 +02:00
Jean-André Santoni cdb3819219 Workaround for the imx6 updater 2016-08-09 13:45:14 +02:00
Jean-André Santoni 8e275bf3f6 Update shaders 2016-08-09 13:44:18 +02:00
Jean-André Santoni 310d4e1fd7 Fix lakka services 2016-08-09 13:29:09 +02:00
Jean-André Santoni d292da576a Update gambatte, fixes savestates, fix #461 2016-08-07 14:08:46 +02:00
Jean-André Santoni 5a565e9ca1 Small fixes for retroarch.cfg 2016-08-06 03:06:03 +02:00
Jean-André Santoni ad423e0a48 Small fixes for RetroArch 2016-08-04 21:21:25 +02:00
Jean-André Santoni 85290d345f Update libretro-database 2016-08-04 18:53:25 +02:00
Jean-André Santoni 429f195ee6 Update core-info 2016-08-04 03:16:57 +02:00
Jean-André Santoni b32d896745 Update assets 2016-08-04 03:16:43 +02:00
Jean-André Santoni d1ec5002a2 Update database 2016-08-04 03:12:01 +02:00
Jean-André Santoni b1704b2eb4 Update XU3 kernel, u-boot, and mali 2016-08-03 22:45:38 +02:00
Jean-André Santoni da7fd37dcb Package atari800 2016-08-02 22:11:52 +02:00
Jean-André Santoni 2cb476dee2 Add missing Gamegirl files 2016-08-01 19:27:32 +02:00
Jean-André Santoni 170e4841bd Fix playlist assignation 2 2016-07-30 21:08:27 +02:00
Jean-André Santoni 8e21ac1437 Fix playlist assignation 2016-07-30 21:06:09 +02:00
Jean-André Santoni 994bbe42e8 Code cleaning 2016-07-30 01:24:05 +02:00
Jean-André Santoni 76b4bb6a2c Update RetroArch to 1.3.6 2016-07-30 00:53:20 +02:00
Jean-André Santoni 2994aff624 Add a default core for Cave Story 2016-07-30 00:52:53 +02:00
Jean-André Santoni 86b5b86f14 Add a default core for Lutro games 2016-07-30 00:26:15 +02:00
Jean-André Santoni b569ae0860 Automatically build UEFI images. Fixes #389 2016-07-29 21:52:05 +02:00
Jean-André Santoni 8cf5304427 Merge pull request #449 from larskj/dont_optimize_generic_linux_for_size
Apply RT patch and update i386 and x64 linux config files.
2016-07-27 13:18:02 +02:00
Lars Kjærgaard 592d533446 Updated linux.i386.conf to optimize for speed instead of size.
- This increased linux from 8000KB to 8800KB.
2016-07-27 12:33:56 +02:00
Lars Kjærgaard be61f17e3d Updated linux.x86_64.conf to not optimize for size.
- We should not be size constrained on a generic x64 platform,
  so we rould rather have linux optimized for speed.

- Linux size increased from from 8700KB to 9400KB.
2016-07-27 12:33:33 +02:00
Lars Kjærgaard 3bc3ad1749 Updated linux.i386.conf with rt parameters as well. 2016-07-27 09:50:52 +02:00
Lars Kjærgaard f638c4e101 Updated linux.x86_64.conf with rt parameters.
- Set preemption model to 'Fully Preemptible Kernel (RT)'

- Set tick rate to 1000Hz.

- Set cpu governor to performance.
2016-07-27 09:38:31 +02:00
Lars Kjærgaard d984acedb5 Added linux-500-rt-kernel-patch-4.6.4-rt8.patch
- Note I had to use the rt kernel patch for 4.6.4, since the patch
  for 4.6.3 was not available. It did however apply cleanly.
2016-07-27 09:26:43 +02:00
Jean-André Santoni 4e94f673f6 Merge pull request #440 from gouchi/lakka
Add udev rule for JUYAO Dual Arcade
2016-07-22 14:57:51 +02:00
gouchi b56d1a2825 Add udev rule for JUYAO Dual Arcade 2016-07-22 14:53:39 +02:00
Jean-André Santoni d6b3065994 Merge pull request #435 from jjwatt/bump-binutils
Bump binutils to 2.26.1.
2016-07-19 21:49:07 +02:00
Jesse Wattenbarger 21d650e29e Bump binutils to 2.26.1.
Fixes "unsupported reloc 42 againts global symbol..."
Newer binutils support new relocation types.
Needed to properly build lakka with a host gcc5 and host gcc6 (or
even a host gcc4 built with a newer gcc ;)). "We must go deeper."
2016-07-19 14:20:04 -04:00
Jean-André Santoni e2f7a88db5 We don't need that file 2016-07-18 19:32:07 +02:00
Jean-André Santoni 38cafaa97c Set first partition size to 512 2016-07-18 19:31:53 +02:00
Jean-André Santoni 2e2e2ba867 Alsa bug workaround 2016-07-17 22:45:46 +02:00
Jean-André Santoni 4656d16d70 Force alsa-lib rebuild 2016-07-14 22:30:53 +02:00
Jean-André Santoni b165b657ea Merge pull request #432 from gouchi/lakka
Add Alsa configuration
2016-07-14 21:51:44 +02:00
gouchi a5d47c6409 Add Alsa configuration 2016-07-14 21:48:04 +02:00
Jean-André Santoni 0e915177bc Merge pull request #431 from jjwatt/llvm-disable-bindings
Add --disable-bindings to llvm configure.
2016-07-14 02:53:41 +02:00
Jesse Wattenbarger 527e5440e5 Add --disable-bindings to llvm configure.
This fixes building for me on Ubuntu 14.04. Otherwise, llvm can't find
ocaml ctypes in order to build llvm with ocaml bindings.

The ocaml-ctypes package isn't available in Ubuntu 14.04. So, it's easier
to just leave it out because it doesn't seem like Lakka needs ocaml
bindings for llvm for anything else.
2016-07-13 18:17:05 -04:00
Jean-André Santoni e67fc0cf32 Merge pull request #430 from jjwatt/build-gcc4-on-gcc6
Add patch that helps gcc 4.9.2 build on gcc 6.x.
2016-07-13 22:30:45 +02:00
Jesse Wattenbarger 647c2a39ce Add patch that helps gcc 4.9.2 build on gcc 6.x.
Found this on gcc mailing list and it's been used on other distros, too.
Tested on Fedora 24:
gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3)
2016-07-13 16:21:22 -04:00
Jean-André Santoni 056bd2456a Revert the snd-hda-intel fix 2016-07-11 14:26:33 +02:00
Jean-André Santoni d0ce46d7f8 Merge pull request #429 from gouchi/lakka
Add support for Nvidia Maxwell desktop GPUs
2016-07-10 14:29:09 +02:00
gouchi 9121ac0a3b Add GPUs firmware to CONFIG_EXTRA_FIRMWARE for i386 and x86_64 2016-07-10 14:21:15 +02:00
Jean-André Santoni 83c560ec75 Update mame2003 2016-07-10 14:10:20 +02:00
Jean-André Santoni 45a43464af Force alsa-lib rebuild 2016-07-10 14:10:04 +02:00
gouchi fc2cd9b179 Add support for Nvidia Maxwell desktop GPUs 2016-07-10 13:51:00 +02:00
Jean-André Santoni b28f7ea628 Fix imx6 build 2016-07-10 11:00:56 +02:00
Jean-André Santoni b8533aea54 Update core-info, libretro-database and retroarch-assets 2016-07-09 22:17:03 +02:00
Jean-André Santoni 624f8e3e59 Add uzebox to RPi2 for testing 2016-07-09 22:16:37 +02:00
Jean-André Santoni b5a21b3c32 Add generic patches from LE 2016-07-09 22:03:24 +02:00
Jean-André Santoni c1e3c8c0ad Enable tyrquake on every image. Fixes #425 2016-07-09 18:44:06 +02:00
Jean-André Santoni cb6aeb33d4 Update linux.i386.conf for 4.6.3 2016-07-09 18:18:40 +02:00
Jean-André Santoni 70076d7e2d Enable uzebox on PC 2016-07-09 17:35:42 +02:00
Jean-André Santoni 10dd2ca538 Add back some kernel options for Lakka 2016-07-09 17:33:51 +02:00
Jean-André Santoni 098414aab9 Update linux.x86_64.conf from LibreELEC 2016-07-09 17:33:51 +02:00
Jean-André Santoni 7559bb0212 Delete some uneeded patches 2016-07-09 17:33:51 +02:00
Jean-André Santoni 6493f3284e Update linux-firmware 2016-07-09 17:33:51 +02:00
Jean-André Santoni 687be62073 Enable amdgpu in the graphic config 2016-07-09 17:33:51 +02:00
Jean-André Santoni 89b7ec55d5 Enable RTL8812AU in the distro options 2016-07-09 17:33:51 +02:00
Jean-André Santoni 5837c5bd60 Update linux-drivers 2016-07-09 17:33:51 +02:00
Jean-André Santoni 22d1fc23e6 Update linux to 4.6.3 2016-07-09 17:33:51 +02:00
Jean-André Santoni 90250c1be3 Merge pull request #423 from gouchi/lakka
Add snd-hda-intel modprobe configuration
2016-07-02 20:14:33 +02:00
gouchi 7a7e055371 Add snd-hda-intel modprobe configuration 2016-07-02 20:03:24 +02:00
Jean-André Santoni 7473627ed1 Update bsnes-mercury 2016-07-02 11:21:12 +02:00
Jean-André Santoni 1e25a1895a Package craft 2016-07-02 11:12:07 +02:00
Jean-André Santoni 06e62ca4a2 Update core-info files 2016-07-02 10:33:20 +02:00
Jean-André Santoni 0305220d87 Update mupen64plus 2016-07-02 10:22:32 +02:00
Jean-André Santoni 57715e8186 Remove this patch for now, fixes xbox one controller on PC 2016-07-01 16:57:41 +02:00
Jean-André Santoni 6dd27e11fc Fix Xbox One Controller support on imx6 2016-07-01 15:10:26 +02:00
Jean-André Santoni cafbce2669 Fix Xbox One Controller support on WeTek 2016-07-01 12:54:32 +02:00
Jean-André Santoni 1803839237 Fix Xbox One Controller support on Allwinner 2016-07-01 00:51:35 +02:00
Jean-André Santoni 130ce72933 Fix Xbox One Controller support on the C1 2016-06-30 18:16:58 +02:00
Jean-André Santoni 4b652e50e3 Fix Xbox One Controller support on the XU3 2016-06-30 17:46:59 +02:00
Jean-André Santoni 11abba684f Update snes9x-next. Reduces input lag 2016-06-29 14:04:09 +02:00
Jean-André Santoni 4de2018bf2 Update joypads, add support for 8 joypads 2016-06-29 14:01:28 +02:00
Jean-André Santoni 2e7a3b069d Update assets, add icons of lollo78 2016-06-29 13:59:40 +02:00
Jean-André Santoni b87f62db8c Update fceumm, reduce input lag 2016-06-29 13:56:03 +02:00
Jean-André Santoni d192044e99 Update Lutro 2016-06-29 13:13:04 +02:00
Jean-André Santoni 155cba87a1 Package uzebox 2016-06-27 23:39:40 +02:00
Jean-André Santoni 68674794b7 Merge pull request #412 from larskj/brunnis_bsnes_lag_fix
Apply Brunnis input lag fix to bsnes mercury
2016-06-26 17:20:39 +02:00
Lars Kjærgaard d2930b7ea3 Added bsnes-mercury-0001-Apply-Brunnis-input-lag-fix.patch 2016-06-26 17:11:27 +02:00
Jean-André Santoni dbdd01d36c Enable mgba on C1 2016-06-21 21:31:48 +02:00
Jean-André Santoni 536ba0e242 Update the C1 mali blobs 2016-06-21 17:15:09 +02:00
Jean-André Santoni 24eba2cc41 Merge pull request #404 from larskj/enable_rt_configs_for_i386
Enable RT configs for i386.
2016-06-15 19:54:39 +02:00
Lars Kjærgaard 3ededf9062 Enable RT configs for i386.
- Set preemption model to 'Fully Preemptible Kernel (RT)'
 - Set tick rate to 1000Hz.
 - Set cpu governor to performance.
2016-06-15 19:04:12 +02:00
Jean-André Santoni ebf9c40fea Gamegirl, finalize inputs 2016-06-14 22:50:52 +02:00
Jean-André Santoni fac545f3cf Merge pull request #401 from larskj/apply_rt_kernel_patch_to_linux_4_4_2
Apply rt kernel patch to linux 4 4 2
2016-06-11 23:36:11 +02:00
Lars Kjærgaard 47962f40f7 Enable RT configs for Generic x64.
- We have previously patched the kernel with the real time patch,
  we now want to utilize it.

- The goal here is to decrease scheduler latency through
  changing the configs in linux.x86_64.conf:

- Setting preemption model to 'Fully Preemptible Kernel (RT)'
- Setting tick rate to 1000Hz.
- Setting cpu governor to performance.

- The above should make it possible to significantly increase
  the "Frame Delay" setting in RetroArch since we now have less
  scheduler latency and a more consistently running system

- With the above changes, I am now able to set "Frame Delay"
  to the max value of 15 for nes, which cuts away a full
  frame of input latency from controller input to screen update.
2016-06-11 15:07:48 +02:00
Lars Kjærgaard 95af826306 Added rt patch for linux kernel 4.4.2 2016-06-11 15:07:48 +02:00
Jean-André Santoni bd067b2db6 Update joypads. Add Gamegirl config 2016-06-09 05:05:02 +02:00
Jean-André Santoni 84fd5161ae Enable gamegirl-joypad on boot 2016-06-09 05:02:13 +02:00
Jean-André Santoni ee7c0f57ec Code cleaning 2016-06-09 04:54:14 +02:00
Jean-André Santoni 9dfa1f6002 Add gamegirl-joypad 2016-06-09 04:53:55 +02:00
Jean-André Santoni d5a259a59b Update assets, add Pixel theme 2016-06-09 04:52:38 +02:00
Jean-André Santoni aa5e7762d2 Gamegirl: enable_rgb565 on boot, and enable backlight 2016-06-08 23:07:36 +02:00
Jean-André Santoni cee6cea1fa Enable the gpio utility in Gamegirl 2016-06-08 21:06:37 +02:00
Jean-André Santoni 936bd6d705 Increase the size of the first partition in the generic installer. Fixes a major bug 2016-06-07 14:58:16 +02:00
Jean-André Santoni 9531662da6 Update snes9x-next 2016-06-02 18:31:50 +02:00
Jean-André Santoni 3a6d718551 Enable ScummVM on every project 2016-06-02 18:29:31 +02:00
Jean-André Santoni 9738a6e165 Update ScummVM 2016-06-02 18:25:32 +02:00
Jean-André Santoni 0bd4d5fd99 Enable DOSBox on every project 2016-06-02 15:14:05 +02:00
Jean-André Santoni b403498603 Update DOSBox 2016-06-02 14:23:17 +02:00
Jean-André Santoni f358f7dde2 Update Lutro 2016-06-02 14:23:02 +02:00
Jean-André Santoni f8b1f05134 Merge pull request #388 from larskj/optimize_generic_x64_for_speed
Set OPTIMIZATIONS="normal" for generic x64.
2016-06-02 10:28:56 +02:00
Jean-André Santoni 950d460f3c Enable beetle-sgx on RPi and GameGirl 2016-06-01 23:29:26 +02:00
Jean-André Santoni 4015de514a Don't push kernel and system files to the release servers 2016-06-01 23:28:01 +02:00
Jean-André Santoni 0c0af56fba Enable beetle-wswan on all projects 2016-06-01 22:15:17 +02:00
Jean-André Santoni 761c19d071 Update shaders 2016-05-31 21:56:10 +02:00
Jean-André Santoni 4a3c0a3427 Update RetroArch 2016-05-31 19:34:10 +02:00
Jean-André Santoni 6a0603f894 Update joypad configs 2016-05-31 19:28:58 +02:00
Jean-André Santoni 79e4a56daf Enable beetle-wswan on RPi2 2016-05-31 19:27:52 +02:00
Lars Kjærgaard 8d6de06575 Set OPTIMIZATIONS="normal" for generic x64.
- Before it was set to optimize for size,
  but for an x64 build we shouldn't be size constrained
  and just want the fastest performance.
2016-05-29 12:59:41 +02:00
Jean-André Santoni c838c0c4cb Merge pull request #379 from R3d-Sky/patch-1
Force udev to detect Shield Controller as Controller
2016-05-27 08:17:41 +02:00
Jean-André Santoni 41f37751cf Enable SPI module for Gamegirl 2016-05-25 18:26:00 +02:00
Jean-André Santoni 3d4e20cdc8 Enable gamegirl-screen 2016-05-25 12:04:36 +02:00
Jean-André Santoni 8860bfb73a Package gamegirl-screen 2016-05-25 12:04:04 +02:00
Jean-André Santoni e0c766a37e Package wiringPi 2016-05-25 12:02:16 +02:00
Jean-André Santoni 96daa285ac Gamegirl project, initial commit 2016-05-24 18:23:01 +02:00
Jean-André Santoni e7c36602ac Enable reicast on x86_64 2016-05-24 15:16:09 +02:00
R3d-Sky d41bd299cf Force udev to detect Shield Controller as Controller
The shield controller has a touchpad at the bottom of it. udev/evdev by default takes this and assumes that the shield controller is not a controller, but a mouse/touchpad. This rule forces udev to present a shield controller as a controller, and not a joypad. /dev/js* (linuxraw) inputs are broken without this rule too.
2016-05-22 11:33:56 +05:30
Jean-André Santoni f998d31d15 Update aarch64 config 2016-05-15 09:12:56 +02:00
Jean-André Santoni 4b62482ae7 Package Emux-SMS 2016-05-12 16:33:26 +02:00
Jean-André Santoni 88de891767 Set mgba as default core everywhere except on the old RPi 2016-05-11 19:06:14 +02:00
Jean-André Santoni 385754a28b Kernel config for OdroidXU3 2016-05-11 09:10:32 +02:00
Jean-André Santoni 3ccf0d5207 Update RetroArch. Hide some of the online updater entries. Various fixes in the data runloop. 2016-05-10 21:53:37 +02:00
Jean-André Santoni 0b49406ba1 Update Odroid-XU3 kernel 2016-05-10 21:29:01 +02:00
Jean-André Santoni d23434f1f5 Fix audio on Radeon 2016-05-07 14:34:03 +02:00
Jean-André Santoni d38de1c568 Fix Odroid-C1 mali. Fixes #359 2016-05-06 17:52:15 +02:00
Jean-André Santoni dd78769431 Fix for mgba 2016-05-06 16:37:41 +02:00
Jean-André Santoni e04a995f2a Update mgba, fix it for arm neon, and enable it on all images 2016-05-06 16:14:29 +02:00
Jean-André Santoni 7629ae8733 Update mupen64plus. Works on all platforms now. 2016-05-05 21:07:24 +02:00
Jean-André Santoni 9e4f0eed8f Update RetroArch. Fixes the retroarch.cfg bug 2016-05-03 15:33:50 +02:00
Jean-André Santoni b2e76de703 Print the name of the build in the nightly script. Ease the detection of mkimage errors. 2016-05-02 11:31:22 +02:00
Jean-André Santoni f559b3fbad Update joypad configs. Should fix wireless DS3 2016-05-02 11:28:16 +02:00
Jean-André Santoni c7e93af096 Update RetroArch. Fix bluetooth and samba service switching 2016-05-01 17:00:21 +02:00
Jean-André Santoni 721f2c72d2 Update joypad configs 2016-04-29 09:11:48 +02:00
Jean-André Santoni 8849e9eb52 Update RetroArch. Audio device switching in the threaded version of the driver. 2016-04-28 21:54:42 +02:00
Jean-André Santoni 89bcbe482d Update RetroArch. Audio device switching from the GUI. 2016-04-28 19:24:50 +02:00
Jean-André Santoni eba639f559 New u-boot update script from OpenELEC 2016-04-28 01:40:46 +02:00
Jean-André Santoni daa277dbad Build the two latest packages for imx6 2016-04-28 01:39:48 +02:00
Jean-André Santoni 5d2b4bc4b0 Add imx6-soc-fan and imx6-status-led packages 2016-04-28 01:35:14 +02:00
Jean-André Santoni 766ef02468 Fix the online updater URLs for imx6 2016-04-28 01:25:53 +02:00
Jean-André Santoni d38f237c46 Always power on bluetooth 2016-04-27 23:35:25 +02:00
Jean-André Santoni 4e3274b466 Ribbon improvements. Bugfix for the icon overlap while displaying help messages. 2016-04-27 23:34:21 +02:00
Jean-André Santoni 0552534f9c Backport OpenELEC changes to build cuboxi and udoo projects with a same tree. Should at least fix boot on cuboxi. 2016-04-27 23:33:54 +02:00
Jean-André Santoni 79f5d3ffad Remove unneeded bluez-tools 2016-04-27 23:33:23 +02:00
Jean-André Santoni 2e3317dceb Add back the Shanwan and Gasia bt patches, while keeping the DS3 auto trust patch 2016-04-27 23:32:49 +02:00
Jean-André Santoni 22dbc0f754 Update Lutro. Many improvements by RobLoach. 2016-04-27 23:31:57 +02:00
Jean-André Santoni cf00e7c2ab Update RetroArch. Ribbon options with gradients. Thumbnails donwloader. 2016-04-27 23:31:30 +02:00
Jean-André Santoni 0283b1e1e5 Build Generic images first 2016-04-27 23:30:41 +02:00
Jean-André Santoni e0b1f79c8a Update RetroArch. Display a PS3 like animated ribbon. Work in progress. 2016-04-27 23:30:07 +02:00
Jean-André Santoni 9fef9cabd3 Patch bluez to enable DualShock 3 auto pairing 2016-04-27 23:29:12 +02:00
551 changed files with 53826 additions and 122843 deletions

No files matched your search

-8
View File
@@ -1,8 +0,0 @@
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
+13 -16
View File
@@ -1,32 +1,29 @@
# determines TARGET_CPU, if not forced by user
if [ -z "$TARGET_CPU" ]; then
TARGET_CPU=generic
TARGET_CPU=cortex-a53
fi
# TARGET_CPU:
# cortex-a35 cortex-a53 cortex-a57 cortex-a72 exynos-m1
# qdf24xx thunderx xgene1
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
# neon-vfpv4.
# 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"
TARGET_FPU=neon
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_EXTRA_FLAGS"
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
TARGET_LDFLAGS="-march=$TARGET_VARIANT -mcpu=$TARGET_CPU$TARGET_CPU_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"
+1 -1
View File
@@ -90,7 +90,7 @@ get_graphicdrivers() {
if [ "$drv" = "radeonsi" ]; then
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,radeonsi"
XORG_DRIVERS="$XORG_DRIVERS ati"
XORG_DRIVERS="$XORG_DRIVERS ati amdgpu"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

+338
View File
@@ -0,0 +1,338 @@
# Name of the Distro to build (full name, without special characters)
DISTRONAME="EMU"
# short project description
DESCRIPTION="The DIY retro emulation console"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="###########################################"
GREETING1="# Lakka - The DIY retro emulation console #"
GREETING2="# ...... visit http://www.lakka.tv ...... #"
GREETING3="###########################################"
GREETING4=""
# Root password to integrate in the target system
ROOT_PASSWORD="root"
# Mediacenter to use (kodi / no)
MEDIACENTER="no"
# Skins to install (Confluence)
# Space separated list is supported,
# e.g. SKINS="Confluence"
SKINS="Confluence"
# Default Skin (Confluence)
SKIN_DEFAULT="Confluence"
# install extra subtitle Fonts for KODI (yes / no)
KODI_EXTRA_FONTS="yes"
# build and install 'RSXS' Screensaver (yes / no)
KODI_SCR_RSXS="yes"
# build and install 'ProjectM' Visualization (yes / no)
KODI_VIS_PROJECTM="yes"
# build and install 'GOOM' Visualization (yes / no)
KODI_VIS_GOOM="yes"
# build and install 'Waveform' Visualization (yes / no)
KODI_VIS_WAVEFORM="yes"
# build and install 'Spectrum' Visualization (yes / no)
KODI_VIS_SPECTRUM="yes"
# build and install 'FishBMC' Visualization (yes / no)
# does not work on RPi
KODI_VIS_FISHBMC="yes"
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="no"
# build and install espeak support (yes / no)
ESPEAK_SUPPORT="yes"
# build and install with non-free support
# (RAR compression support in KODI) (yes / no)
KODI_NONFREE_SUPPORT="yes"
# build and install with BluRay support (yes / no)
KODI_BLURAY_SUPPORT="yes"
# build and install with BD+ support
# (BD+ decryption support in KODI) (yes / no)
BLURAY_BDPLUS_SUPPORT="yes"
# build and install with AACS support
# (BD decryption support in KODI) (yes / no)
BLURAY_AACS_SUPPORT="yes"
# build and install with DVDCSS support
# (DVD decryption support in KODI) (yes / no)
KODI_DVDCSS_SUPPORT="yes"
# additional drivers to install:
# for a list of additinoal drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="yes"
# build and install with KODI webfrontend (yes / no)
KODI_WEBSERVER_SUPPORT="yes"
# build and install Avahi (Zeroconf) daemon (yes / no)
AVAHI_DAEMON="yes"
# build with UPnP support (yes / no)
KODI_UPNP_SUPPORT="yes"
# build with MySQL support (yes / no)
KODI_MYSQL_SUPPORT="yes"
# build xbmc with sshlib support (yes / no)
KODI_SSHLIB_SUPPORT="yes"
# build xbmc with optical drive support (yes / no)
KODI_OPTICAL_SUPPORT="yes"
# KODI Audio encoders for usage with optical drive support
# Space separated list is supported,
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
KODI_AIRPLAY_SUPPORT="yes"
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
KODI_AIRTUNES_SUPPORT="yes"
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
KODI_NFS_SUPPORT="yes"
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
KODI_AFP_SUPPORT="no"
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
KODI_SAMBA_SUPPORT="yes"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="yes"
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
SAMBA_SUPPORT="yes"
# build and install Samba Server (yes / no)
SAMBA_SERVER="yes"
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install PPP support (yes / no)
PPTP_SUPPORT="yes"
# build and install OpenVPN support (yes / no)
OPENVPN_SUPPORT="yes"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# build and install exFAT fuse support (yes / no)
EXFAT="yes"
# build and install NTFS-3G fuse support (yes / no)
NTFS3G="yes"
# build and install hfs filesystem utilities (yes / no)
HFSTOOLS="yes"
# Windowmanager to use (ratpoison / fluxbox / none)
WINDOWMANAGER="none"
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
# Space separated list is supported,
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
if [ "$TARGET_ARCH" = "i386" ]; then
# TODO: create Legacy build with OpenELEC-4.2
# install legacy drivers to i386 ARCH
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nouveau"
elif [ "$TARGET_ARCH" = "x86_64" ]; then
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nouveau"
fi
# build and install remote support (yes / no)
REMOTE_SUPPORT="no"
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"
# build and install IRServer IR/LCD support (yes / no)
IRSERVER_SUPPORT="no"
# build and install Joystick support (yes / no)
JOYSTICK_SUPPORT="yes"
# build and install CEC adapter support (yes / no)
CEC_SUPPORT="yes"
# build and install iSCSI support - iscsistart (yes / no)
ISCSI_SUPPORT="yes"
# LCD driver to Use - Possible drivers are ( Comma seperated:
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
# picolcd,pyramid,sed1330,sed1520,serialPOS,
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
# 'all' compiles all drivers;
# 'all,!xxx,!yyy' de-selects previously selected drivers
# "none" for disable LCD support
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build with swap support (yes / no)
SWAP_SUPPORT="no"
# swap support enabled per default (yes / no)
SWAP_ENABLED_DEFAULT="no"
# swapfile size if SWAP_SUPPORT=yes in MB
SWAPFILESIZE="256"
# build with installer (yes / no)
INSTALLER_SUPPORT="yes"
# Testpackages for development (yes / no)
TESTING="no"
# OEM packages for OEM's (yes / no)
OEM_SUPPORT="yes"
# build and install nano text editor (yes / no)
NANO_EDITOR="yes"
# cron support (yes / no)
CRON_SUPPORT="yes"
# Perf support in development builds (yes / no)
PERF_SUPPORT="yes"
# Distribution Specific source location
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
# Addon Server Url
ADDON_SERVER_URL="http://addons.openelec.tv"
# set the addon dirs
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
LAKKA_MIRROR="http://sources.lakka.tv"
RA_PLAYLIST_NAMES=""\
"Atari - 2600.lpl;"\
"Atari - 5200.lpl;"\
"Atari - 7800.lpl;"\
"Atari - Jaguar.lpl;"\
"Atari - Lynx.lpl;"\
"Atari - ST.lpl;"\
"Bandai - WonderSwan Color.lpl;"\
"Bandai - WonderSwan.lpl;"\
"Cave Story.lpl;"\
"Coleco - ColecoVision.lpl;"\
"DOOM.lpl;"\
"FB Alpha - Arcade Games.lpl;"\
"GCE - Vectrex.lpl;"\
"Lutro.lpl;"\
"Magnavox - Odyssey2.lpl;"\
"MAME.lpl;"\
"Microsoft - MSX2.lpl;"\
"Microsoft - MSX.lpl;"\
"NEC - PC Engine SuperGrafx.lpl;"\
"NEC - PC Engine - TurboGrafx 16.lpl;"\
"Nintendo - Famicom Disk System.lpl;"\
"Nintendo - Game Boy Advance (e-Cards).lpl;"\
"Nintendo - Game Boy Advance.lpl;"\
"Nintendo - Game Boy Color.lpl;"\
"Nintendo - Game Boy.lpl;"\
"Nintendo - Nintendo 64.lpl;"\
"Nintendo - Nintendo DS Decrypted.lpl;"\
"Nintendo - Nintendo DS (Download Play) (BETA).lpl;"\
"Nintendo - Nintendo DSi Decrypted.lpl;"\
"Nintendo - Nintendo DSi (DLC).lpl;"\
"Nintendo - Nintendo Entertainment System.lpl;"\
"Nintendo - Satellaview.lpl;"\
"Nintendo - Super Nintendo Entertainment System.lpl;"\
"Nintendo - Virtual Boy.lpl;"\
"Quake1.lpl;"\
"ScummVM.lpl;"\
"Sega - 32X.lpl;"\
"Sega - Game Gear.lpl;"\
"Sega - Master System - Mark III.lpl;"\
"Sega - Mega Drive - Genesis.lpl;"\
"Sega - PICO.lpl;"\
"Sega - SG-1000.lpl;"\
"Sinclair - ZX Spectrum +3.lpl;"\
"SNK - Neo Geo Pocket Color.lpl;"\
"SNK - Neo Geo Pocket.lpl;"\
"Sony - PlayStation Portable.lpl;"\
"Sony - PlayStation.lpl"
RA_PLAYLIST_CORES=""\
"/tmp/cores/stella_libretro.so;"\
"DETECT;"\
"/tmp/cores/prosystem_libretro.so;"\
"/tmp/cores/virtualjaguar_libretro.so;"\
"/tmp/cores/handy_libretro.so;"\
"/tmp/cores/hatari_libretro.so;"\
"/tmp/cores/mednafen_wswan_libretro.so;"\
"/tmp/cores/mednafen_wswan_libretro.so;"\
"/tmp/cores/nxengine_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/prboom_libretro.so;"\
"/tmp/cores/fba_libretro.so;"\
"/tmp/cores/vecx_libretro.so;"\
"/tmp/cores/lutro_libretro.so;"\
"/tmp/cores/o2em_libretro.so;"\
"/tmp/cores/mame_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/bluemsx_libretro.so;"\
"/tmp/cores/mednafen_supergrafx_libretro.so;"\
"/tmp/cores/mednafen_pce_fast_libretro.so;"\
"/tmp/cores/nestopia_libretro.so;"\
"/tmp/cores/mgba_libretro.so;"\
"/tmp/cores/mgba_libretro.so;"\
"/tmp/cores/gambatte_libretro.so;"\
"/tmp/cores/gambatte_libretro.so;"\
"/tmp/cores/mupen64plus_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/desmume_libretro.so;"\
"/tmp/cores/nestopia_libretro.so;"\
"/tmp/cores/snes9x_next_libretro.so;"\
"/tmp/cores/snes9x_next_libretro.so;"\
"/tmp/cores/mednafen_vb_libretro.so;"\
"/tmp/cores/tyrquake_libretro.so;"\
"/tmp/cores/scummvm_libretro.so;"\
"/tmp/cores/picodrive_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/picodrive_libretro.so;"\
"/tmp/cores/genesis_plus_gx_libretro.so;"\
"/tmp/cores/fuse_libretro.so;"\
"/tmp/cores/mednafen_ngp_libretro.so;"\
"/tmp/cores/mednafen_ngp_libretro.so;"\
"/tmp/cores/ppsspp_libretro.so;"\
"/tmp/cores/pcsx_rearmed_libretro.so"
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,46 @@
# 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
@@ -0,0 +1,66 @@
# /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
@@ -0,0 +1,49 @@
################################################################################
# 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/>.
################################################################################
# parse command line arguments
for arg in $(cat /proc/cmdline); do
case $arg in
debugging)
export DEBUG=yes
;;
progress)
PROGRESS=yes
;;
esac
done
if [ -e /storage/.cache/debug.openelec ] ; then
export DEBUG=yes
fi
# functions
progress() {
if test "$PROGRESS" = yes; then
logger -s -t Boot "### $1 ###"
else
logger -t Boot "### $1 ###"
fi
}
# read config files
for config in /etc/profile.d/*; do
if [ -f "$config" ] ; then
. $config
fi
done
@@ -0,0 +1 @@
SUSPEND_MODULES="jme asix anysee rtl8192se imon r8712u cx23885 cdc_acm ddbridge brcmfmac"
@@ -0,0 +1,5 @@
# transmission with uTP support
# please comment out the follow line to activate this values:
# net.core.wmem_max=1048576
# net.core.rmem_max=4194304
Whitespace-only changes.
@@ -0,0 +1,256 @@
################################################################################
# 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
}
@@ -0,0 +1,12 @@
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) {
@@ -0,0 +1,12 @@
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";
@@ -0,0 +1,20 @@
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");
@@ -0,0 +1,26 @@
#
# 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++;
}
@@ -0,0 +1,34 @@
################################################################################
# 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/>.
################################################################################
export HOME="/storage"
export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export LD_LIBRARY_PATH="/usr/lib:/lib"
export HOSTNAME=`cat /etc/hostname`
export PS1="\[\e[1;32m\]\h\[\e[1;32m\]:\[\e[1;34m\]\w \[\e[0m\]\\$ "
# TODO: k0p: remove this and/or force TERM=xterm ? ping dag-
case "$TERM" in
linux|nxterm|screen|xterm|xterm-color)
;;
"")
export TERM="linux"
;;
*)
export TERM="xterm"
;;
esac
+40
View File
@@ -0,0 +1,40 @@
#!/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
+146
View File
@@ -0,0 +1,146 @@
#!/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
+70
View File
@@ -0,0 +1,70 @@
#!/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
+732
View File
@@ -0,0 +1,732 @@
#!/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,3 +1,5 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
@@ -16,5 +18,6 @@
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
d /run/openelec 0755 root root - -
d /run/openelec/debug 0755 root root - -
# show release information
. /etc/os-release
echo "$PRETTY_NAME"
+34
View File
@@ -0,0 +1,34 @@
#!/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
+26
View File
@@ -0,0 +1,26 @@
#!/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/>.
################################################################################
#
# wrapper for curl, posting to the sprunge.us pastebin
# reads from stdin if called without an argument
#
cat "$@" | curl -F 'sprunge=<-' http://sprunge.us
@@ -1,4 +1,5 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
@@ -17,21 +18,15 @@
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
# Attempts to generate a unique machine ID based on one local MAC address
# MACHINEID SHOULD be the same between upgrades/reinstalls
# MAC is hashed so that it cant be reversed making it anonymous
# Used to help with global usage statistics, also used for dbus and systemd
message="$message\n There is no working 'sudo'."
message="$message\n "
message="$message\n On debian/ubuntu/all general purpose linux distributions 'sudo'"
message="$message\n allows a permitted user to execute a command as the superuser"
message="$message\n or another user, as specified by the security policy"
message="$message\n "
message="$message\n With OpenELEC you have root access by default, so you dont need 'sudo'"
message="$message\n "
# creating machine-id, systemd otherwise does this automatically if not present.
# this we want to avoid to have the same machine-id over reboot, fallback
# to systemd's solution if this dont work here
echo -e $message
if [ -e "/sys/class/net/eth0/address" ]; then
MAC_ADRESS=`cat /sys/class/net/eth0/address`
elif [ -e "/sys/class/net/wlan0/address" ]; then
MAC_ADRESS=`cat /sys/class/net/wlan0/address`
fi
MACHINEID=`echo $MAC_ADRESS | md5sum | cut -f1 -d" "`
echo "$MACHINEID" > /run/machine-id
exit 1
@@ -0,0 +1,97 @@
#!/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
@@ -0,0 +1 @@
kernel.core_pattern=/storage/.cache/cores/core.%E.%t.%p
@@ -0,0 +1,2 @@
dev.cdrom.lock=0
dev.cdrom.autoclose=0
@@ -0,0 +1 @@
vm.min_free_kbytes=16384
@@ -0,0 +1,11 @@
[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
@@ -0,0 +1,16 @@
[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
@@ -0,0 +1,22 @@
[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
@@ -0,0 +1,6 @@
[Unit]
Description=Wifi Menu
Requires=multi-user.target
After=multi-user.target
Conflicts=rescue.target
AllowIsolate=yes
@@ -0,0 +1,25 @@
[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
@@ -0,0 +1,10 @@
[Unit]
Description=FS Resize
DefaultDependencies=no
[Service]
Type=idle
ExecStart=/usr/lib/openelec/fs-resize
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
@@ -0,0 +1,5 @@
[Unit]
Description=FS Resize target
Requires=fs-resize.service
After=fs-resize.service
AllowIsolate=yes
@@ -0,0 +1,22 @@
[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
@@ -0,0 +1,13 @@
[Unit]
Description=Show Version
DefaultDependencies=false
ConditionKernelCommandLine=!morequiet
[Service]
Type=oneshot
ExecStart=/usr/bin/lsb_release
RemainAfterExit=yes
#StandardOutput=tty
[Install]
WantedBy=basic.target
@@ -0,0 +1,6 @@
[Unit]
Description=Textmode
Requires=multi-user.target
After=multi-user.target
Conflicts=rescue.target
AllowIsolate=yes
@@ -0,0 +1,18 @@
[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
@@ -0,0 +1,22 @@
# 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
@@ -0,0 +1,26 @@
################################################################################
# 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/>.
################################################################################
d /var/lock 0755 root root - -
d /var/media 0755 root root - -
f /var/run/utmp 1777 root root - -
d /storage/.update 0755 root root - -
d /storage/.cache/cores 0755 root root - -
d /storage/.cache/services 0755 root root - -
d /storage/.config 0755 root root - -
@@ -0,0 +1,48 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue ([email protected])
#
# This Program 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, or (at your option)
# any later version.
#
# This Program 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.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="connman-ncurses"
PKG_VERSION="e2ad506"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/eurogiciel-oss/connman-json-client"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain ncurses json-c"
PKG_PRIORITY="optional"
PKG_SECTION="network"
PKG_SHORTDESC="A ncurses UI for connman"
PKG_LONGDESC="A ncurses UI for connman"
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
PKG_CONFIGURE_OPTS_TARGET="--disable-optimization --enable-debug"
pre_configure_target() {
if [ -f ../configure ]; then
sed -i "s|/usr/include/ncurses|$SYSROOT_PREFIX/usr/include/ncurses|g" ../configure
fi
}
makeinstall_target() {
mkdir -p $INSTALL/usr/bin
cp connman_ncurses $INSTALL/usr/bin/connman-ncurses
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

+98 -3
View File
@@ -76,7 +76,7 @@
# 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"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="yes"
@@ -239,5 +239,100 @@
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;Coleco - ColecoVision.lpl;DOOM.lpl;FB Alpha - Arcade Games.lpl;GCE - Vectrex.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/bluemsx_libretro.so;/tmp/cores/prboom_libretro.so;/tmp/cores/fba_libretro.so;/tmp/cores/vecx_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/gpsp_libretro.so;/tmp/cores/gpsp_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"
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"
+23
View File
@@ -2,22 +2,45 @@
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
+1 -1
View File
@@ -18,7 +18,7 @@
PKG_NAME="alsa-lib"
PKG_VERSION="1.1.0"
PKG_REV="1"
PKG_REV="4"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.alsa-project.org/"
@@ -0,0 +1,2 @@
#Keep Alsa default order
for i in 5 4 3 2 1 0; do [ -e /dev/snd/pcmC${i}D0p ] && export ALSA_CARD=$i; done
+1 -1
View File
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="binutils"
PKG_VERSION="2.25"
PKG_VERSION="2.26.1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
+40
View File
@@ -0,0 +1,40 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue ([email protected])
#
# This Program 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, or (at your option)
# any later version.
#
# This Program 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.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="json-c"
PKG_VERSION="33ae9f5"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/json-c/json-c"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="devel"
PKG_SHORTDESC="A JSON implementation in C"
PKG_LONGDESC="JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects. It aims to conform to RFC 7159"
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_realloc_0_nonnull=yes \
ac_cv_func_malloc_0_nonnull=yes \
--enable-static --disable-shared \
--disable-oldname-compat"
+4 -4
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="odroidc1-mali"
PKG_VERSION="r5p1-01rel0-armhf"
PKG_VERSION="31d5c21"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="nonfree"
@@ -41,10 +41,10 @@ make_target() {
makeinstall_target() {
mkdir -p $SYSROOT_PREFIX/usr/lib
cp -PR usr/lib/* $SYSROOT_PREFIX/usr/lib
cp -PR fbdev/mali_libs/* $SYSROOT_PREFIX/usr/lib
mkdir -p $SYSROOT_PREFIX/usr/include
cp -PR usr/include/* $SYSROOT_PREFIX/usr/include
cp -PR fbdev/mali_libs/* $SYSROOT_PREFIX/usr/include
mkdir -p $INSTALL/usr/lib
cp -PR usr/lib/*.so* $INSTALL/usr/lib
cp -PR fbdev/mali_libs/*.so* $INSTALL/usr/lib
}
+2 -2
View File
@@ -19,12 +19,12 @@
################################################################################
PKG_NAME="odroidxu3-mali"
PKG_VERSION="r6p0-02rel0"
PKG_VERSION="r7p0-02rel0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="nonfree"
PKG_SITE="http://malideveloper.arm.com/resources/drivers/arm-mali-midgard-gpu-user-space-drivers/"
PKG_URL="http://malideveloper.arm.com/downloads/drivers/binary/r6p0-02rel0/mali-t62x_r6p0-02rel0_linux_1+fbdev.tar.gz"
PKG_URL="http://malideveloper.arm.com/downloads/drivers/binary/r7p0-02rel0/mali-t62x_r7p0-02rel0_linux_1+fbdev.tar.gz"
PKG_SOURCE_DIR="fbdev"
PKG_BUILD_DEPENDS_TARGET="toolchain"
PKG_DEPENDS_TARGET="libump odroidxu3-mali-headers"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-ngp beetle-sgx genesis-plus-gx mupen64plus lutro gpsp 2048 pcsx_rearmed snes9x-next vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-wswan beetle-ngp beetle-sgx genesis-plus-gx mupen64plus lutro gpsp 2048 pcsx_rearmed snes9x-next vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for Bananapi"
@@ -18,17 +18,17 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="OPiPC"
PKG_NAME="Gamegirl"
PKG_VERSION=""
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-ngp beetle-sgx genesis-plus-gx mupen64plus lutro gpsp 2048 pcsx_rearmed snes9x-next vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em genesis-plus-gx 81 fuse-libretro gw-libretro lutro gpsp 2048 vecx dinothawr prboom beetle-wswan beetle-ngp beetle-pce beetle-sgx handy picodrive pocketsnes nxengine fceumm gambatte stella fba libretro-ffmpeg gamegirl-screen gamegirl-joypad"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for OrangePi-PC"
PKG_SHORTDESC="Lakka metapackage for Gamegirl"
PKG_LONGDESC=""
PKG_IS_ADDON="no"
+4 -1
View File
@@ -25,7 +25,10 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch o2em puae snes9x picodrive 81 yabause hatari dosbox mame2003 gw-libretro fuse-libretro scummvm bluemsx beetle-sgx lutro 4do prosystem bsnes-mercury tyrquake 2048 virtualjaguar ppsspp beetle-vb beetle-wswan desmume beetle-ngp beetle-pcfx beetle-psx mupen64plus vecx snes9x-next dinothawr prboom beetle-pce fba handy genesis-plus-gx nxengine nestopia gambatte stella vbam libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch uzebox mgba o2em puae snes9x picodrive 81 yabause hatari dosbox mame2003 gw-libretro fuse-libretro scummvm bluemsx beetle-sgx lutro 4do prosystem bsnes-mercury tyrquake 2048 virtualjaguar ppsspp beetle-vb beetle-wswan desmume beetle-ngp beetle-pcfx beetle-psx mupen64plus vecx snes9x-next dinothawr prboom beetle-pce fba handy genesis-plus-gx nxengine nestopia gambatte stella vbam libretro-ffmpeg"
if [ "$ARCH" == "x86_64" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET reicast"
fi
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for Generic"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for OdroidC1"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for OdroidXU3"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em genesis-plus-gx 81 fuse-libretro gw-libretro lutro gpsp 2048 vecx dinothawr prboom beetle-ngp beetle-pce handy picodrive pocketsnes nxengine fceumm gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em genesis-plus-gx 81 fuse-libretro gw-libretro lutro gpsp 2048 vecx dinothawr prboom beetle-wswan beetle-ngp beetle-pce beetle-sgx handy picodrive pocketsnes nxengine fceumm gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for RPi"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em ppsspp 81 fuse-libretro gw-libretro beetle-sgx beetle-ngp lutro snes9x-next genesis-plus-gx pcsx_rearmed mupen64plus gpsp 2048 vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch uzebox tyrquake scummvm dosbox mgba prosystem o2em ppsspp 81 fuse-libretro gw-libretro beetle-wswan beetle-sgx beetle-ngp lutro snes9x-next genesis-plus-gx pcsx_rearmed mupen64plus gpsp 2048 vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for RPi 2"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for Wandboard"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for WeTek_Core"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for WeTek_Play"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-ngp beetle-sgx genesis-plus-gx mupen64plus lutro gpsp 2048 pcsx_rearmed snes9x-next vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-wswan beetle-ngp beetle-sgx genesis-plus-gx mupen64plus lutro gpsp 2048 pcsx_rearmed snes9x-next vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for Cubieboard"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-ngp beetle-sgx genesis-plus-gx mupen64plus lutro gpsp 2048 pcsx_rearmed snes9x-next vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-wswan beetle-ngp beetle-sgx genesis-plus-gx mupen64plus lutro gpsp 2048 pcsx_rearmed snes9x-next vecx dinothawr prboom beetle-pce handy picodrive pocketsnes nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for Cubieboard2 and Cubietruck"
+1 -1
View File
@@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lakkatv/Lakka"
PKG_URL=""
PKG_DEPENDS_TARGET="retroarch prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_DEPENDS_TARGET="retroarch tyrquake scummvm dosbox mgba prosystem o2em 81 fuse-libretro gw-libretro beetle-sgx genesis-plus-gx mupen64plus lutro gpsp ppsspp 2048 beetle-vb beetle-wswan beetle-ngp pcsx_rearmed vecx snes9x-next dinothawr prboom beetle-pce handy picodrive nxengine nestopia gambatte stella fba libretro-ffmpeg"
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
PKG_SHORTDESC="Lakka metapackage for Cuboxi and Hummingboard"
@@ -0,0 +1,127 @@
Index: gcc-4.9.2/gcc/cp/Make-lang.in
===================================================================
--- gcc-4.9.2/gcc/cp/Make-lang.in (revision 233574)
+++ gcc-4.9.2/gcc/cp/Make-lang.in (working copy)
@@ -111,7 +111,7 @@ else
# deleting the $(srcdir)/cp/cfns.h file.
$(srcdir)/cp/cfns.h:
endif
- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
$(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
#
Index: gcc-4.9.2/gcc/cp/cfns.gperf
===================================================================
--- gcc-4.9.2/gcc/cp/cfns.gperf (revision 233574)
+++ gcc-4.9.2/gcc/cp/cfns.gperf (working copy)
@@ -1,3 +1,5 @@
+%language=C++
+%define class-name libc_name
%{
/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
@@ -16,14 +18,6 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#ifdef __GNUC__
-__inline
-#endif
-static unsigned int hash (const char *, unsigned int);
-#ifdef __GNUC__
-__inline
-#endif
-const char * libc_name_p (const char *, unsigned int);
%}
%%
# The standard C library functions, for feeding to gperf; the result is used
Index: gcc-4.9.2/gcc/cp/cfns.h
===================================================================
--- gcc-4.9.2/gcc/cp/cfns.h (revision 233574)
+++ gcc-4.9.2/gcc/cp/cfns.h (working copy)
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */
+/* C++ code produced by gperf version 3.0.4 */
+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
&& ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
@@ -28,7 +28,7 @@
#error "gperf generated tables don't work with this execution character set. Please report a bug to <[email protected]>."
#endif
-#line 1 "cfns.gperf"
+#line 3 "cfns.gperf"
/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
@@ -47,26 +47,19 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#ifdef __GNUC__
-__inline
-#endif
-static unsigned int hash (const char *, unsigned int);
-#ifdef __GNUC__
-__inline
-#endif
-const char * libc_name_p (const char *, unsigned int);
/* maximum key range = 391, duplicates = 0 */
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static unsigned int
-hash (register const char *str, register unsigned int len)
+class libc_name
{
+private:
+ static inline unsigned int hash (const char *str, unsigned int len);
+public:
+ static const char *libc_name_p (const char *str, unsigned int len);
+};
+
+inline unsigned int
+libc_name::hash (register const char *str, register unsigned int len)
+{
static const unsigned short asso_values[] =
{
400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
@@ -122,14 +115,8 @@ along with GCC; see the file COPYING3. If not see
return hval + asso_values[(unsigned char)str[len - 1]];
}
-#ifdef __GNUC__
-__inline
-#ifdef __GNUC_STDC_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
const char *
-libc_name_p (register const char *str, register unsigned int len)
+libc_name::libc_name_p (register const char *str, register unsigned int len)
{
enum
{
Index: gcc-4.9.2/gcc/cp/except.c
===================================================================
--- gcc-4.9.2/gcc/cp/except.c (revision 233574)
+++ gcc-4.9.2/gcc/cp/except.c (working copy)
@@ -1030,7 +1030,8 @@ nothrow_libfn_p (const_tree fn)
unless the system headers are playing rename tricks, and if
they are, we don't want to be confused by them. */
id = DECL_NAME (fn);
- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
+ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),
+ IDENTIFIER_LENGTH (id));
}
/* Returns nonzero if an exception of type FROM will be caught by a
+4 -2
View File
@@ -50,7 +50,8 @@ PKG_CONFIGURE_OPTS_HOST="--disable-polly \
--disable-debug-runtime \
--disable-debug-symbols \
--enable-keep-symbols \
--enable-targets=r600"
--enable-targets=r600 \
--disable-bindings"
PKG_CONFIGURE_OPTS_TARGET="--enable-polly \
--disable-libcpp \
@@ -80,7 +81,8 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-polly \
--enable-timestamps \
--disable-backtraces \
--disable-libffi \
--disable-ltdl-install"
--disable-ltdl-install \
--disable-bindings"
if [ "$TARGET_ARCH" = i386 ]; then
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-targets=x86,r600"
+40
View File
@@ -0,0 +1,40 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue ([email protected])
#
# This Program 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, or (at your option)
# any later version.
#
# This Program 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.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="atari800"
PKG_VERSION="6e1883b"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/r-type/libretro-atari800"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="libretro"
PKG_SHORTDESC="atari800 3.1.0 for libretro/libco WIP"
PKG_LONGDESC="atari800 3.1.0 for libretro/libco WIP"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
makeinstall_target() {
mkdir -p $INSTALL/usr/lib/libretro
cp atari800_libretro.so $INSTALL/usr/lib/libretro/
}
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="bsnes-mercury"
PKG_VERSION="ccd4994"
PKG_VERSION="059235c"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
@@ -0,0 +1,30 @@
From f88e8d47bec8315dc3b0a15f73270360c55314ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Kj=C3=A6rgaard?= <[email protected]>
Date: Sun, 26 Jun 2016 16:21:18 +0200
Subject: [PATCH] Apply Brunnis input lag fix.
---
sfc/system/system.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sfc/system/system.cpp b/sfc/system/system.cpp
index 4d5db29..27ea216 100644
--- a/sfc/system/system.cpp
+++ b/sfc/system/system.cpp
@@ -282,7 +282,12 @@ void System::reset() {
void System::scanline() {
video.scanline();
- if(cpu.vcounter() == 241) scheduler.exit(Scheduler::ExitReason::FrameEvent);
+
+ const int vcounter_time_to_exit = ( ppu.overscan() == false ? 225 : 240 );
+
+ // Exit exactly at the right moment in order to minimize input latency - this cuts off 1 full frame of delay.
+ if( cpu.vcounter() == vcounter_time_to_exit )
+ scheduler.exit( Scheduler::ExitReason::FrameEvent );
}
void System::frame() {
--
2.7.4
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="common-shaders"
PKG_VERSION="f252d6a"
PKG_VERSION="7b403c8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="core-info"
PKG_VERSION="d700af8"
PKG_VERSION="20b3cde"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
+52
View File
@@ -0,0 +1,52 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue ([email protected])
#
# This Program 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, or (at your option)
# any later version.
#
# This Program 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.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="craft"
PKG_VERSION="a1e173b"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/libretro/Craft"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="libretro"
PKG_SHORTDESC="A simple Minecraft clone written in C using modern OpenGL (shaders)."
PKG_LONGDESC="A simple Minecraft clone written in C using modern OpenGL (shaders)."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
cd $ROOT/$PKG_BUILD
}
make_target() {
if [ "$OPENGLES_SUPPORT" = yes ]; then
make -f Makefile.libretro FORCE_GLES=1
else
make -f Makefile.libretro
fi
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib/libretro
cp craft_libretro.so $INSTALL/usr/lib/libretro/
}
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="dosbox"
PKG_VERSION="a8f9cb3"
PKG_VERSION="2f5aa7e"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
+44
View File
@@ -0,0 +1,44 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue ([email protected])
#
# This Program 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, or (at your option)
# any later version.
#
# This Program 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.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="emux-sms"
PKG_VERSION="867a76f"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/emux"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="libretro"
PKG_SHORTDESC="Libretro port of Emux"
PKG_LONGDESC="Emux is a cross-platform emulator project supporting various machines with an architecture inspired by the Linux kernel."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
make_target() {
make -C libretro -f Makefile.lakka MACHINE=sms
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib/libretro
cp libretro/emux_sms_libretro.so $INSTALL/usr/lib/libretro/emux_sms_libretro.so
}
@@ -0,0 +1,69 @@
diff -Naur emux.git/libretro/Makefile.lakka emux.patch/libretro/Makefile.lakka
--- emux.git/libretro/Makefile.lakka 1970-01-01 01:00:00.000000000 +0100
+++ emux.patch/libretro/Makefile.lakka 2016-05-12 08:46:58.338888783 +0200
@@ -0,0 +1,65 @@
+HOST_PLATFORM = linux
+
+TARGET_PLATFORM = lakka
+
+OBJEXT = .o
+SOEXT = .so
+
+################
+# Platform setup
+
+STATIC_LINKING = 0
+platform = unix
+PLATDEFS =
+PLATCFLAGS = -fpic -fstrict-aliasing
+PLATCXXFLAGS = -fpic -fstrict-aliasing
+PLATLDFLAGS = -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined
+PLATLDXFLAGS = -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined
+
+################
+# libretro setup
+
+RETRODEFS = -D__LIBRETRO__
+RETROCFLAGS =
+RETROCXXFLAGS =
+RETROLDFLAGS =
+RETROLDXFLAGS =
+
+#################
+# Final variables
+
+DEFINES += $(PLATDEFS) $(RETRODEFS)
+CFLAGS += $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES)
+CXXFLAGS += $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES)
+LDFLAGS += $(PLATLDFLAGS) $(RETROLDFLAGS)
+LDXFLAGS += $(PLATLDXFLAGS) $(RETROLDXFLAGS)
+
+########
+# Tuning
+
+ifneq ($(DEBUG),)
+ CFLAGS += -O0 -g
+ CXXFLAGS += -O0 -g
+else
+ CFLAGS += -O3 -DNDEBUG
+ CXXFLAGS += -O3 -DNDEBUG
+endif
+
+ifneq ($(LOG_PERFORMANCE),)
+ CFLAGS += -DLOG_PERFORMANCE
+ CXXFLAGS += -DLOG_PERFORMANCE
+endif
+
+####################################
+# Variable setup for Makefile.common
+
+CORE_DIR ?= ..
+BUILD_DIR ?= .
+INCLUDES =
+
+include $(BUILD_DIR)/Makefile.common
+
+###############
+# Include rules
+
+include $(BUILD_DIR)/Makefile.rules
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="fceumm"
PKG_VERSION="479d5d8"
PKG_VERSION="368f2e6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="gambatte"
PKG_VERSION="9596337"
PKG_VERSION="def1fbd"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="libretro-database"
PKG_VERSION="074523b"
PKG_VERSION="9dbef82"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
+2 -2
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="lutro"
PKG_VERSION="a19c2f1"
PKG_VERSION="927b49a"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MIT"
@@ -39,7 +39,7 @@ make_target() {
if [ "$ARCH" == "x86_64" ]; then
PTR_SIZE="-m64"
fi
make WANT_JIT=1 HOST_CC="$HOST_CC" PTR_SIZE="$PTR_SIZE" CROSS="$TARGET_PREFIX"
make WANT_JIT=1 HOST_CC="$HOST_CC" PTR_SIZE="$PTR_SIZE" CROSS="$TARGET_PREFIX" HAVE_COMPOSITION=1
}
makeinstall_target() {
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="mame2003"
PKG_VERSION="4145a3b"
PKG_VERSION="ae84f5d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MAME"
+6 -2
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="mgba"
PKG_VERSION="68c8e39"
PKG_VERSION="608b8e7"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MPLv2.0"
@@ -36,7 +36,11 @@ PKG_AUTORECONF="no"
make_target() {
cd $ROOT/$PKG_BUILD
make -f Makefile.libretro
if [[ "$ARCH" =~ "arm" ]]; then
make -f Makefile.libretro platform=unix-armv HAVE_NEON=1
else
make -f Makefile.libretro
fi
}
makeinstall_target() {
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="mupen64plus"
PKG_VERSION="b84dc7c"
PKG_VERSION="eb8f3d5"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
@@ -1,15 +0,0 @@
diff -Naur mupen64plus.git/mupen64plus-core/src/plugin/audio_libretro/audio_backend_libretro.c mupen64plus.patch/mupen64plus-core/src/plugin/audio_libretro/audio_backend_libretro.c
--- mupen64plus.git/mupen64plus-core/src/plugin/audio_libretro/audio_backend_libretro.c 2015-12-23 17:17:21.886100651 +0100
+++ mupen64plus.patch/mupen64plus-core/src/plugin/audio_libretro/audio_backend_libretro.c 2015-12-23 18:14:20.560292807 +0100
@@ -77,7 +77,11 @@
void init_audio_libretro(unsigned max_audio_frames)
{
+#if defined(__ARM_NEON__)
+ rarch_resampler_realloc(&resampler_audio_data, &resampler, "sinc", 1.0);
+#else
rarch_resampler_realloc(&resampler_audio_data, &resampler, "CC", 1.0);
+#endif
MAX_AUDIO_FRAMES = max_audio_frames;
+1 -1
View File
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="reicast"
PKG_VERSION="f39f030"
PKG_VERSION="a4b2829"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="retroarch-assets"
PKG_VERSION="70b7d1e"
PKG_VERSION="c8f7c0b"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="retroarch-joypad-autoconfig"
PKG_VERSION="1628dfc"
PKG_VERSION="ec890e8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
+20 -7
View File
@@ -19,13 +19,13 @@
################################################################################
PKG_NAME="retroarch"
PKG_VERSION="b4f4720"
PKG_REV="3"
PKG_VERSION="397f82c"
PKG_REV="5"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/libretro/RetroArch"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain alsa-lib freetype zlib retroarch-assets core-info retroarch-joypad-autoconfig common-shaders lakka-update libretro-database ffmpeg"
PKG_DEPENDS_TARGET="toolchain alsa-lib freetype zlib retroarch-assets core-info retroarch-joypad-autoconfig common-shaders lakka-update libretro-database ffmpeg connman-ncurses"
PKG_PRIORITY="optional"
PKG_SECTION="libretro"
PKG_SHORTDESC="Reference frontend for the libretro API."
@@ -80,7 +80,13 @@ pre_configure_target() {
}
make_target() {
make V=1 HAVE_LAKKA=1 HAVE_ZARCH=0 LAKKA_PROJECT='\"$PROJECT.$ARCH\"'
LAKKA_PROJECT="$PROJECT"
if [ "$PROJECT" == "imx6" -a -n "$SYSTEM" ]; then
LAKKA_PROJECT="$LAKKA_PROJECT.$SYSTEM"
fi
LAKKA_PROJECT="$LAKKA_PROJECT.$ARCH"
echo $LAKKA_PROJECT
make V=1 HAVE_LAKKA=1 HAVE_ZARCH=0 LAKKA_PROJECT=\'\"$LAKKA_PROJECT\"\'
make -C gfx/video_filters compiler=$CC extra_flags="$CFLAGS"
make -C audio/audio_filters compiler=$CC extra_flags="$CFLAGS"
}
@@ -101,7 +107,6 @@ makeinstall_target() {
sed -i -e "s/# libretro_directory =/libretro_directory = \"\/tmp\/cores\"/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# libretro_info_path =/libretro_info_path = \"\/tmp\/cores\"/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# rgui_browser_directory =/rgui_browser_directory =\/storage\/roms/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# core_assets_directory =/core_assets_directory =\/storage\/roms/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# content_database_path =/content_database_path =\/tmp\/database\/rdb/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# playlist_directory =/playlist_directory =\/storage\/playlists/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# savefile_directory =/savefile_directory =\/storage\/savefiles/" $INSTALL/etc/retroarch.cfg
@@ -113,6 +118,7 @@ makeinstall_target() {
sed -i -e "s/# assets_directory =/assets_directory =\/tmp\/assets/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# cheat_database_path =/cheat_database_path =\/tmp\/database\/cht/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# menu_driver = \"rgui\"/menu_driver = \"xmb\"/" $INSTALL/etc/retroarch.cfg
echo "core_assets_directory =/storage/roms/downloads" >> $INSTALL/etc/retroarch.cfg
# Video
sed -i -e "s/# video_smooth = true/video_smooth = false/" $INSTALL/etc/retroarch.cfg
@@ -132,15 +138,17 @@ makeinstall_target() {
# Input
sed -i -e "s/# input_driver = sdl/input_driver = udev/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# input_max_users =/input_max_users = 5/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# input_max_users = 16/input_max_users = 5/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# input_autodetect_enable = true/input_autodetect_enable = true/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# joypad_autoconfig_dir =/joypad_autoconfig_dir = \/tmp\/joypads/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# input_remapping_directory =/input_remapping_directory = \/storage\/remappings/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# input_menu_toggle_gamepad_combo =/input_menu_toggle_gamepad_combo = \"2\"/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# input_menu_toggle_gamepad_combo = 0/input_menu_toggle_gamepad_combo = 2/" $INSTALL/etc/retroarch.cfg
# Menu
sed -i -e "s/# menu_core_enable = true/menu_core_enable = false/" $INSTALL/etc/retroarch.cfg
sed -i -e "s/# thumbnails_directory =/thumbnails_directory = \/storage\/thumbnails/" $INSTALL/etc/retroarch.cfg
echo "xmb_theme = 2" >> $INSTALL/etc/retroarch.cfg
echo "xmb_menu_color_theme = 8" >> $INSTALL/etc/retroarch.cfg
# Updater
if [ "$ARCH" == "arm" ]; then
@@ -163,3 +171,8 @@ post_install() {
enable_service tmp-database.mount
enable_service tmp-assets.mount
}
post_makeinstall_target() {
mkdir -p $INSTALL/usr/lib/retroarch
cp $PKG_DIR/scripts/retroarch-config $INSTALL/usr/lib/retroarch
}
@@ -1,18 +1,18 @@
diff -Naur retroarch.git/gfx/drivers_context/drm_ctx.c retroarch.patch/gfx/drivers_context/drm_ctx.c
--- retroarch.git/gfx/drivers_context/drm_ctx.c 2016-04-08 12:00:23.808205458 +0200
+++ retroarch.patch/gfx/drivers_context/drm_ctx.c 2016-04-08 12:35:13.322971465 +0200
@@ -324,7 +324,10 @@
drm_free();
--- retroarch.git/gfx/drivers_context/drm_ctx.c 2016-05-26 23:11:52.632009156 +0200
+++ retroarch.patch/gfx/drivers_context/drm_ctx.c 2016-05-26 23:21:07.039178715 +0200
@@ -327,7 +327,10 @@
if (g_drm_fd >= 0)
+ {
+ drmDropMaster(g_drm_fd);
filestream_close(drm->drm);
+ }
if (drm->drm)
if (g_drm_fd >= 0)
+ {
+ drmDropMaster(g_drm_fd);
filestream_close(drm->drm);
+ }
g_gbm_surface = NULL;
g_gbm_dev = NULL;
@@ -420,6 +423,8 @@
@@ -423,6 +426,8 @@
drm->fb_width = g_drm_connector->modes[0].hdisplay;
drm->fb_height = g_drm_connector->modes[0].vdisplay;
@@ -0,0 +1,50 @@
diff -Naur retroarch/libretro-common/queues/task_queue.c retroarch.patch/libretro-common/queues/task_queue.c
--- retroarch/libretro-common/queues/task_queue.c 2016-07-31 00:07:35.497118479 +0200
+++ retroarch.patch/libretro-common/queues/task_queue.c 2016-08-02 22:18:01.040639520 +0200
@@ -82,7 +82,7 @@
{
if (task->error)
task_queue_msg_push(1, 60, true, "%s: %s",
- "Task failed\n", task->title);
+ "Task failed", task->title);
else
task_queue_msg_push(1, 60, true, "100%%: %s", task->title);
}
diff -Naur retroarch/menu/menu_displaylist.c retroarch.patch/menu/menu_displaylist.c
--- retroarch/menu/menu_displaylist.c 2016-07-31 00:07:32.108998293 +0200
+++ retroarch.patch/menu/menu_displaylist.c 2016-07-31 00:59:53.660611939 +0200
@@ -2688,6 +2688,7 @@
MENU_ENUM_LABEL_LOAD_STATE,
MENU_SETTING_ACTION_LOADSTATE, 0, 0);
+#ifndef HAVE_LAKKA
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UNDO_LOAD_STATE),
msg_hash_to_str(MENU_ENUM_LABEL_UNDO_LOAD_STATE),
@@ -2699,6 +2700,7 @@
msg_hash_to_str(MENU_ENUM_LABEL_UNDO_SAVE_STATE),
MENU_ENUM_LABEL_UNDO_SAVE_STATE,
MENU_SETTING_ACTION_LOADSTATE, 0, 0);
+#endif
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_OPTIONS),
diff -Naur retroarch/menu/menu_setting.c retroarch.patch/menu/menu_setting.c
--- retroarch/menu/menu_setting.c 2016-07-31 00:07:32.072997016 +0200
+++ retroarch.patch/menu/menu_setting.c 2016-08-09 14:16:29.955922130 +0200
@@ -4288,6 +4288,7 @@
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MENU_SETTINGS);
+#ifndef HAVE_LAKKA
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS),
@@ -4296,6 +4297,7 @@
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS);
+#endif
CONFIG_ACTION(
list, list_info,
@@ -0,0 +1,209 @@
diff --git a/intl/msg_hash_us.c b/intl/msg_hash_us.c
index fc4bdea..117d064 100644
--- a/intl/msg_hash_us.c
+++ b/intl/msg_hash_us.c
@@ -1350,6 +1350,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
return "deferred_updater_settings_list";
case MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST:
return "deferred_network_settings_list";
+ case MENU_ENUM_LABEL_DEFERRED_LAKKA_SERVICES_LIST:
+ return "deferred_lakka_services_list";
case MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST:
return "deferred_user_settings_list";
case MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST:
diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c
index 5eb7384..7abae3e 100644
--- a/menu/cbs/menu_cbs_deferred_push.c
+++ b/menu/cbs/menu_cbs_deferred_push.c
@@ -174,6 +174,11 @@ static int deferred_push_network_settings_list(menu_displaylist_info_t *info)
return deferred_push_dlist(info, DISPLAYLIST_NETWORK_SETTINGS_LIST);
}
+static int deferred_push_lakka_services_list(menu_displaylist_info_t *info)
+{
+ return deferred_push_dlist(info, DISPLAYLIST_LAKKA_SERVICES_LIST);
+}
+
static int deferred_push_user_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_USER_SETTINGS_LIST);
@@ -746,6 +751,12 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
return 0;
}
+ if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_LAKKA_SERVICES_LIST)))
+ {
+ BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_lakka_services_list);
+ return 0;
+ }
+
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_user_settings_list);
diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c
index 04ca710..85d27a1 100644
--- a/menu/cbs/menu_cbs_ok.c
+++ b/menu/cbs/menu_cbs_ok.c
@@ -696,6 +696,14 @@ int generic_action_ok_displaylist_push(const char *path,
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST;
dl_type = DISPLAYLIST_GENERIC;
break;
+ case ACTION_OK_DL_LAKKA_SERVICES_LIST:
+ info.directory_ptr = idx;
+ info.type = type;
+ info_path = path;
+ info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_LAKKA_SERVICES_LIST);
+ info.enum_idx = MENU_ENUM_LABEL_DEFERRED_LAKKA_SERVICES_LIST;
+ dl_type = DISPLAYLIST_GENERIC;
+ break;
case ACTION_OK_DL_USER_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
@@ -2660,6 +2668,13 @@ static int action_ok_network_list(const char *path,
entry_idx, ACTION_OK_DL_NETWORK_SETTINGS_LIST);
}
+static int action_ok_lakka_services(const char *path,
+ const char *label, unsigned type, size_t idx, size_t entry_idx)
+{
+ return generic_action_ok_displaylist_push(path, NULL, label, type, idx,
+ entry_idx, ACTION_OK_DL_LAKKA_SERVICES_LIST);
+}
+
static int action_ok_user_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@@ -3390,6 +3405,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_NETWORK_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_network_list);
break;
+ case MENU_ENUM_LABEL_LAKKA_SERVICES:
+ BIND_ACTION_OK(cbs, action_ok_lakka_services);
+ break;
case MENU_ENUM_LABEL_USER_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_user_list);
break;
diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c
index 5458f75..824976f 100644
--- a/menu/cbs/menu_cbs_title.c
+++ b/menu/cbs/menu_cbs_title.c
@@ -284,6 +284,13 @@ static int action_get_network_settings_list(const char *path, const char *label,
return 0;
}
+static int action_get_lakka_services_list(const char *path, const char *label,
+ unsigned menu_type, char *s, size_t len)
+{
+ sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LAKKA_SERVICES), len);
+ return 0;
+}
+
static int action_get_user_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
@@ -951,6 +958,12 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
return 0;
}
+ if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_LAKKA_SERVICES_LIST)))
+ {
+ BIND_ACTION_GET_TITLE(cbs, action_get_lakka_services_list);
+ return 0;
+ }
+
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_user_settings_list);
diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h
index 5926acc..0a5bf8f 100644
--- a/menu/menu_cbs.h
+++ b/menu/menu_cbs.h
@@ -85,6 +85,7 @@ enum
ACTION_OK_DL_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
ACTION_OK_DL_UPDATER_SETTINGS_LIST,
ACTION_OK_DL_NETWORK_SETTINGS_LIST,
+ ACTION_OK_DL_LAKKA_SERVICES_LIST,
ACTION_OK_DL_USER_SETTINGS_LIST,
ACTION_OK_DL_DIRECTORY_SETTINGS_LIST,
ACTION_OK_DL_PRIVACY_SETTINGS_LIST,
diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c
index a3acfe8..380b3b8 100644
--- a/menu/menu_displaylist.c
+++ b/menu/menu_displaylist.c
@@ -3951,6 +3951,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
case DISPLAYLIST_UPDATER_SETTINGS_LIST:
case DISPLAYLIST_NETWORK_SETTINGS_LIST:
+ case DISPLAYLIST_LAKKA_SERVICES_LIST:
case DISPLAYLIST_USER_SETTINGS_LIST:
case DISPLAYLIST_DIRECTORY_SETTINGS_LIST:
case DISPLAYLIST_PRIVACY_SETTINGS_LIST:
@@ -4607,6 +4608,22 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_refresh = true;
info->need_push = true;
break;
+ case DISPLAYLIST_LAKKA_SERVICES_LIST:
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SSH_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAMBA_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_BLUETOOTH_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
case DISPLAYLIST_USER_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_ACCOUNTS_LIST,
diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h
index ff5737f..51df36a 100644
--- a/menu/menu_displaylist.h
+++ b/menu/menu_displaylist.h
@@ -124,6 +124,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
DISPLAYLIST_UPDATER_SETTINGS_LIST,
DISPLAYLIST_NETWORK_SETTINGS_LIST,
+ DISPLAYLIST_LAKKA_SERVICES_LIST,
DISPLAYLIST_USER_SETTINGS_LIST,
DISPLAYLIST_DIRECTORY_SETTINGS_LIST,
DISPLAYLIST_PRIVACY_SETTINGS_LIST,
diff --git a/menu/menu_setting.c b/menu/menu_setting.c
index dacc66a..0c98055 100644
--- a/menu/menu_setting.c
+++ b/menu/menu_setting.c
@@ -4333,6 +4333,17 @@ static bool setting_append_list(
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_NETWORK_SETTINGS);
+#ifdef HAVE_SYSTEMD
+ CONFIG_ACTION(
+ list, list_info,
+ msg_hash_to_str(MENU_ENUM_LABEL_LAKKA_SERVICES),
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LAKKA_SERVICES),
+ &group_info,
+ &subgroup_info,
+ parent_group);
+ menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_LAKKA_SERVICES);
+#endif
+
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_SETTINGS),
diff --git a/msg_hash.h b/msg_hash.h
index 218fe86..431bc8c 100644
--- a/msg_hash.h
+++ b/msg_hash.h
@@ -780,6 +780,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST,
+ MENU_ENUM_LABEL_DEFERRED_LAKKA_SERVICES_LIST,
MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_PRIVACY_SETTINGS_LIST,
@@ -0,0 +1,143 @@
diff -Naur retroarch.git/configuration.c retroarch.patch/configuration.c
--- retroarch.git/configuration.c 2016-08-23 13:31:23.945845138 +0200
+++ retroarch.patch/configuration.c 2016-08-23 13:43:50.992094516 +0200
@@ -598,6 +598,7 @@
settings->ssh_enable = path_file_exists(LAKKA_SSH_PATH);
settings->samba_enable = path_file_exists(LAKKA_SAMBA_PATH);
settings->bluetooth_enable = path_file_exists(LAKKA_BLUETOOTH_PATH);
+ settings->connect_enable = path_file_exists(LAKKA_CONNECT_PATH);
#endif
#ifdef HAVE_MENU
@@ -1817,6 +1818,7 @@
settings->ssh_enable = path_file_exists(LAKKA_SSH_PATH);
settings->samba_enable = path_file_exists(LAKKA_SAMBA_PATH);
settings->bluetooth_enable = path_file_exists(LAKKA_BLUETOOTH_PATH);
+ settings->connect_enable = path_file_exists(LAKKA_CONNECT_PATH);
#endif
#ifdef HAVE_NETWORKGAMEPAD
@@ -3055,6 +3057,10 @@
fclose(fopen(LAKKA_BLUETOOTH_PATH, "w"));
else
remove(LAKKA_BLUETOOTH_PATH);
+ if (settings->connect_enable)
+ fclose(fopen(LAKKA_CONNECT_PATH, "w"));
+ else
+ remove(LAKKA_CONNECT_PATH);
#endif
config_set_float(conf, "fastforward_ratio",
diff -Naur retroarch.git/configuration.h retroarch.patch/configuration.h
--- retroarch.git/configuration.h 2016-08-23 13:31:24.125851460 +0200
+++ retroarch.patch/configuration.h 2016-08-23 13:44:30.741490625 +0200
@@ -440,6 +440,7 @@
bool ssh_enable;
bool samba_enable;
bool bluetooth_enable;
+ bool connect_enable;
#endif
} settings_t;
diff -Naur retroarch.git/intl/msg_hash_us.c retroarch.patch/intl/msg_hash_us.c
--- retroarch.git/intl/msg_hash_us.c 2016-08-23 13:31:22.105780455 +0200
+++ retroarch.patch/intl/msg_hash_us.c 2016-08-23 13:41:35.075320315 +0200
@@ -1614,6 +1614,8 @@
return "samba_enable";
case MENU_ENUM_LABEL_BLUETOOTH_ENABLE:
return "bluetooth_enable";
+ case MENU_ENUM_LABEL_CONNECT_ENABLE:
+ return "connect_enable";
case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
return "netplay_delay_frames";
case MENU_ENUM_LABEL_NETPLAY_MODE:
@@ -2882,6 +2884,8 @@
return "SAMBA Enable";
case MENU_ENUM_LABEL_VALUE_BLUETOOTH_ENABLE:
return "Bluetooth Enable";
+ case MENU_ENUM_LABEL_VALUE_CONNECT_ENABLE:
+ return "Boot to Wi-Fi Menu";
case MENU_ENUM_LABEL_VALUE_NETPLAY_DELAY_FRAMES:
return "Netplay Delay Frames";
case MENU_ENUM_LABEL_VALUE_NETPLAY_MODE:
diff -Naur retroarch.git/lakka.h retroarch.patch/lakka.h
--- retroarch.git/lakka.h 2016-08-23 13:31:15.661553920 +0200
+++ retroarch.patch/lakka.h 2016-08-23 13:34:05.895537524 +0200
@@ -20,6 +20,7 @@
#define LAKKA_SSH_PATH "/storage/.cache/services/sshd.conf"
#define LAKKA_SAMBA_PATH "/storage/.cache/services/samba.conf"
#define LAKKA_BLUETOOTH_PATH "/storage/.cache/services/bluez.conf"
+#define LAKKA_CONNECT_PATH "/storage/.please_connect_me"
#define LAKKA_UPDATE_DIR "/storage/.update/"
#endif
diff -Naur retroarch.git/menu/menu_displaylist.c retroarch.patch/menu/menu_displaylist.c
--- retroarch.git/menu/menu_displaylist.c 2016-08-23 13:31:16.121570091 +0200
+++ retroarch.patch/menu/menu_displaylist.c 2016-08-23 13:39:23.250689209 +0200
@@ -4623,6 +4623,10 @@
MENU_ENUM_LABEL_BLUETOOTH_ENABLE,
PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CONNECT_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
info->need_refresh = true;
info->need_push = true;
break;
diff -Naur retroarch.git/menu/menu_setting.c retroarch.patch/menu/menu_setting.c
--- retroarch.git/menu/menu_setting.c 2016-08-23 13:31:16.101569388 +0200
+++ retroarch.patch/menu/menu_setting.c 2016-08-23 13:38:46.681404387 +0200
@@ -3661,6 +3661,16 @@
systemd_service_toggle(LAKKA_BLUETOOTH_PATH, (char*)"bluetooth.service",
enable);
}
+
+static void connect_enable_toggle_change_handler(void *data)
+{
+ bool enable = false;
+ settings_t *settings = config_get_ptr();
+ if (settings && settings->connect_enable)
+ fclose(fopen(LAKKA_CONNECT_PATH, "w"));
+ else
+ remove(LAKKA_CONNECT_PATH);
+}
#endif
enum settings_list_type
@@ -7729,6 +7739,23 @@
(*list)[list_info->index - 1].change_handler = bluetooth_enable_toggle_change_handler;
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_BLUETOOTH_ENABLE);
+ CONFIG_BOOL(
+ list, list_info,
+ &settings->connect_enable,
+ msg_hash_to_str(MENU_ENUM_LABEL_CONNECT_ENABLE),
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONNECT_ENABLE),
+ true,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF),
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON),
+ &group_info,
+ &subgroup_info,
+ parent_group,
+ general_write_handler,
+ general_read_handler,
+ SD_FLAG_NONE);
+ (*list)[list_info->index - 1].change_handler = connect_enable_toggle_change_handler;
+ menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_CONNECT_ENABLE);
+
END_SUB_GROUP(list, list_info, parent_group);
END_GROUP(list, list_info, parent_group);
#endif
diff -Naur retroarch.git/msg_hash.h retroarch.patch/msg_hash.h
--- retroarch.git/msg_hash.h 2016-08-23 13:31:23.869842459 +0200
+++ retroarch.patch/msg_hash.h 2016-08-23 13:42:08.852506833 +0200
@@ -1034,6 +1034,8 @@
MENU_ENUM_LABEL_VALUE_SAMBA_ENABLE,
MENU_ENUM_LABEL_BLUETOOTH_ENABLE,
MENU_ENUM_LABEL_VALUE_BLUETOOTH_ENABLE,
+ MENU_ENUM_LABEL_CONNECT_ENABLE,
+ MENU_ENUM_LABEL_VALUE_CONNECT_ENABLE,
MENU_ENUM_LABEL_NETPLAY_CLIENT_SWAP_INPUT,
MENU_ENUM_LABEL_VALUE_NETPLAY_CLIENT_SWAP_INPUT,
MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES,
@@ -0,0 +1,21 @@
diff --git a/command.c b/command.c
index 921d035..26e4ce0 100644
--- a/command.c
+++ b/command.c
@@ -2278,6 +2278,7 @@ bool command_event(enum event_command cmd, void *data)
case CMD_EVENT_SHUTDOWN:
#if defined(__linux__) && !defined(ANDROID)
runloop_msg_queue_push("Shutting down...", 1, 180, true);
+ command_event(CMD_EVENT_MENU_SAVE_CURRENT_CONFIG, NULL);
command_event(CMD_EVENT_QUIT, NULL);
system("shutdown -P now");
#endif
@@ -2285,6 +2286,7 @@ bool command_event(enum event_command cmd, void *data)
case CMD_EVENT_REBOOT:
#if defined(__linux__) && !defined(ANDROID)
runloop_msg_queue_push("Rebooting...", 1, 180, true);
+ command_event(CMD_EVENT_MENU_SAVE_CURRENT_CONFIG, NULL);
command_event(CMD_EVENT_QUIT, NULL);
system("shutdown -r now");
#endif
@@ -0,0 +1,17 @@
diff -Naur retroarch.git/menu/menu_displaylist.c retroarch.patch/menu/menu_displaylist.c
--- retroarch.git/menu/menu_displaylist.c 2016-08-27 00:44:35.533114074 +0200
+++ retroarch.patch/menu/menu_displaylist.c 2016-08-27 00:46:37.393497089 +0200
@@ -2916,11 +2916,11 @@
#ifdef HAVE_NETWORKING
#ifdef HAVE_LAKKA
- menu_entries_append_enum(info->list,
+/* menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UPDATE_LAKKA),
msg_hash_to_str(MENU_ENUM_LABEL_UPDATE_LAKKA),
MENU_ENUM_LABEL_UPDATE_LAKKA,
- MENU_SETTING_ACTION, 0, 0);
+ MENU_SETTING_ACTION, 0, 0);*/
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_THUMBNAILS_UPDATER_LIST),
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
for i in 5 4 3 2 1 0; do [ -e /dev/snd/pcmC${i}D0p ] && export ALSA_CARD=$i; done
echo "ALSA_CARD=\"$ALSA_CARD\"" > /run/openelec/retroarch.conf
@@ -9,6 +9,8 @@ Environment=DISPLAY=:0.0
Environment=SDL_MOUSE_RELATIVE=0
Environment=FB_MULTI_BUFFER=2
Environment=HOME=/storage
EnvironmentFile=-/run/openelec/retroarch.conf
ExecStartPre=-/usr/lib/retroarch/retroarch-config
ExecStart=/usr/bin/retroarch
# keep KillMode=process unless there is no good reason to switch to cgroup
KillMode=process
Loaded 100 of 551 files, more files were not shown because too many files have changed in this diff. Show more