Freetz mit Linux auf einer PS3 erstellen...

highlander78

Neuer User
Mitglied seit
5 Mai 2006
Beiträge
139
Punkte für Reaktionen
0
Punkte
0
Hallo,

bin dabei Freetz auf meiner PS3 mit Ubuntu zu erstellen , hier der erste Fehler.
Vielleicht hat jemand einen Tip...?
Code:
# configuration written to .config
#
make[1]: Verlasse Verzeichnis '/home/wiesel25/Freetz/freetz-trunk/source/ref-8mb_26-12043/kernel/kernel_8mb_26_build/kernel/linux-2.6.19.2'
touch source/ref-8mb_26-12043/kernel/.configured
PATH=/home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games \
	make -j2 -C source/ref-8mb_26-12043/kernel/kernel_8mb_26_build/kernel/linux-2.6.19.2 \
		CROSS_COMPILE="mipsel-unknown-linux-gnu-" \
		KERNEL_MAKE_PATH="/home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" \
		ARCH="mips" \
		KERNEL_LAYOUT="8mb_26" \
		prepare
/home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin/mipsel-unknown-linux-gnu-gcc: /home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin/mipsel-unknown-linux-gnu-gcc: cannot execute binary file
make[1]: Betrete Verzeichnis '/home/wiesel25/Freetz/freetz-trunk/source/ref-8mb_26-12043/kernel/kernel_8mb_26_build/kernel/linux-2.6.19.2'
scripts/kconfig/conf -s arch/mips/Kconfig
sound/arm/Kconfig:42:warning: 'select' used by config symbol 'SND_OMAP_AIC23' refer to undefined symbol 'OMAP_MCBSP'
sound/arm/Kconfig:57:warning: 'select' used by config symbol 'SND_OMAP_TSC2101' refer to undefined symbol 'OMAP_MCBSP'
sound/oss/Kconfig:872:warning: 'select' used by config symbol 'SOUND_DAVINCI' refer to undefined symbol 'DAVINCI_MCBSP'
make[1]: Verlasse Verzeichnis '/home/wiesel25/Freetz/freetz-trunk/source/ref-8mb_26-12043/kernel/kernel_8mb_26_build/kernel/linux-2.6.19.2'
/bin/sh: /home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin/mipsel-unknown-linux-gnu-gcc: cannot execute binary file
/bin/sh: /home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin/mipsel-unknown-linux-gnu-gcc: cannot execute binary file
/home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin/mipsel-unknown-linux-gnu-gcc: /home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin/mipsel-unknown-linux-gnu-gcc: cannot execute binary file
make[1]: Betrete Verzeichnis '/home/wiesel25/Freetz/freetz-trunk/source/ref-8mb_26-12043/kernel/kernel_8mb_26_build/kernel/linux-2.6.19.2'
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  UPD     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-mips
  CC      arch/mips/kernel/asm-offsets.s
/bin/sh: /home/wiesel25/Freetz/freetz-trunk/toolchain/kernel/bin/mipsel-unknown-linux-gnu-gcc: cannot execute binary file
make[2]: *** [arch/mips/kernel/asm-offsets.s] Fehler 126
make[1]: *** [prepare0] Fehler 2
make[1]: Verlasse Verzeichnis '/home/wiesel25/Freetz/freetz-trunk/source/ref-8mb_26-12043/kernel/kernel_8mb_26_build/kernel/linux-2.6.19.2'
make: *** [source/ref-8mb_26-12043/kernel/.depend_done] Fehler 2
wiesel25@ubuntu:~/Freetz/freetz-trunk$
 
Zuletzt bearbeitet:
Ich nehme mal an, dass die PS3 kein i686 ist. Daher musst du die Toolchain selbst bauen.

MfG Oliver
 
Danke für den Tip :)
 
So jetzt ist es nach einer Zeit abgebrochen:

