diff --git a/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules b/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules new file mode 100644 index 0000000000..961dcc02da --- /dev/null +++ b/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules @@ -0,0 +1,29 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +#      Copyright (C) 2010-2011 Roman Weber (roman@openelec.tv) +# +# 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, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +SUBSYSTEM!="block", GOTO="end" +ACTION!="add", GOTO="end" + +ACTION=="add", IMPORT{program}="/sbin/blkid -o udev -p %N" +ACTION=="add", ENV{ID_FS_TYPE}=="hfs|hfsplus", RUN+="/usr/sbin/fsck.hfsplus -r -y /dev/%k" + +# exit +LABEL="end" diff --git a/packages/toolchain/toolchains/darwin-cross/meta b/packages/toolchain/toolchains/darwin-cross/meta new file mode 100644 index 0000000000..3c96175b4b --- /dev/null +++ b/packages/toolchain/toolchains/darwin-cross/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="darwin-cross" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://gcc.gnu.org/" +PKG_URL="http://atv-bootloader.googlecode.com/files/$PKG_NAME.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="" +PKG_PRIORITY="optional" +PKG_SECTION="toolchain/toolchains" +PKG_SHORTDESC="darwin-cross: darwin gcc etc" +PKG_LONGDESC="This package contains the GNU Compiler Collection to build for darwin systems" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/toolchain/toolchains/darwin-cross/unpack b/packages/toolchain/toolchains/darwin-cross/unpack new file mode 100755 index 0000000000..0f3856fa43 --- /dev/null +++ b/packages/toolchain/toolchains/darwin-cross/unpack @@ -0,0 +1,27 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + + +. config/options $1 + +tar -xzf "${PKG_BUILD}/darwin-cross.tar.gz" -C "${PKG_BUILD}" +mv "${PKG_BUILD}/darwin-cross/"* "${PKG_BUILD}" diff --git a/packages/tools/atv-bootloader/build b/packages/tools/atv-bootloader/build new file mode 100755 index 0000000000..522e4cef36 --- /dev/null +++ b/packages/tools/atv-bootloader/build @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD + +TOOLS_PREFIX=$(readlink -f ../) + +sed -i -e "s:/opt:$TOOLS_PREFIX:" Makefile + diff --git a/packages/tools/atv-bootloader/meta b/packages/tools/atv-bootloader/meta new file mode 100644 index 0000000000..1c0b9d48b1 --- /dev/null +++ b/packages/tools/atv-bootloader/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="atv-bootloader" +PKG_VERSION="r518" +PKG_REV="1" +PKG_ARCH="i386 x86_64" +PKG_LICENSE="GPL" +PKG_SITE="http://code.google.com/p/atv-bootloader/" +PKG_URL="http://travisghansen.openelec.tv/sources/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="darwin-cross" +PKG_BUILD_DEPENDS="" +PKG_PRIORITY="optional" +PKG_SECTION="tools" +PKG_SHORTDESC="atv-bootloader: Tool to create a mach_kernel compaitible kernel image" +PKG_LONGDESC="atv-bootloader which uses principals from mach_linux_boot to boot a compiled-in Linux kernel" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/projects/ATV/options b/projects/ATV/options index 0b52d8d9f6..2fa6fd7efc 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -78,7 +78,7 @@ PROJECT_CFLAGS="" # Bootloader to use (syslinux / u-boot) - BOOTLOADER="" + BOOTLOADER="atv-bootloader" # Configuration for u-boot UBOOT_CONFIG="" diff --git a/scripts/image_squashfs b/scripts/image_squashfs index abf205f707..03edaf095b 100755 --- a/scripts/image_squashfs +++ b/scripts/image_squashfs @@ -46,11 +46,24 @@ mkdir -p $TARGET_IMG KERNEL_ARCH="arm" fi - cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + if [ "$BOOTLOADER" = "atv-bootloader" ]; then + $SCRIPTS/build atv-bootloader + echo "creating mach_kernel compatible kernel image" + cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $BUILD/atv-bootloader* + cd $BUILD/atv-bootloader* + mv $KERNEL_IMAGE vmlinuz + make clean + make LDFLAGS="" + cd - + cp -PR $BUILD/atv-bootloader*/mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + else + cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + fi echo "rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system" >> $FAKEROOT_SCRIPT # echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend -comp xz" >> $FAKEROOT_SCRIPT echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend" >> $FAKEROOT_SCRIPT $ROOT/$TOOLCHAIN/bin/fakeroot -- $FAKEROOT_SCRIPT chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system + chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel rm -rf $FAKEROOT_SCRIPT