Merge pull request #3597 from HiassofT/le10-rpi4

add support for Raspberry Pi 4
This commit is contained in:
MilhouseVH 2019-07-03 19:17:43 +01:00 committed by GitHub
commit 26c5f767e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 5681 additions and 41 deletions

View File

@ -107,7 +107,7 @@ get_graphicdrivers() {
fi fi
if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then
GALLIUM_DRIVERS+=" vc4" GALLIUM_DRIVERS+=" vc4 v3d kmsro"
V4L2_SUPPORT="yes" V4L2_SUPPORT="yes"
VAAPI_SUPPORT="no" VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no" VDPAU_SUPPORT="no"

View File

@ -6,6 +6,6 @@
"description": "@DESCRIPTION@", "description": "@DESCRIPTION@",
"username": "root", "username": "root",
"password": "@ROOT_PASSWORD@", "password": "@ROOT_PASSWORD@",
"supported_models": [@NOOBS_SUPPORTED_MODELS@], "supported_hex_revisions": "@NOOBS_HEX@",
"supported_hex_revisions": "@NOOBS_HEX@" "supported_models": [@NOOBS_SUPPORTED_MODELS@]
} }

View File

@ -19,7 +19,7 @@ PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=1 \
-DHAVE_AOCEC_API=0 -DHAVE_AMLOGIC_API=0 \ -DHAVE_AOCEC_API=0 -DHAVE_AMLOGIC_API=0 \
-DHAVE_GIT_BIN=0" -DHAVE_GIT_BIN=0"
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then if [ "$PROJECT" = "RPi" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver" PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver"
fi fi
@ -34,7 +34,7 @@ if [ "$CEC_FRAMEWORK_SUPPORT" = "yes" ]; then
fi fi
pre_configure_target() { pre_configure_target() {
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then if [ "$PROJECT" = "RPi" ]; then
# detecting RPi support fails without -lvchiq_arm # detecting RPi support fails without -lvchiq_arm
export LDFLAGS="$LDFLAGS -lvchiq_arm" export LDFLAGS="$LDFLAGS -lvchiq_arm"
fi fi

View File

@ -22,15 +22,31 @@ fi
make_target() { make_target() {
# Install vendor header files # Install vendor header files
mkdir -p ${SYSROOT_PREFIX}/usr/include mkdir -p ${SYSROOT_PREFIX}/usr/include
cp -PRv ${PKG_FLOAT}/opt/vc/include/* ${SYSROOT_PREFIX}/usr/include if [ "${OPENGLES}" = "bcm2835-driver" ]; then
cp -PRv ${PKG_FLOAT}/opt/vc/include/* ${SYSROOT_PREFIX}/usr/include
else
for f in $(cd ${PKG_FLOAT}/opt/vc/include; ls | grep -v "GL"); do
cp -PRv ${PKG_FLOAT}/opt/vc/include/$f ${SYSROOT_PREFIX}/usr/include
done
fi
# Install EGL, OpenGL ES, Open VG, etc. vendor libs & pkgconfigs # Install EGL, OpenGL ES, Open VG, etc. vendor libs & pkgconfigs
mkdir -p ${SYSROOT_PREFIX}/usr/lib mkdir -p ${SYSROOT_PREFIX}/usr/lib
cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${SYSROOT_PREFIX}/usr/lib if [ "${OPENGLES}" = "bcm2835-driver" ]; then
ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmEGL.so ${SYSROOT_PREFIX}/usr/lib/libEGL.so cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${SYSROOT_PREFIX}/usr/lib
ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmGLESv2.so ${SYSROOT_PREFIX}/usr/lib/libGLESv2.so ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmEGL.so ${SYSROOT_PREFIX}/usr/lib/libEGL.so
cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.a ${SYSROOT_PREFIX}/usr/lib ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmGLESv2.so ${SYSROOT_PREFIX}/usr/lib/libGLESv2.so
cp -PRv ${PKG_FLOAT}/opt/vc/lib/pkgconfig ${SYSROOT_PREFIX}/usr/lib cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.a ${SYSROOT_PREFIX}/usr/lib
cp -PRv ${PKG_FLOAT}/opt/vc/lib/pkgconfig ${SYSROOT_PREFIX}/usr/lib
else
for f in $(cd ${PKG_FLOAT}/opt/vc/lib; ls *.so *.a | grep -Ev "^lib(EGL|GL)"); do
cp -PRv ${PKG_FLOAT}/opt/vc/lib/$f ${SYSROOT_PREFIX}/usr/lib
done
mkdir -p ${SYSROOT_PREFIX}/usr/lib/pkgconfig
for f in $(cd ${PKG_FLOAT}/opt/vc/lib/pkgconfig; ls | grep -v "gl"); do
cp -PRv ${PKG_FLOAT}/opt/vc/lib/pkgconfig/$f ${SYSROOT_PREFIX}/usr/lib/pkgconfig
done
fi
# Update prefix in vendor pkgconfig files # Update prefix in vendor pkgconfig files
for PKG_CONFIGS in $(find "${SYSROOT_PREFIX}/usr/lib" -type f -name "*.pc" 2>/dev/null); do for PKG_CONFIGS in $(find "${SYSROOT_PREFIX}/usr/lib" -type f -name "*.pc" 2>/dev/null); do
@ -46,11 +62,17 @@ make_target() {
makeinstall_target() { makeinstall_target() {
# Install EGL, OpenGL ES and other vendor libs # Install EGL, OpenGL ES and other vendor libs
mkdir -p ${INSTALL}/usr/lib mkdir -p ${INSTALL}/usr/lib
cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${INSTALL}/usr/lib if [ "${OPENGLES}" = "bcm2835-driver" ]; then
ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${INSTALL}/usr/lib
ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so.1 ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so
ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so.1
ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so.2 ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so
ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so.2
else
for f in $(cd ${PKG_FLOAT}/opt/vc/lib; ls *.so | grep -Ev "^lib(EGL|GL)"); do
cp -PRv ${PKG_FLOAT}/opt/vc/lib/$f ${INSTALL}/usr/lib
done
fi
# Install useful tools # Install useful tools
mkdir -p ${INSTALL}/usr/bin mkdir -p ${INSTALL}/usr/bin
@ -68,5 +90,7 @@ makeinstall_target() {
post_install() { post_install() {
# unbind Framebuffer console # unbind Framebuffer console
enable_service unbind-console.service if [ "${OPENGLES}" = "bcm2835-driver" ]; then
enable_service unbind-console.service
fi
} }

View File

@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="brcmfmac_sdio-firmware-rpi" PKG_NAME="brcmfmac_sdio-firmware-rpi"
PKG_VERSION="cda3df85ecbf1bf3ed756bc7c3cbd6ef4cce7c1d" PKG_VERSION="688531da4bcf802a814d9cb0c8b6d62e3b8a3327"
PKG_SHA256="866006c141c4dfb0e75cad3ea6136653659bc95f966cb66f1a7cf1db6167ed4a" PKG_SHA256="51a33d23127300dffd6ac088f372b83ab862053f5e4dc7130676ebaaa824e626"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/LibreELEC/LibreELEC.tv" PKG_SITE="https://github.com/LibreELEC/LibreELEC.tv"
PKG_URL="https://github.com/LibreELEC/$PKG_NAME/archive/$PKG_VERSION.tar.gz" PKG_URL="https://github.com/LibreELEC/$PKG_NAME/archive/$PKG_VERSION.tar.gz"

View File

@ -17,8 +17,13 @@ makeinstall_target() {
mkdir -p $INSTALL/usr/share/bootloader mkdir -p $INSTALL/usr/share/bootloader
cp -PRv LICENCE* $INSTALL/usr/share/bootloader cp -PRv LICENCE* $INSTALL/usr/share/bootloader
cp -PRv bootcode.bin $INSTALL/usr/share/bootloader cp -PRv bootcode.bin $INSTALL/usr/share/bootloader
cp -PRv fixup_x.dat $INSTALL/usr/share/bootloader/fixup.dat if [ "$DEVICE" = "RPi4" ]; then
cp -PRv start_x.elf $INSTALL/usr/share/bootloader/start.elf cp -PRv fixup4x.dat $INSTALL/usr/share/bootloader/fixup.dat
cp -PRv start4x.elf $INSTALL/usr/share/bootloader/start.elf
else
cp -PRv fixup_x.dat $INSTALL/usr/share/bootloader/fixup.dat
cp -PRv start_x.elf $INSTALL/usr/share/bootloader/start.elf
fi
find_file_path config/dt-blob.bin && cp -PRv $FOUND_PATH $INSTALL/usr/share/bootloader find_file_path config/dt-blob.bin && cp -PRv $FOUND_PATH $INSTALL/usr/share/bootloader

View File

@ -5,10 +5,10 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
mkdir -p $RELEASE_DIR/3rdparty/bootloader mkdir -p $RELEASE_DIR/3rdparty/bootloader
cp -PR $BUILD/bcm2835-bootloader-*/LICENCE* $RELEASE_DIR/3rdparty/bootloader/ cp -PR $INSTALL/usr/share/bootloader/LICENCE* $RELEASE_DIR/3rdparty/bootloader/
cp -PR $BUILD/bcm2835-bootloader-*/bootcode.bin $RELEASE_DIR/3rdparty/bootloader/ cp -PR $INSTALL/usr/share/bootloader/bootcode.bin $RELEASE_DIR/3rdparty/bootloader/
cp -PR $BUILD/bcm2835-bootloader-*/fixup_x.dat $RELEASE_DIR/3rdparty/bootloader/fixup.dat cp -PR $INSTALL/usr/share/bootloader/fixup.dat $RELEASE_DIR/3rdparty/bootloader/
cp -PR $BUILD/bcm2835-bootloader-*/start_x.elf $RELEASE_DIR/3rdparty/bootloader/start.elf cp -PR $INSTALL/usr/share/bootloader/start.elf $RELEASE_DIR/3rdparty/bootloader/
if [ -f $(get_build_dir slice-firmware)/dt-blob.bin ]; then if [ -f $(get_build_dir slice-firmware)/dt-blob.bin ]; then
cp -PR $(get_build_dir slice-firmware)/dt-blob.bin $RELEASE_DIR/3rdparty/bootloader/ cp -PR $(get_build_dir slice-firmware)/dt-blob.bin $RELEASE_DIR/3rdparty/bootloader/
fi fi

View File

@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="bcmstat" PKG_NAME="bcmstat"
PKG_VERSION="0.5.1" PKG_VERSION="0.5.2"
PKG_SHA256="88b3b189170e7d0eee83a233565d9ef0fb323489dc1161ef2392fca50e9637d6" PKG_SHA256="55dec681b8dddb3b4d98e339644fa68ff3d0f05d287b09037cbad4d450df7a3a"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/MilhouseVH/bcmstat" PKG_SITE="https://github.com/MilhouseVH/bcmstat"
PKG_URL="https://github.com/MilhouseVH/$PKG_NAME/archive/$PKG_VERSION.tar.gz" PKG_URL="https://github.com/MilhouseVH/$PKG_NAME/archive/$PKG_VERSION.tar.gz"

View File

@ -0,0 +1,38 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
################################################################################
# Bootloader configuration - config.txt
################################################################################
################################################################################
# Memory (System/GPU configuration )
################################################################################
# Default GPU memory split - at least 288M is needed for some 4k HEVC files
gpu_mem=320
################################################################################
# For overclocking and various other settings, see:
# https://www.raspberrypi.org/documentation/configuration/config-txt.md
################################################################################
# Set 'force_turbo=1' to disable dynamic overclocking and enable overclocking always.
force_turbo=0
# Force HDMI even if unplugged or powered off
# hdmi_force_hotplug=1
# Doesn't sent initial active source message.
# Avoids bringing CEC (enabled TV) out of standby and channel switch when
# rebooting.
hdmi_ignore_cec_init=1
################################################################################
# End of default configuration
################################################################################
################################################################################
# Include distribution specific config file if it exists.
################################################################################
[all]
include distroconfig.txt

View File

@ -0,0 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
# WARNING: DO NOT EDIT THIS FILE - IT WILL BE OVERWRITTEN WHEN UPGRADING!
dtoverlay=vc4-fkms-v3d
disable_overscan=1
dtparam=audio=on

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
################################################################################
# Device defaults
################################################################################
# NOOBS supported hex versions (legacy) is not relevant for RPi4
unset NOOBS_HEX
# NOOBS supported model versions
NOOBS_SUPPORTED_MODELS='"Pi 4"'
OPENGLES="mesa"
GRAPHIC_DRIVERS="vc4"
KODIPLAYER_DRIVER="mesa"
unset KODI_VENDOR

View File

@ -0,0 +1,37 @@
<confdir:pcm/iec958.conf>
bcm2835_alsa.pcm.iec958.0 {
@args [ CARD AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
}
@args.AES0 {
type integer
}
@args.AES1 {
type integer
}
@args.AES2 {
type integer
}
@args.AES3 {
type integer
}
type hooks
slave.pcm {
type hw
card $CARD
device 1
}
hooks.0 {
type ctl_elems
hook_args [
{
interface PCM
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
]
}
}

View File

@ -12,6 +12,9 @@
TARGET_CPU="arm1176jzf-s" TARGET_CPU="arm1176jzf-s"
elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then
TARGET_CPU="cortex-a7" TARGET_CPU="cortex-a7"
elif [ "$DEVICE" = "RPi4" ]; then
TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc"
fi fi
# TARGET_FLOAT: # TARGET_FLOAT:
@ -27,6 +30,8 @@
TARGET_FPU="vfp" TARGET_FPU="vfp"
elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then
TARGET_FPU="neon-vfpv4" TARGET_FPU="neon-vfpv4"
elif [ "$DEVICE" = "RPi4" ]; then
TARGET_FPU="neon-fp-armv8"
fi fi
TARGET_FEATURES="32bit" TARGET_FEATURES="32bit"
;; ;;
@ -110,7 +115,7 @@
# for a list of additional drivers see packages/linux-drivers # for a list of additional drivers see packages/linux-drivers
# Space separated list is supported, # Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2" # e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS rpi-cirrus-config" ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS rpi-cirrus-config bcm2835-driver"
# build and install driver addons (yes / no) # build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="yes" DRIVER_ADDONS_SUPPORT="yes"

View File

@ -363,6 +363,14 @@ if [ "${1}" = "release" -o "${1}" = "mkimage" -o "${1}" = "noobs" ]; then
cp ${ROOT}/README* ${RELEASE_DIR}/${NOOBS_DISTRO} cp ${ROOT}/README* ${RELEASE_DIR}/${NOOBS_DISTRO}
cp ${ROOT}/CHANGELOG ${RELEASE_DIR}/${NOOBS_DISTRO}/release_notes.txt cp ${ROOT}/CHANGELOG ${RELEASE_DIR}/${NOOBS_DISTRO}/release_notes.txt
if [ -n "${NOOBS_HEX}" ]; then
sed -e "s%@NOOBS_HEX@%${NOOBS_HEX}%g" \
-i ${RELEASE_DIR}/${NOOBS_DISTRO}/os.json
else
sed -e "/@NOOBS_HEX@/d" \
-i ${RELEASE_DIR}/${NOOBS_DISTRO}/os.json
fi
sed -e "s%@DISTRONAME@%${DISTRONAME}%g" \ sed -e "s%@DISTRONAME@%${DISTRONAME}%g" \
-e "s%@PROJECT@%${DEVICE:-${PROJECT}}%g" \ -e "s%@PROJECT@%${DEVICE:-${PROJECT}}%g" \
-e "s%@LIBREELEC_VERSION@%${LIBREELEC_VERSION}%g" \ -e "s%@LIBREELEC_VERSION@%${LIBREELEC_VERSION}%g" \
@ -371,7 +379,6 @@ if [ "${1}" = "release" -o "${1}" = "mkimage" -o "${1}" = "noobs" ]; then
-e "s%@DESCRIPTION@%${DESCRIPTION}%g" \ -e "s%@DESCRIPTION@%${DESCRIPTION}%g" \
-e "s%@ROOT_PASSWORD@%${ROOT_PASSWORD}%g" \ -e "s%@ROOT_PASSWORD@%${ROOT_PASSWORD}%g" \
-e "s%@NOOBS_SUPPORTED_MODELS@%${NOOBS_SUPPORTED_MODELS}%g" \ -e "s%@NOOBS_SUPPORTED_MODELS@%${NOOBS_SUPPORTED_MODELS}%g" \
-e "s%@NOOBS_HEX@%${NOOBS_HEX}%g" \
-i ${RELEASE_DIR}/${NOOBS_DISTRO}/os.json -i ${RELEASE_DIR}/${NOOBS_DISTRO}/os.json
sed -e "s%@DISTRONAME@%${DISTRONAME}%g" \ sed -e "s%@DISTRONAME@%${DISTRONAME}%g" \
@ -382,17 +389,14 @@ if [ "${1}" = "release" -o "${1}" = "mkimage" -o "${1}" = "noobs" ]; then
# Create System dir # Create System dir
mkdir -p ${RELEASE_DIR}/${NOOBS_DISTRO}/System mkdir -p ${RELEASE_DIR}/${NOOBS_DISTRO}/System
BOOTLOADER_DIR="$(get_pkg_directory "${BOOTLOADER}")"
if [ -d ${BOOTLOADER_DIR}/files/3rdparty/bootloader/ ]; then
cp -PR ${BOOTLOADER_DIR}/files/3rdparty/bootloader/* ${RELEASE_DIR}/${NOOBS_DISTRO}/System
fi
# Copy Bootloader # Copy Bootloader
cp -PR ${BUILD}/bcm2835-bootloader-*/LICENCE* ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ cp -PR ${INSTALL}/usr/share/bootloader/config.txt ${RELEASE_DIR}/${NOOBS_DISTRO}/System/
cp -PR ${BUILD}/bcm2835-bootloader-*/bootcode.bin ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ cp -PR ${INSTALL}/usr/share/bootloader/distroconfig.txt ${RELEASE_DIR}/${NOOBS_DISTRO}/System/
cp -PR ${BUILD}/bcm2835-bootloader-*/fixup_x.dat ${RELEASE_DIR}/${NOOBS_DISTRO}/System/fixup.dat cp -PR ${INSTALL}/usr/share/bootloader/LICENCE* ${RELEASE_DIR}/${NOOBS_DISTRO}/System/
cp -PR ${BUILD}/bcm2835-bootloader-*/start_x.elf ${RELEASE_DIR}/${NOOBS_DISTRO}/System/start.elf cp -PR ${INSTALL}/usr/share/bootloader/bootcode.bin ${RELEASE_DIR}/${NOOBS_DISTRO}/System/
[ -f ${BUILD}/bcm2835-bootloader-*/dt-blob.bin ] && cp -PR ${BUILD}/bcm2835-bootloader-*/dt-blob.bin ${RELEASE_DIR}/${NOOBS_DISTRO}/System/dt-blob.bin cp -PR ${INSTALL}/usr/share/bootloader/fixup.dat ${RELEASE_DIR}/${NOOBS_DISTRO}/System/
cp -PR ${INSTALL}/usr/share/bootloader/start.elf ${RELEASE_DIR}/${NOOBS_DISTRO}/System/
[ -f ${INSTALL}/usr/share/bootloader/dt-blob.bin ] && cp -PR ${INSTALL}/usr/share/bootloader/dt-blob.bin ${RELEASE_DIR}/${NOOBS_DISTRO}/System/dt-blob.bin
# Copy system files # Copy system files
cp ${TARGET_IMG}/${IMAGE_NAME}.system ${RELEASE_DIR}/${NOOBS_DISTRO}/System/SYSTEM cp ${TARGET_IMG}/${IMAGE_NAME}.system ${RELEASE_DIR}/${NOOBS_DISTRO}/System/SYSTEM
@ -429,8 +433,8 @@ if [ "${1}" = "release" -o "${1}" = "mkimage" -o "${1}" = "noobs" ]; then
rm -rf ${RELEASE_DIR}/${NOOBS_DISTRO}/Storage.tar.xz rm -rf ${RELEASE_DIR}/${NOOBS_DISTRO}/Storage.tar.xz
# Create filesystem tarballs # Create filesystem tarballs
tar cJf ${RELEASE_DIR}/${NOOBS_DISTRO}/System.tar.xz -C ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ . ${TOOLCHAIN}/bin/fakeroot tar cJf ${RELEASE_DIR}/${NOOBS_DISTRO}/System.tar.xz -C ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ .
tar cJf ${RELEASE_DIR}/${NOOBS_DISTRO}/Storage.tar.xz -C ${RELEASE_DIR}/${NOOBS_DISTRO}/Storage/ . ${TOOLCHAIN}/bin/fakeroot tar cJf ${RELEASE_DIR}/${NOOBS_DISTRO}/Storage.tar.xz -C ${RELEASE_DIR}/${NOOBS_DISTRO}/Storage/ .
# Remove filesystem dirs # Remove filesystem dirs
rm -rf ${RELEASE_DIR}/${NOOBS_DISTRO}/System rm -rf ${RELEASE_DIR}/${NOOBS_DISTRO}/System