Hallo Tom,
gibt es irgendwo eine Anleitung für Laien?
Gruß Claus
gibt es irgendwo eine Anleitung für Laien?
Gruß Claus
umask 0022
export WORKDIR_EIBD=/home/freetz/src
mkdir $WORKDIR_EIBD
# // Setup Cross Compiler
mkdir $WORKDIR_EIBD/freetz
cd $WORKDIR_EIBD/freetz
#svn co http://svn.freetz.org/trunk/
#cd $WORKDIR_EIBD/freetz/trunk
svn checkout http://svn.freetz.org/branches/freetz-stable-1.2 freetz-stable-1.2-eibd
cd $WORKDIR_EIBD/freetz/freetz-stable-1.2-eibd
make menuconfig
make precompiled
# // kaffeepause
export TOOLCHAIN=$WORKDIR_EIBD/freetz/freetz-stable-1.2-eibd/toolchain/target
export PATH=$TOOLCHAIN/bin:$PATH
export AR=$TOOLCHAIN/bin/mipsel-linux-uclibc-ar
export AS=$TOOLCHAIN/bin/mipsel-linux-uclibc-as
export LD=$TOOLCHAIN/bin/mipsel-linux-uclibc-ld
export NM=$TOOLCHAIN/bin/mipsel-linux-uclibc-nm
export CC=$TOOLCHAIN/bin/mipsel-linux-uclibc-gcc
export CPP=$TOOLCHAIN/bin/mipsel-linux-uclibc-cpp
export GCC=$TOOLCHAIN/bin/mipsel-linux-uclibc-gcc
export CC=$TOOLCHAIN/bin/mipsel-linux-uclibc-gcc
export CXX=$TOOLCHAIN/bin/mipsel-linux-uclibc-g++-wrapper
export RANLIB=$TOOLCHAIN/bin/mipsel-linux-uclibc-ranlib
export STRIP=$TOOLCHAIN/bin/mipsel-linux-uclibc-strip
export CROSS_ARCH=mipsel-linux-uclibc
export CROSS_BUILD=i386-pc-linux-gnu
export CPPFLAGS="-static -static-libgcc -lstdc++ -march=24kc -Os -pipe -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -I$TOOLCHAIN/include"
export LDFLAGS="-static -L$TOOLCHAIN/lib"
export CROSS_OUT=$WORKDIR_EIBD/cross_out
mkdir $CROSS_OUT
cd $WORKDIR_EIBD
wget http://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem_2.0.8.tar.gz
wget http://www.auto.tuwien.ac.at/~mkoegler/eib/argp-standalone-1.3.tar.gz
wget http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_0.0.5.tar.gz
tar -xvzf pthsem_2.0.8.tar.gz
tar -xvzf argp-standalone-1.3.tar.gz
tar -xvzf bcusdk_0.0.5.tar.gz
cd $WORKDIR_EIBD/argp-standalone-1.3/
./configure --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH
make && make install
cd $WORKDIR_EIBD/pthsem-2.0.8
# ohne mctx-Optionen kein Kompile unter linux >3.0
./configure --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH --enable-shared=no --with-mctx-mth=sjlj --with-mctx-dsp=ssjlj --with-mctx-stk=sas
make && make install
cd $WORKDIR_EIBD
cat << EOF > ./eibd_1.patch
--- bcusdk-0.0.5/eibd/usb/linux_usbfs.c.orig 2011-01-26 11:50:08.000000000 +0100
+++ bcusdk-0.0.5/eibd/usb/linux_usbfs.c 2011-08-25 22:57:29.000000000 +0200
@@ -52,7 +52,8 @@
return 0;
}
-int clock_gettime(clockid_t clk_id, struct timespec *tp)
+#define clock_gettime(A,B) xclock_gettime(A, B)
+int xclock_gettime(clockid_t clk_id, struct timespec *tp)
{
pth_int_time (tp);
return 0;
EOF
echo "PATCH 1"
patch ./bcusdk-0.0.5/eibd/usb/linux_usbfs.c eibd_1.patch || exit
cat << EOF > ./eibd_2.patch
--- a/eibd/server/eibd.cpp
+++ b/eibd/server/eibd.cpp
@@ -358,7 +358,7 @@ main (int ac, char *ag[])
}
l2 = Create (ag[index], arg.backendflags, &t);
- if (!l2->init ())
+ if (!l2 || !l2->init ())
die ("initialisation of the backend failed");
l3 = new Layer3 (l2, &t);
if (arg.port)
EOF
echo "PATCH 2"
patch ./bcusdk-0.0.5/eibd/server/eibd.cpp eibd_2.patch || exit
cd $WORKDIR_EIBD/bcusdk-0.0.5
export CPPFLAGS="-static -static-libgcc -lstdc++ -Wl,-rpath -Wl,/var/media/ftp/add_on/lib -march=24kc -Os -pipe -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -I$TOOLCHAIN/include -static -I$CROSS_OUT/include"
export LDFLAGS="-static -L$TOOLCHAIN/lib -static -L$CROSS_OUT/lib"
#./configure --enable-shared=no --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH --with-pth=$CROSS_OUT --without-pth-test --enable-onlyeibd --enable-eibnetiptunnel --enable-eibnetipserver --enable-groupcache --enable-usb
./configure --enable-shared=no --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH --with-pth=$CROSS_OUT --without-pth-test --enable-onlyeibd --enable-eibnetiptunnel
make && make install
$STRIP $CROSS_OUT/bin/eibd
$STRIP $CROSS_OUT/bin/groupswrite
root@fritz:/var/mod/root# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/media/ftp/uStor01/EIB/lib root@fritz:/var/mod/root# echo $LD_LIBRARY_PATH /mod/lib:/var/media/ftp/uStor01/EIB/lib root@fritz:/var/mod/root# cd /var/media/ftp/uStor01/EIB/bin root@fritz:/var/media/ftp/uStor01/EIB/bin# ./eibd -d -i --no-tunnel-client-queuing ipt:192.168.178.19 W00000001: EIBD should not run as root root@fritz:/var/media/ftp/uStor01/EIB/bin# ./groupswrite ip:127.0.0.1 3/4/0 1 # Licht an Send request root@fritz:/var/media/ftp/uStor01/EIB/bin# ./groupswrite ip:127.0.0.1 3/4/0 0 # Licht aus Send request
#!/bin/sh
#SET BASEDIR
BASEDIR=/var/media/ftp/add_on
#Check if folder exists
while ! [ -d $BASEDIR ] ; do sleep 5; done
#Look for start script on box
for f in $BASEDIR; do
cd $f
if [ -x start.sh ]; then
sleep 60
$f/start.sh
fi
done
# send script to background so the other stuff in debug.cfg will get executed
done &
ERROR: kernel image is 1131776 bytes too big. See http://freetz.org/wiki/FAQ#Filesystemimagetoobig for details.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.


Kommentar