-o insn-opinit.o
gcc -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -DHAVE_CONFIG_H -I. -I. -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/. -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/../include -c insn-peep.c \
-o insn-peep.o
gcc -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -DHAVE_CONFIG_H -I. -I. -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/. -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/../include -c insn-recog.c \
-o insn-recog.o
gcc -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -DHAVE_CONFIG_H -I. -I. -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/. -I/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/../include \
-DTARGET_MACHINE=\"mipsel-unknown-linux-gnu\" \
-c /home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/collect2.c -o collect2.o
In Funktion »open«,
eingefügt von »collect_execute« bei /home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6/gcc/collect2.c:1537:
/usr/include/bits/fcntl2.h:51: Fehler: Aufruf von »__open_missing_mode« mit Attributfehler deklariert: open with O_CREAT in second argument needs 3 arguments
make[2]: *** [collect2.o] Fehler 1
make[2]: *** Warte auf noch nicht beendete Prozesse...
make[2]: Verlasse Verzeichnis '/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6-build/gcc'
make[1]: *** [all-gcc] Fehler 2
make[1]: Verlasse Verzeichnis '/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6-build'
make: *** [/home/wiesel25/Freetz/freetz-trunk/source/toolchain/kernel/gcc-3.4.6-build/.compiled] Fehler 2
wiesel25@ubuntu:~/Freetz/freetz-trunk$
 
Was für eine gcc Version hast du denn auf der PS3? Kannst du eine andere installieren?

MfG Oliver

edit: Hier gibts ein Patch für das Problem.
 
Zuletzt bearbeitet:
..........
wiesel25@ubuntu:~/Freetz/freetz-trunk$ gcc --version
gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2


P.S habe gerade den Patch gesehen
 
Da jast Du ja einen recht aufmerksamen Compiler.
Die Feststellung "open with O_CREAT in second argument needs 3 arguments" ist korrekt.

Wenn man sich das anschaut, dann ist das wirklich seltsam, und man wundert sich, wieso das noch nie Probleme gegeben hat.
Code:
source/toolchain/kernel/gcc-3.4.6/gcc/collect2.c:
1501 collect_execute (const char *prog, char **argv, const char *redir)
1534   if (redir)
1537       redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);

1573   collect_execute (prog, argv, NULL);
Der Grund ist, daß der einzige Aufruf der Funktion für "redir" den Wert NULL übergibt und somit diese Stelle nie ausgeführt wird.

Die kannst also diese Stelle nach Belieben ändern oder löschen, so daß der Compiler zufrieden ist.

Normalerweise würde ich auch vorschlagen, das als Bug zu melden, aber ich glaube nicht, daß noch jemand an den alten Compilern etwas ändert.
 
Hi,

also so wie ich das verstanden habe , soll ich die Zeilen die du oben gepostet hast in der Datei "collect2.c" löschen ? Ist das richtig ?
 
Nein. Du ersetzt die Zeile mit - durch die mit +.
Code:
--- gcc-3.4.6/gcc/collect2.c.orig	2008-10-20 14:47:56.000000000 +0200
+++ gcc-3.4.6/gcc/collect2.c	2008-10-20 14:48:49.000000000 +0200
@@ -1534,7 +1534,7 @@
   if (redir)
     {
       /* Open response file.  */
-      redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
+      redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0644);
 
       /* Duplicate the stdout and stderr file handles
   so they can be restored later.  */
MfG Oliver
 
Danke für die Hilfe , es läuft wieder.
 
Da die Zeile nie ausgeführt wird, ist es nicht von Bedeutung, ob sie gelöscht oder geändert wird.

Die Änderung von Oliver zeigt die richtige Verwendung von open mit O_CREAT, wobei man als dritten Wert (Zugriffsrechte der Datei) je nach geplantem Einsatz 0600, 0644 oder 0666 verwenden kann. Es kann in Einzelfällen auch andere sinnvolle Werte geben.
 
Hi,

habe erfolgreich ein Image für 7170 auf der PS3 erstellt.
Es gibt aber ein Problem und zwar dass es sich nicht flashen lässt.
Ich flashe ganz normal über AVM Webinterface ... nach dem neustart ist aber die alte Firmware noch drauf...

