mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
- add support for lzma compression linux: - build with squashfs lzma support project/intel: - build kernel with squashfs lzma support project/ION: - build kernel with squashfs lzma support
113 lines
3.8 KiB
Bash
Executable File
113 lines
3.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. config/options
|
|
|
|
PKG_DIR=`find $PACKAGES -type d -name $1`
|
|
|
|
BUILD_DATE=`date +%Y%m%d`
|
|
BZR_BUILD=`bzr version-info --custom --template={revno}`
|
|
|
|
[ "$OPENELEC_VERSION" = devel ] && \
|
|
OPENELEC_VERSION=$OPENELEC_VERSION-$BUILD_DATE-r$BZR_BUILD
|
|
[ "$OPENELEC_VERSION" = debug ] && \
|
|
OPENELEC_VERSION=$OPENELEC_VERSION-$BUILD_DATE-r$BZR_BUILD
|
|
|
|
case "$2" in
|
|
system)
|
|
|
|
$SCRIPTS/install squashfs
|
|
$SCRIPTS/build fakeroot
|
|
|
|
export INSTALL=$BUILD/$1/$2
|
|
|
|
rm -rf $ROOT/.fakeroot # remove /.fakeroot if it exist
|
|
touch $ROOT/.fakeroot # create an empty /.fakeroot
|
|
chmod +x $ROOT/.fakeroot # make /.fakeroot executable
|
|
echo "chown -R 0:0 $INSTALL" >> $ROOT/.fakeroot
|
|
|
|
rm -rf $INSTALL
|
|
mkdir -p $INSTALL
|
|
|
|
mkdir -p $INSTALL/bin
|
|
mkdir -p $INSTALL/etc
|
|
mkdir -p $INSTALL/lib
|
|
mkdir -p $INSTALL/sbin
|
|
mkdir -p $INSTALL/dev
|
|
mkdir -p $INSTALL/proc
|
|
mkdir -p $INSTALL/sys
|
|
mkdir -p $INSTALL/usr
|
|
mkdir -p $INSTALL/var
|
|
mkdir -p $INSTALL/flash
|
|
mkdir -p $INSTALL/storage
|
|
|
|
ln -sf /var $INSTALL/usr/var
|
|
ln -sf /var/tmp $INSTALL/tmp
|
|
ln -sf /var/media $INSTALL/media
|
|
|
|
# Basissystem...
|
|
$SCRIPTS/install $TARGET_LIBC
|
|
$SCRIPTS/install gcc-final
|
|
$SCRIPTS/install linux $2
|
|
$SCRIPTS/install busybox
|
|
$SCRIPTS/install util-linux-ng
|
|
|
|
echo $TARGET_ARCH > $INSTALL/etc/arch
|
|
echo "$OPENELEC_VERSION" > $INSTALL/etc/version
|
|
echo "OpenELEC.tv - Date of build: $BUILD_DATE Build: $BZR_BUILD" > $INSTALL/etc/openelec-release
|
|
|
|
# Network support
|
|
[ "$NETWORK" = yes ] && $SCRIPTS/install network
|
|
|
|
# Graphic support
|
|
[ ! "$DISPLAYSERVER" = no ] && $SCRIPTS/install $DISPLAYSERVER
|
|
|
|
# Multimedia support
|
|
[ ! "$MEDIACENTER" = no ] && $SCRIPTS/install mediacenter
|
|
|
|
# Games support
|
|
[ "$GAMES" = yes ] && $SCRIPTS/install games
|
|
[ "$EMULATORS" = yes ] && $SCRIPTS/install emulators
|
|
|
|
# Devtools... (not for Release)
|
|
[ "$DEVTOOLS" = yes ] && $SCRIPTS/install debug
|
|
|
|
# Devtools for Coreboot... (not for Release)
|
|
[ "$COREBOOT" = yes ] && $SCRIPTS/install superiotool
|
|
[ "$COREBOOT" = yes ] && $SCRIPTS/install flashrom
|
|
[ "$COREBOOT" = yes ] && $SCRIPTS/install getpir
|
|
|
|
# setting up hostname
|
|
echo "127.0.0.1 mobile.openelec.tv localhost" > $INSTALL/etc/hosts
|
|
|
|
mkdir -p $ROOT/target
|
|
rm -rf $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION.kernel
|
|
cp -PR $BUILD/linux-*/arch/x86/boot/bzImage $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION.kernel
|
|
|
|
echo "rm -rf $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION.system" >> $ROOT/.fakeroot
|
|
echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $INSTALL $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION.system -noappend -comp lzma" >> $ROOT/.fakeroot
|
|
$ROOT/$TOOLCHAIN/bin/fakeroot -- $ROOT/.fakeroot
|
|
chmod 0644 $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION.system
|
|
rm -rf $ROOT/.fakeroot
|
|
;;
|
|
|
|
qemu)
|
|
|
|
$SCRIPTS/install image system
|
|
|
|
mkdir -p $ROOT/target
|
|
rm -rf $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION-qemu.flash
|
|
qemu-img create -f raw $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION-qemu.flash 128M
|
|
/sbin/mkfs.ext3 -L OpenELEC -F $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION-qemu.flash
|
|
|
|
mkdir -p $ROOT/.tmp
|
|
sudo mount -o loop $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION-qemu.flash $ROOT/.tmp
|
|
cp -R $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION.system $ROOT/.tmp/openelec.system
|
|
sudo umount $ROOT/.tmp
|
|
|
|
rm -rf $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION-qemu.store
|
|
qemu-img create -f raw $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION-qemu.store 40M
|
|
/sbin/mkfs.ext3 -L OpenELEC -F $ROOT/target/OpenELEC-$PROJECT-$TARGET_LIBC-$OPENELEC_VERSION-qemu.store
|
|
;;
|
|
|
|
esac
|