forked from JustEnoughLinuxOS/distribution
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 29c0cde
Showing
2,187 changed files
with
269,598 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
build.* | ||
sources | ||
release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
* text=auto eol=lf | ||
*.patch -text | ||
|
||
# build directorys | ||
/build.*/ | ||
/.fakeroot.* | ||
/.ccache-* | ||
/.env | ||
|
||
# automatically downloaded source files | ||
/sources/ | ||
/.stamps/ | ||
|
||
# prebuild target binarys to provide | ||
/target/ | ||
|
||
# mkpkg temp | ||
mkpkg-temp | ||
|
||
# options | ||
/.libreelec | ||
|
||
# private working directory | ||
/.work/ | ||
|
||
# dedicated filesystem | ||
/lost+found/ | ||
|
||
# symlinks... | ||
/sources | ||
/.work | ||
|
||
# ccache | ||
/.ccache/ | ||
|
||
# backup files | ||
*.orig | ||
|
||
# vim swap files | ||
*.swp | ||
|
||
# crap | ||
.DS_Store | ||
.directory | ||
|
||
repo/ | ||
repo | ||
local.conf | ||
sx05re-kodi*.log | ||
|
||
packages/sx05re/experimental/ | ||
|
||
release/ | ||
|
||
.lastbuild | ||
|
||
SOURCES |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
FROM ubuntu:20.04 | ||
|
||
RUN apt-get update \ | ||
&& DEBIAN_FRONTEND=noninteractive \ | ||
apt-get install -y \ | ||
gcc make git unzip wget \ | ||
xz-utils libsdl2-dev libsdl2-mixer-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev \ | ||
rapidjson-dev libasound2-dev libgl1-mesa-dev build-essential libboost-all-dev cmake fonts-droid-fallback \ | ||
libvlc-dev libvlccore-dev vlc-bin texinfo premake4 golang libssl-dev curl patchelf \ | ||
xmlstarlet patchutils gawk gperf xfonts-utils default-jre python xsltproc libjson-perl \ | ||
lzop libncurses5-dev device-tree-compiler u-boot-tools rsync p7zip unrar libparse-yapp-perl \ | ||
zip binutils-aarch64-linux-gnu dos2unix p7zip-full libvpx-dev bsdmainutils bc meson \ | ||
&& apt-get autoremove --purge -y \ | ||
&& apt-get clean -y \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN adduser --disabled-password --gecos '' docker | ||
|
||
RUN mkdir -p /work && chown docker /work | ||
|
||
WORKDIR /work | ||
USER docker |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
BUILD_DIRS=build.* | ||
|
||
all: | ||
|
||
system: | ||
./scripts/image | ||
|
||
release: | ||
./scripts/image release | ||
|
||
image: | ||
./scripts/image mkimage | ||
|
||
noobs: | ||
./scripts/image noobs | ||
|
||
clean: | ||
rm -rf $(BUILD_DIRS) | ||
|
||
distclean: | ||
rm -rf ./.ccache* ./$(BUILD_DIRS) | ||
|
||
src-pkg: | ||
tar cvJf sources.tar.xz sources .stamps | ||
|
||
world: | ||
DEVICE=RG351P ARCH=arm ./scripts/build_distro | ||
DEVICE=RG351P ARCH=aarch64 ./scripts/build_distro | ||
DEVICE=RG351V ARCH=arm ./scripts/build_distro | ||
DEVICE=RG351V ARCH=aarch64 ./scripts/build_distro | ||
DEVICE=RG351MP ARCH=arm ./scripts/build_distro | ||
DEVICE=RG351MP ARCH=aarch64 ./scripts/build_distro | ||
|
||
RG351P: | ||
DEVICE=RG351P ARCH=arm ./scripts/build_distro | ||
DEVICE=RG351P ARCH=aarch64 ./scripts/build_distro | ||
|
||
RG351V: | ||
DEVICE=RG351V ARCH=arm ./scripts/build_distro | ||
DEVICE=RG351V ARCH=aarch64 ./scripts/build_distro | ||
|
||
RG351MP: | ||
DEVICE=RG351MP ARCH=arm ./scripts/build_distro | ||
DEVICE=RG351MP ARCH=aarch64 ./scripts/build_distro | ||
|
||
RG552: | ||
DEVICE=RG552 ARCH=arm ./scripts/build_distro | ||
DEVICE=RG552 ARCH=aarch64 ./scripts/build_distro | ||
|
||
update: | ||
DEVICE=RG351P ARCH=aarch64 ./scripts/update_packages | ||
|
||
package: | ||
./scripts/build ${PACKAGE} | ||
|
||
package-clean: | ||
./scripts/clean ${PACKAGE} | ||
|
||
## Docker builds - overview | ||
# docker-* commands just wire up docker to call the normal make command via docker | ||
# For example: make docker-RG351V will use docker to call: make RG351V | ||
# All variables are scoped to docker-* commands to prevent weird collisions/behavior with non-docker commands | ||
|
||
docker-%: DOCKER_IMAGE := "jelos/jelos-build:latest" | ||
|
||
# DOCKER_WORK_DIR is the directory in the Docker image - it used to be /work | ||
# Anytime this directory changes, you must run `make clean` similarly to moving the 351ELEC directory | ||
docker-%: DOCKER_WORK_DIR := $(shell if [ -n "${DOCKER_WORK_DIR}" ]; then echo ${DOCKER_WORK_DIR}; else echo $$(pwd); fi) | ||
|
||
# DEVELOPER_SETTINGS is a file containing developer speicific settings. This will be mounted into the container if it exists | ||
docker-%: DEVELOPER_SETTINGS := $(shell if [ -f "${HOME}/developer_settings.conf" ]; then echo "-v \"${HOME}/developer_settings.conf:${HOME}/developer_settings.conf\""; else echo ""; fi) | ||
|
||
# UID is the user ID of current user - ensures docker sets file permissions properly | ||
docker-%: UID := $(shell id -u) | ||
|
||
# GID is the main user group of current user - ensures docker sets file permissions properly | ||
docker-%: GID := $(shell id -g) | ||
|
||
# PWD is 'present working directory' and passes through the full path to current dir to docker (becomes 'work') | ||
docker-%: PWD := $(shell pwd) | ||
|
||
# Command to use (either `docker` or `podman`) | ||
docker-%: DOCKER_CMD:= $(shell if which docker 2>/dev/null 1>/dev/null; then echo "docker"; elif which podman 2>/dev/null 1>/dev/null; then echo "podman"; fi) | ||
|
||
# Podman requires some extra args (`--userns=keep-id` and `--security-opt=label=disable`). Set those args if using podman | ||
docker-%: PODMAN_ARGS:= $(shell if ! which docker 2>/dev/null 1>/dev/null && which podman 2> /dev/null 1> /dev/null; then echo "--userns=keep-id --security-opt=label=disable -v /proc/mounts:/etc/mtab"; fi) | ||
|
||
# Use 'sudo' if docker ps doesn't work. In theory, other things than missing sudo could cause this. But sudo needed is a common issue and easy to fix. | ||
docker-%: SUDO := $(shell if which docker 2> /dev/null 1> /dev/null && ! docker ps -q 2> /dev/null 1> /dev/null ; then echo "sudo"; fi) | ||
|
||
# Launch docker as interactive if this is an interactive shell (allows ctrl-c for manual and running non-interactive - aka: build server) | ||
docker-%: INTERACTIVE=$(shell [ -t 0 ] && echo "-it") | ||
|
||
# By default pass through anything after `docker-` back into `make` | ||
docker-%: COMMAND=make $* | ||
|
||
# Get .env file ready | ||
docker-%: $(shell env | grep "=" > .env) | ||
|
||
# If the user issues a `make docker-shell` just start up bash as the shell to run commands | ||
docker-shell: COMMAND=bash | ||
|
||
# Command: builds docker image locally from Dockerfile | ||
docker-image-build: | ||
$(SUDO) $(DOCKER_CMD) build . -t $(DOCKER_IMAGE) | ||
|
||
# Command: pulls latest docker image from dockerhub. This will *replace* locally built version. | ||
docker-image-pull: | ||
$(SUDO) $(DOCKER_CMD) pull $(DOCKER_IMAGE) | ||
|
||
# Command: pushes the latest Docker image to dockerhub. This is *not* needed to build. It updates the latest build image in dockerhub for everyone. | ||
# Only 351elec admins in dockerhub can do this. | ||
# | ||
# You must login with: docker login --username <username> and provide either a password or token (from user settings -> security in dockerhub) before this will work. | ||
docker-image-push: | ||
$(SUDO) $(DOCKER_CMD) push $(DOCKER_IMAGE) | ||
|
||
# Wire up docker to call equivalent make files using % to match and $* to pass the value matched by % | ||
docker-%: | ||
$(SUDO) $(DOCKER_CMD) run $(PODMAN_ARGS) $(INTERACTIVE) --init --env-file .env --rm --user $(UID):$(GID) $(DEVELOPER_SETTINGS) -v $(PWD):$(DOCKER_WORK_DIR) -w $(DOCKER_WORK_DIR) $(DOCKER_IMAGE) $(COMMAND) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# JELOS - Just enough Linux Operating System | ||
Just Enough Linux Operating System (JELOS) is a simple Linux distribution for ARM based devices that specializes in handhelds. My goal is to build an operating system that has the features and capabilities that I need, and to have fun building it. | ||
|
||
## Features | ||
* A 64bit Operating System. | ||
* Support for FAT32, ExFAT, and EXT4 file systems. | ||
* Filesystem compatibility with Android | ||
|
||
## Licenses | ||
JELOS is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only. | ||
|
||
### JELOS Branding | ||
JELOS branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). | ||
|
||
#### You are free to | ||
* Share — copy and redistribute the material in any medium or format | ||
* Adapt — remix, transform, and build upon the material | ||
|
||
#### Under the following terms | ||
* Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. | ||
* NonCommercial — You may not use the material for commercial purposes. | ||
* ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. | ||
|
||
### JELOS Software | ||
Copyright 2021-present Fewtarius | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
|
||
## Installation | ||
* Download the latest [version of JELOS](https://github.com/JustEnoughLinuxOS/distribution/releases) (.img.gz) for your device. | ||
* Decompress the image. | ||
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too. | ||
|
||
## Upgrading JELOS | ||
* Download the latest [version of JELOS](https://github.com/JustEnoughLinuxOS/distribution/releases) (.tar or .img.gz) for your device. | ||
* Copy the update to your device over the network or to the sdcard's update folder. | ||
* Reboot the device, and the update will begin automatically. | ||
|
||
## Network Access | ||
* The username for ssh and samba access is "root". The default password is generated on boot. It can be found in the Network Settings menu. | ||
|
||
## Frequently Asked Questions | ||
* Does JELOS offer any support? | ||
* No. JELOS is something that I develop for fun, it is provided as-is. If you require a distribution with support, I recommend you choose a community supported distribution instead. | ||
* Do you plan to add additional ports, software, or emulators? | ||
* I add things to JELOS as I have an itch to scratch. The community has updated PortMaster to work with JELOS. | ||
* What about N64, Dreamcast, Saturn, Jaguar, PSP, etc on the 552? | ||
* Those platforms perform best in Android on the 552, and I have no interest in them. I recommend that you use Android instead for those. | ||
* Will you support my device? | ||
* If you send me a device and source code, I'll consider it. | ||
|
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | ||
<addon id="@PKG_ADDON_ID@" | ||
name="@ADDON_NAME@" | ||
version="@ADDON_VERSION@" | ||
provider-name="@PROVIDER_NAME@"> | ||
<requires> | ||
<import addon="xbmc.python" version="2.1.0"/> | ||
@REQUIRES@ | ||
</requires> | ||
<extension point="xbmc.service" library="default.py"> | ||
<provides>@PKG_ADDON_PROVIDES@</provides> | ||
</extension> | ||
<extension point="xbmc.addon.metadata"> | ||
<summary>@PKG_SHORTDESC@</summary> | ||
<description> | ||
@PKG_LONGDESC@ | ||
</description> | ||
<disclaimer> | ||
@PKG_DISCLAIMER@ | ||
</disclaimer> | ||
<broken> | ||
@PKG_ADDON_BROKEN@ | ||
</broken> | ||
<platform>all</platform> | ||
<news> | ||
@PKG_ADDON_NEWS@ | ||
</news> | ||
<assets> | ||
<icon>resources/icon.png</icon> | ||
<fanart>resources/fanart.png</fanart> | ||
@PKG_ADDON_SCREENSHOT@ | ||
</assets> | ||
</extension> | ||
</addon> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | ||
<addon id="@PKG_ADDON_ID@" | ||
name="@ADDON_NAME@" | ||
version="@ADDON_VERSION@" | ||
provider-name="@PROVIDER_NAME@"> | ||
<requires> | ||
<import addon="xbmc.python" version="2.1.0"/> | ||
@REQUIRES@ | ||
</requires> | ||
<extension point="xbmc.python.script" library="default.py" /> | ||
<extension point="xbmc.python.module" library="lib/"> | ||
</extension> | ||
<extension point="xbmc.addon.metadata"> | ||
<summary>@PKG_SHORTDESC@</summary> | ||
<description> | ||
@PKG_LONGDESC@ | ||
</description> | ||
<disclaimer> | ||
@PKG_DISCLAIMER@ | ||
</disclaimer> | ||
<platform>all</platform> | ||
<news> | ||
@PKG_ADDON_NEWS@ | ||
</news> | ||
<assets> | ||
<icon>resources/icon.png</icon> | ||
<fanart>resources/fanart.png</fanart> | ||
@PKG_ADDON_SCREENSHOT@ | ||
</assets> | ||
</extension> | ||
</addon> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | ||
<addon id="@PKG_ADDON_ID@" | ||
name="@ADDON_NAME@" | ||
version="@ADDON_VERSION@" | ||
provider-name="@PROVIDER_NAME@"> | ||
<requires> | ||
<import addon="xbmc.python" version="2.1.0"/> | ||
@REQUIRES@ | ||
</requires> | ||
<extension point="xbmc.python.script" library="default.py"> | ||
<provides>@PKG_ADDON_PROVIDES@</provides> | ||
</extension> | ||
<extension point="xbmc.addon.metadata"> | ||
<summary>@PKG_SHORTDESC@</summary> | ||
<description> | ||
@PKG_LONGDESC@ | ||
</description> | ||
<disclaimer> | ||
@PKG_DISCLAIMER@ | ||
</disclaimer> | ||
<platform>all</platform> | ||
<news> | ||
@PKG_ADDON_NEWS@ | ||
</news> | ||
<assets> | ||
<icon>resources/icon.png</icon> | ||
<fanart>resources/fanart.png</fanart> | ||
@PKG_ADDON_SCREENSHOT@ | ||
</assets> | ||
</extension> | ||
</addon> |
Oops, something went wrong.