Habe es über Freetz Webinterface , aber ohne Erfolg .
Nach Neustart immer noch die gleiche Firmware drauf.

hier der Log vom Freetz Firmwareupdate.


AVM-Dienste anhalten, Teil 1 (prepare_fwupgrade start) ...
cat: can't open '/var/run/delayed_reboot.pid': No such file or directory
rm: cannot remove '/var/run/delayed_reboot.pid': No such file or directory
killall: minid: no process killed
killall: minid: no process killed
rmmod: rfcntl: No such file or directory
killall: flashd: no process killed
killall: minid: no process killed
disable watchdog
voipd: stopped.
rmmod: isdn_fbox_fon3: No such file or directory
killall: checkservices: no process killed
ERLEDIGT
Firmware-Archiv extrahieren ...
./
./var/
./var/regelex
./var/install
./var/flash_update.o
./var/static.pkg
./var/chksum
./var/.packages
./var/info.txt
./var/flash_update.ko
./var/signature
./var/tmp/
./var/tmp/kernel.image
./var/tmp/filesystem.image
./var/.config
DONE
AVM-Dienste anhalten, Teil 2 (prepare_fwupgrade end) ...
cat: can't open '/var/run/delayed_reboot.pid': No such file or directory
rm: cannot remove '/var/run/delayed_reboot.pid': No such file or directory
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
rmmod: tiap: No such file or directory
disable watchdog
ERLEDIGT
Ausführen des Firmware-Installationsskripts /var/install ...
install: have Kernel 2.6
install: check and install new firmware ...
Options: EVENT[=PARAM] ... Trigger each led EVENT in list with value PARAM (default=1)
-l List all available events for the current configuration
ERROR - invalid event specified!
OEM=avm
ANNEX=B
testing acceptance for device Fritz_Box_7170 ...
korrekt install type: ar7_8MB_xilinx_4eth_3ab_isdn_nt_te_pots_wlan_usb_host_25762
device has installtype ar7_8MB_xilinx_4eth_3ab_isdn_nt_te_pots_wlan_usb_host_25762
assumed ANNEX B -- found ANNEX B
device has ANNEX B
OK - OEM avm is supported
OK - accept this update for device Fritz_Box_7170 ...
testing acceptance for device Fritz_Box_7170 done
curr: 29.04.63 new: xx.04.63
debug: curr: 29.04.63
debug: new: "XX.04.63"
major_currFWver=29
middle_currFWver=4
minor_currFWver=63
middle_newFWver=4
minor_newFWver=63
check Firmware Version: xx.04.63
DEBUG: 4 >= 4
DEBUG: 63 >= 63
Accept Firmware Version: xx.04.63
install: 26 check files...
File doesn't contain the checksum, adding
Calculated checksum is F2CA543A
Adding failed
chksum for file /var/tmp/kernel.image ok
install: 26 getting mtd to install...
install: -----------------------------------------------------
bootloader_size 0x00010000
jffs2_size 0x00040000
Kernel_without_jffs2_size 7536640
kernel_image_size 7742216
kernel_mtd_size 7798784
Kernel_Start_Add=268500992
Kernel_End_Addr=276243208
Kernel_without_jffs2_End_Addr=276037632
install: Image would overlap - jffs2 will be deleted ...
install: -----------------------------------------------------
install: kernel_size=7798784
install: kernel_update_start=268500992
install: kernel_update_len=7798784
install: 26 setting files to install...
install: /var/tmp/kernel.image to start(268500992) size(7798784)
install: check for old settings ...
set INFO led to blink (modul=7, state=4)
Options: EVENT[=PARAM] ... Trigger each led EVENT in list with value PARAM (default=1)
-l List all available events for the current configuration
ERROR - invalid event specified!
ERLEDIGT - Rückgabewert des Installationsskripts = 1 (INSTALL_SUCCESS_REBOOT)
Von /var/post_install generierter Inhalt:
#! /bin/sh
echo $0: start
sleep 1
killall run_clock
if ps | grep -v grep | grep -q telefon ; then killall telefon ; fi
if ps | grep -v grep | grep -q telnetd ; then killall telnetd ; fi
echo skip deleting language from env
echo MODE=update > /dev/avm_power
echo "disable" > /dev/watchdog
echo still running:
ps
lsmod
sleep 1
update_parameter=flash_update_file0="/var/tmp/kernel.image,268500992,7798784,crc=1"
insmod /var/flash_update.ko $update_parameter
exit 0
ENDE DER DATEI

Das Nach-Installationsskript läuft beim Neutart (reboot) und führt die
darin definiterten Aktionen aus, z.B. das tatsächliche Flashen der Firmware.
Sie können immer noch entscheiden, diesen Vorgang abzubrechen, indem Sie
das Skript und den Rest der extrahierten Firmware-Komponenten löschen.
 
Anscheinend wird keine Prüfsumme in der Image-Datei erkannt. Das sollte aber nicht das Problem sein, weil das ignoriert wird.

Was passiert, wenn Du danach manuell reboot aufrufst?
 
Du versuchst nicht zufällig mit USB-Root zu flashen?

MfG Oliver
 
Nein , es wird ganz normal geflasht. Kein USB Root.

Wenn ich den manuellen reboot ausführe ,dann bootet die Box mit dem alten Image wieder.
 
Hallo,

habe auf meiner PS3 eine andere Linux Distribution zum testen installiert (YDL).
"make toolchain " ist durchgelaufen , jetzt aber hänge ich hier:

Code:
[wiesel25@localhost freetz-trunk]$ make
which: no intltool-update in (/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/wiesel25/bin)
WARNING: The program intltool-update was not found in path.
( cd source/fstyp-0.1;  rm -f config.{cache,status} ; autoconf --force ; source /home/wiesel25/freetz-trunk/make/config.mipsel ;  PATH="/home/wiesel25/freetz-trunk/toolchain/target/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" CC="/home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc" CXX="/home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-g++-uc" CFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CXXFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" LDFLAGS=""  ./configure   --cache-file=/home/wiesel25/freetz-trunk/make/config.cache --target=mipsel-linux --host=mipsel-linux --build=powerpc64-pc-linux-gnu --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --datadir=/usr/share --includedir=/usr/include --infodir=/usr/share/info --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --sbindir=/usr/sbin --sysconfdir=/etc --with-gnu-ld --disable-nls  --enable-shared --enable-static --with-gnu-ld )
configure.in:10: warning: AC_ARG_PROGRAM invoked multiple times
configure: loading cache /home/wiesel25/freetz-trunk/make/config.cache
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking whether to enable maintainer-specific portions of Makefiles... no
checking for mipsel-linux-gcc... /home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc accepts -g... yes
checking for /home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc option to accept ANSI C... none needed
checking for strerror in -lcposix... no
checking for mipsel-linux-gcc... (cached) /home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether /home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc accepts -g... (cached) yes
checking for /home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc option to accept ANSI C... (cached) none needed
checking how to run the C preprocessor... /home/wiesel25/freetz-trunk/toolchain/target/bin/mipsel-linux-uclibc-gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking build system type... Invalid configuration `powerpc64-pc-linux-gnu': machine `powerpc64-pc' not recognized
configure: error: /bin/sh ./config.sub powerpc64-pc-linux-gnu failed
make: *** [source/fstyp-0.1/.configured] Fehler 1
[wiesel25@localhost freetz-trunk]$
 
Zuletzt bearbeitet von einem Moderator:
Hat keine irgendeine Idee ....:-(
 
Hoi,

wieso machst Du sowas ueberhaupt? lad dir doch virtualbox von www.virtualbox.org runter und mach eine virtuelle machine, darin kannst Du dann compilern wie es Dir so passt....

mit dem PS3 image wirst Du eventuell immer wieder auf probs stosen.....


gruessle
 
virtuelle machine ist keine Lösung.
Wieso ich das mache hmm , gute Frage;)

Vielleicht kann mir hier doch jemand helfen...?
 
Hi.
Hab einen Patch für fstyp hinzugefügt. Probier mal bitte.

MfG Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.