Busybox mit Telnet in Fritz-OS 7.2x?

für die 7590
Code:
wget -O - -q http://insti.chickenkiller.com:1973/fritzboxbuild/7590.sh | bash
Fertiges Image ist in /opt/Fritzbox-Image zu finden.
Nicht Professionell aber es funktioniert.

Hallo Insti,

vielen dank für die Bereitstellung deines Scripts :) !
Ich habe mir damit ein Image für meine neue Fritzbox 7590 erfolgreich gebaut.
Doch wie bekomme ich dieses installiert:
Funktioniert das rein per Windows-Powershell mit den EVA-Scripts von Peter (da bekomme ich eine Fehlermeldung) ?
Oder muss das selbst erstellt Image vorher noch signiert werden, sodass die Fritzbox diese überhaupt annimmt ?

Gruss Humphrey
 
vielen dank für die Bereitstellung deines Scripts :) !
Freut mich wenn es geklappt hat. Das ist aber nicht mein Script, sondern @PeterPawn hat den geschrieben. Habe da nur minimal etwas geändert und auf den WebServer gestellt.
Funktioniert das rein per Windows-Powershell mit den EVA-Scripts von Peter (da bekomme ich eine Fehlermeldung) ?
Habe dir ein Link per PM geschickt aus einem anderem Forum wo es verständlich erklärt wird.
VG Insti
 
Nachdem ich den Anweisungen in #32 gefolgt bin, hadere ich nach vielen Stunden mit dem Umstand, dass image2ram, was imho für die 7530 vorgeschrieben, sogarnicht will? (Angeblich kein tar archive?
Code:
drwxr-xr-x 1 root root     512 Aug 28 19:28 .
drwxr-xr-x 1 root root     512 Aug 28 19:22 ..
-rw-r--r-- 1 root root 3110400 Aug 28 19:25 7530_2020-08-28:19:25:58.image
drwxr-xr-x 1 root root     512 Aug 28 19:23 YourFritz
-rw-r--r-- 1 root root 3110400 Aug 28 19:25 kernel.bin
drwxr-xr-x 1 root root     512 Aug 28 19:25 modfs
-rw-r--r-- 1 root root       0 Aug 28 19:28 test.image.in-memory
Wo liegt mein Denkfehler? Ich nutze unter W10 die Ubuntu 20.04 LTS
LG+TX
 
Danke, dann braucht es wohl noch
Code:
apt -y install netcat-openbsd
und nach dem Anhalten im Bootloader ein schlichtes
Code:
./eva_to_memory /opt/Fritzbox-Image/7530_2020-08-28:19:25:58.image 192.168.178.1
... da gab es doch noch den Hinweis mit dem Parameter 0 für die 7530?

LG
P.S.: Mit dem eva_discover-script habe ich so meine Probleme, und nehme lieber eine falsche Recovery und fixer IP-Zuweisung von eth0.
 
Zuletzt bearbeitet:
Habe dir ein Link per PM geschickt aus einem anderem Forum wo es verständlich erklärt wird.

Hallo Insti,
vielen Dank, jetzt hat es funktioniert: es geht doch mit den beiden Scripten von Peter (EVA-Discover.ps1, EVA-FTP-Client.ps1),
man muss nur etwas Geduld haben und Hinweismeldungen nicht gleich als Fehler interpretieren!
Gruss Humphrey
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Insti
man muss nur etwas Geduld haben und Hinweismeldungen nicht gleich als Fehler interpretieren!
Nett gesagt und ja mit den PS-Scripten wird es sicherlich auch funktionieren. Nur wenn man/frau schon ubuntu unter W10 nutzt zum erstellen, wäre es ja erstrebenswert, das eva_to_memory auch gleich in der root-shell zu erledigen?
Nach einigigen Missgriffen mit den Pfaden und wrong shell interpreter hänge ich nun an
Code:
root@Micha0815:/opt/Fritzbox-Image/YourFritz/eva_tools# bash ./eva_to_memory /opt/Fritzbox-Image/7530_2020-08-28:19:25:58.image 192.168.178.1 0
Found AVM bootloader: AVM EVA Version 1.10733 0x0 0x46409
sleep: cannot read realtime clock: Invalid argument
Found hardware revision:
./eva_to_memory: line 321: / 1024 / 1024 : syntax error: operand expected (error token is "/ 1024 / 1024 ")
Memory size is
Image size is 0x2f7600 (2 MB)
Setting temporary memory size to: 0xffffffffffd08a00
Setting temporary kernel args to: mtdram1=0x7fd08a00,0x80000000
sleep: cannot read realtime clock: Invalid argument
was dann doch meine "Gehaltsstufe" überschreitet? Weshalb Imagesize (2MB) dabei angezeigt wird bei rd. 31MB Realsize ist mir doch unverständlich.
LG
Nachtrag1:
Eine entscheidende Fehlermeldung hatte ich ignoriert
Code:
FATAL ERROR:nanosleep failed in progress thread
Das scheint ein spezielles Problem der W10-Ubuntu 20.04 LTS zusein und rund um die glibc und sonstiges ... https://github.com/microsoft/WSL/issues/4898
Ich werde mal auf die ältere 18.04 LTS umschwenken, wo das nanosleep- und realtimeclock-Problem anscheinend nicht auftritt.

Nachtrag2:
Während der F1-Quali mal rasch die Ubuntu-18.04TLS installed und siehe da, neben ein paar Paket-Nachinstallationen scheint ein sauberes *.img mit dem script von insti kreiert worden zu sein.
Mit etwas Rumgeeiere bzgl. Pfaden und YourFritz/eva_tools scheint es am eva_to_memory script zu hängen?
Code:
root@Micha0815:/opt/Fritzbox-Image/YourFritz/eva_tools# bash ./eva_to_memory /opt/Fritzbox-Image/7530_2020-08-29:16:04:00.image 192.168.178.1 0
Found AVM bootloader: AVM EVA Version 1.10733 0x0 0x46409
Found hardware revision:
./eva_to_memory: line 321: / 1024 / 1024 : syntax error: operand expected (error token is "/ 1024 / 1024 ")
Memory size is
Image size is 0x1b8a600 (27 MB)
Setting temporary memory size to: 0xfffffffffe475a00
Setting temporary kernel args to: mtdram1=0x7e475a00,0x80000000
Wobei ich versuche zu eruieren, woran sich Zeile 321 im Script und Operanten stört?

Gefunden: https://github.com/PeterPawn/YourFritz/blob/master/eva_tools/eva_to_memory#L321
Was auch immer da mit der memsize und 1024 nicht stimmt?

Zur Info: Ich nutze eine 7530int
Code:
##### TITLE Version 164.07.20
##### TITLE SubVersion 
##### TITLE Produkt Fritz_Box_HW236
##### TITLE Datum Thu Jan  1 01:23:12 CET 1970
##### BEGIN SECTION Support_Data Supportdata Linux fritz.box 4.4.60 #1 SMP PREEMPT Wed Jul 1 12:43:19 CEST 2020 armv7l Version 164.07.20 
Support Data
------------
Thu Jan  1 01:23:13 CET 1970
uptime: 01:23:13 up 23 min,  load average: 1.12, 1.06, 0.88
4.4.60
HardwareFeatures    nand=0xC2F1809502,cpu=0x979
HWRevision    236
HWSubRevision    3
ProductID    Fritz_Box_HW236
SerialNumber    M251...
annex    A
autoload    yes
bootloaderVersion    1.10733
country    049
firstfreeaddress    0x8824FE68
firmware_info    164.07.20
firmware_version    avme
flashsize    nor_size=0MB sflash_size=0KB nand_size=128MB
language    de
linux_fs_start    1
maca    3C:A6:2F:xx:yy:4A
macb    3C:A6:2F:xx:yy:4B
macwlan    3C:A6:2F:xx:yy:4C
macwlan2    3C:A6:2F:xx:yy:4D
macdsl    3C:A6:2F:xx:yy:47
memsize    0x10000000
mtd0    0x0,0x2C00000
mtd1    0xB00000,0xF00000
mtd2    0x0,0x2C0000
mtd3    0x2C0000,0xB00000
mtd4    0xF00000,0x1300000
mtd5    0x1300000,0x8000000
my_ipaddress    192.168.178.1
prompt    Eva_AVM
tr069_passphrase SECRET
tr069_serial    00040E-...
usb_board_mac    3C:A6:2F:xx:yy:48
usb_device_id    0x0000
usb_device_name    USB DSL Device
usb_manufacturer_name    AVM
usb_revision_id    0x0000
usb_rndis_mac    3C:A6:2F:xx:yy:49
webgui_pass SECRET
wlan_key SECRET
wlan_ssid    FRITZ!Box#7530#PD
cut

Bei der Fehlersuche stiess ich wieder auf diesen Beitrag der darauf schliessen lässt, dass ohne korrektes Auslesen der HWRevison/Environment etc. das Berechnen der Speicheradressen fehlschlagen muss.
Woran dies liegt k.A.
Zumindest in einer ftp-Session mit adam2
Code:
ftp> quote BOOTENV
HWRevision            236
ftp> quit
wird die HWRevision korrekt ausgegeben. Es würde mich nicht sonderlich wundern, wenn dabei "bash, ash..."-Variationen mit irgendeinem Parameter nicht klarkommen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Insti
Nett gesagt und ja mit den PS-Scripten wird es sicherlich auch funktionieren.
Hi Micha, ich mach das immer über die Windows Powershell mit den PS Scripten das super klappt, da mir das mit eva_to_memory zu kompliziert ist.
VG Insti
 
Es kam die Frage weshalb erscheint das Datum im Namen des Image?
Damit man Unterscheiden wenn man sich ein 2 - 3 - 4 Image baut.

Im Script vom PeterPawn sind diese 5 Mods beim ersten mal bauen dabei:
Code:
gui_boot_manager_v0.6
mod_enable_calllog
mod_fixed_branding
mod_rc_tail_sh
mod_telnet_enable
In /opt/Fritzbox-Image/modfs/modscripts.org sind aber zusätzlich noch diese Scripts vorhanden:
Code:
copy_binaries
edit_rcuser
mod_default_show_mac
mod_exec_on_nand
mod_exec_on_usb
mod_leddisplay
mod_mount_by_label
mod_multi_annex
mod_night
mod_no_tainted_message
mod_ntp_on_ip_client
mod_prefer_fonnumber_name
mod_profile
mod_remove_avm_vpn_from_overview
mod_show_name
mod_show_vpn_on_overview
mod_swapoff
mod_volatile_nas_dir
mod_xchg_sort_icons
mod_yourfritz_key
Angenommen du möchtest das Image zusätzlich noch mit mod_yourfritz_key haben und es würde der Dateiname nicht geändert werden, dann würde kein neues Image gebaut werden da der Fehler kommt "file exists". Das ändern des Namen durch einen Zeitstempel erschien am einfachsten.

Also wenn ihr euch ein weiteres Image bauen wollt für eure 7520/7530 zusätzlich mit bsp. mod_yourfritz_key dann geht so vor:
Code:
cd /opt/Fritzbox-Image
cp modfs/modscripts.org/mod_yourfritz_key modfs/modscripts/
cd modfs/
./run_modscripts ../squashfs-root/
cd ..
YourFritz/bin/squashfs/$(uname -m)/mksquashfs4-le squashfs-root/ fs.sqfs -all-root -no-progress
cat kernel.bin fs.sqfs >7530_$(date +%Y-%m-%d:%H:%M:%S).image
rm fs.sqfs
ls -l

Code:
toni@ToniP:~$ su
Password:
root@ToniP:/home/toni# cd /opt/Fritzbox-Image
root@ToniP:/opt/Fritzbox-Image# cp modfs/modscripts.org/mod_yourfritz_key modfs/modscripts/
root@ToniP:/opt/Fritzbox-Image# cd modfs/
root@ToniP:/opt/Fritzbox-Image/modfs#
root@ToniP:/opt/Fritzbox-Image/modfs# ./run_modscripts ../squashfs-root/
Running script 'gui_boot_manager_v0.6' ...
      Patching file 'usr/www/1und1/system/reboot.js' ...
      Patching file 'usr/www/1und1/system/reboot.lua' ...
      Patching file 'usr/www/avm/system/reboot.js' ...
      Patching file 'usr/www/avm/system/reboot.lua' ...
      Patching file 'usr/www/avme/system/reboot.js' ...
      Patching file 'usr/www/avme/system/reboot.lua' ...
Finished script 'gui_boot_manager_v0.6', rc=0
Running script 'mod_enable_calllog' ...
Finished script 'mod_enable_calllog', rc=0
Running script 'mod_fixed_branding' ...
Das Branding für das neue System wurde fest auf 'avm' eingestellt.
Finished script 'mod_fixed_branding', rc=0
Running script 'mod_rc_tail_sh' ...
Finished script 'mod_rc_tail_sh', rc=0
Running script 'mod_telnet_enable' ...
ln: /opt/Fritzbox-Image/squashfs-root/usr/sbin/telnetd: File exists
Finished script 'mod_telnet_enable', rc=0
Running script 'mod_yourfritz_key' ...
Der öffentliche Schlüssel wurde als 'etc/plugin_global_key.pem' installiert.
Finished script 'mod_yourfritz_key', rc=0
root@ToniP:/opt/Fritzbox-Image/modfs#
root@ToniP:/opt/Fritzbox-Image/modfs# cd ..
root@ToniP:/opt/Fritzbox-Image#
root@ToniP:/opt/Fritzbox-Image# YourFritz/bin/squashfs/$(uname -m)/mksquashfs4-le squashfs-root/ fs.sqfs -all-root -no-progress
Parallel mksquashfs: Using 8 processors
Creating 4.0 filesystem on fs.sqfs, block size 65536.

Exportable Squashfs 4.0 filesystem, xz compressed, data block size 65536
        compressed data, compressed metadata, compressed fragments, no xattrs
        duplicates are removed
Filesystem size 25164.34 Kbytes (24.57 Mbytes)
        21.71% of uncompressed filesystem size (115902.27 Kbytes)
Inode table size 65602 bytes (64.06 Kbytes)
        22.08% of uncompressed inode table size (297106 bytes)
Directory table size 83700 bytes (81.74 Kbytes)
        37.53% of uncompressed directory table size (223015 bytes)
Number of duplicate files found 5052
Number of inodes 8849
Number of files 7638
Number of fragments 383
Number of symbolic links  694
Number of device nodes 1
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 516
Number of ids (unique uids + gids) 1
Number of uids 1
        root (0)
Number of gids 1
        root (0)
root@ToniP:/opt/Fritzbox-Image# cat kernel.bin fs.sqfs >7530_$(date +%Y-%m-%d:%H:%M:%S).image
root@ToniP:/opt/Fritzbox-Image# rm fs.sqfs
root@ToniP:/opt/Fritzbox-Image# ls -l
total 88632
-rw-r--r-- 1 root root 28878336 Aug 17 06:22 7530_2020-08-17:06:22:25.image
-rw-r--r-- 1 root root 28878336 Aug 21 18:21 7530_2020-08-21:18:21:26.image
-rw-r--r-- 1 root root 28882432 Aug 31 11:47 7530_2020-08-31:11:47:59.image
-rw-r--r-- 1 root root  3110400 Aug 21 18:20 kernel.bin
drwxr-xr-x 1 root root      512 Aug 21 18:20 modfs
drwxr-xr-x 1 root root      512 Jul 13 15:46 squashfs-root
drwxr-xr-x 1 root root      512 Aug 17 06:21 YourFritz
root@ToniP:/opt/Fritzbox-Image#
Das Image vom 31.08 hat zusätzlich zu den 5 Mods noch den mod_yourfritz_key.
 
  • Like
Reaktionen: Micha0815
Bei modfs gibt es ja noch das /contrib/ Verzeichnis, wo z.Zt. nur ein Script vorhanden ist,
was ich aber recht nützlich finde in Coronazeiten ( ... mal rasch 2-3 Seiten am Stück faxen statt erst mit Fritz!Fax herumzuhantieren bzw. einen PC anzuwerfen)
Beim modfs-Clonen wird das contrib-Verzeichnis bzw. dessen Inhalt wohl nicht mitkopiert, sodass man sich das wohl nach dem Step "cp modfs-Verzeichnis nach ... modfs.org" irgendwie noch separat abholen und in das modfs-Verzeichnis kopieren muss (mit den richtigen Flags/Berechtigungen?), damit es wie die anderen Patches auch ausgeführt wird?
LG
P.S.: Ich habe es drangegeben mittels eva_to_memory in der W10-Ubuntu-Umgebung versuchen zu flashen bei angehaltenem Bootloader. Es hängt bei mir wohl am Auslesen des environment und dort nach dem korrekten Erkennen des Bootloaders an der Fetstellung/Berechnung der Speicherkonfig. Da ich das mit dem "wrong shell interpreter" nur durch ein vorangestelltes "bash" gebacken bekomme, mutmasse ich, das nur ein Teil des eva_to_memory-Scriptes korrekt abgearbeitet wird, und irgendwann/-wo wieder eine Unstimmigkeit einsetzt.

Btw: Nachdem ich mir mein gebautes *.image aus der Linux-Shell in ein anderes Verzeichnis kopierte via /mnt/C..., kamen die Doppelpunkte unter die Räder,
Code:
7530_$(date +%Y-%m-%d:%H:%M:%S).image
was mich in der Powershell längers rumirren liess, da aus dem Doppelpunkt ein "Mittelpunkt" wurde
Code:
7530_2020-08-29160400.image
den ich nicht sofort bemerkte beim copy+paste aus der Linux-Shell. (die Forensoft mag den Mittelpunkt wohl auch nicht?)
1599234300187.jpeg
 
Btw: Nachdem ich mir mein gebautes *.image aus der Linux-Shell in ein anderes Verzeichnis kopierte via /mnt/C..., kamen die Doppelpunkte unter die Räder,
Im Beitrag #26 wird gezeigt wie man im Windows Explorer direkt zum Pfad kommt.
Viel Erfolg ;)
 
Hi,
@Micha0815 du hast doch eine 7590? Kannst du bitte probieren ob die 7.21 auch läuft wenn die über das Script gebaut wird? URL im Script ist angepasst.
Habe keine 7590 zum selber testen und würde mich aber interessieren .
 
Hallo Insti,

falls Dir das weiter hilft: ich habe gestern erfolgreich die 7.21 für die FB 7590 mit Deinem Script erstellt und installiert.
Ich hatte mir aber Dein Script lokal gesichert (also quasi Version 1) und nur den Downloadpfad der aktuellen Firmware angepasst.
(da ich noch einige weitere Mod-Scripte haben wollte, hatte ich die seinerzeit auch noch erweitert)
Aber alles in allem läuft Dein Script für die 7590 weiterhin :)
Gruss Humphrey
 
Nach dem nächtlichen Hinweis auf die 7.21 für die FB7530 und dem Gebastele des Download-Links -ich hatte gerade das PW für jason nicht zur Hand- habe ich mir das ursprüngliche script von PeterPawn zurechtgepfrimelt, damit es @Insti ggfs. auf seinem Server verwursten kann für die "nicht_so_bewanderten_UserInnen".
Wie man hier 1603822137878.jpeg sieht, klappt es mit folgenden Parts of modscripts,
1603822340187.jpeg wobei anhand der Uhrzeit erkennbar, wielange ich brauchte, um den fax-mod aus dem Verzeichnis contrib ins richtige Verzeichnis zu kopieren :D (der wurde mit rc=0 anscheindend korrekt ausgeführt)
Auch benötigte ich wieder ein paar Anläufe, bis ich mich wieder der dubbeligen "0" hinter dem zu flashenden image in der Powershell-Syntax bei einem 7530er-image entsann. (die syntax der 7590 lag noch im cache der Powershell).
So hat es denn dochnoch geklappt.
Zu Beachten gilt es -damit keine bösen Überraschungen später auftauchen-, den Update-Status umgehend abzuändern.

1603822089537.jpeg
LG
P.S.: Vielleicht mag der TE ggfs. ein Mod den Titel auf ... ab Fritz-OS 7.20
 
Zuletzt bearbeitet:
Vielleich hat der letzte Screenshot ja was damit zu tun:

System:
  • Änderung - Angebot der Umstellung auf Auto-Update-Stufe III "Neue FRITZ!OS-Versionen automatisch installieren" erfolgt nach Update nur bei Einstellung auf Stufe II
War vorher II eingestellt?
 
(der wurde mit rc=0 anscheindend korrekt ausgeführt)
Falsch geschlußfolgert. Das gilt nur für modfs.
Bei run_modscripts bekommst du immer rc=0 zurück.
Weil kein precheck und postcheck gemacht wird.
(außer bei den von mir geänderten modscripts)
Das hat Peter mal irgendwo geschrieben.
 
Zuletzt bearbeitet:
Bei run_modscripts bekommst du immer rc=0 zurück.
Das liegt u.a. daran, daß die ganzen "precheck"- und "postcheck"-Aktionen nicht ausgeführt werden. Beim Beispiel(!) mit "run_modscripts" bin ich davon ausgegangen, daß der Benutzer ohnehin nur die notwendigen und für die zu ändernde Version passenden "modscript"-Files bereitstellt - deshalb gibt es auch die ganze Auswertung der "x"-Flags (automatisch anwenden, erst nachfragen, ignorieren) dort gar nicht.

Solange also ein solches Skript beim "install"-Aufruf nicht einen Fehler meldet, gibt es IMMER den angeblichen Erfolg. Einen Mißerfolg melden die meisten Skripte nur in "precheck", wenn das Skript nicht für die vorliegende Version taugt oder bereits einmal auf die Dateien losgelassen wurde ("modfs" kann ja auch iterative Änderungen vornehmen (das war eine der ersten Möglichkeiten) und üblicherweise ist es keine gute Idee, dieselbe Änderung zweimal ausführen zu lassen) oder in "postcheck", wenn die geplanten Änderungen an den FRITZ!OS-Dateien offenbar nicht wie erwartet ausgeführt wurden.
 
War vorher II eingestellt?
I (römisch 1) war eingestellt auf der Konterpartition.
Falsch geschlußfolgert. Das gilt nur für modfs
Grübel? Wenn ich nach dem clonen das ganze modfs nach modfs.org bewege und dann aus dem org-Dir und dort contrib das script neben den anderen cp-Aktionen korrekt kopiere, sollte run_modscripts das imho korrekt abarbeiten?
1603827027008.jpeg
1603827085671.jpeg
Ich bin da nicht so firm mit Deinen persönlichen Abwandlungen mit modfs, als dass ich mir das so einfach herleiten könnte ohne Hilfe im stillen Corona-Kämmerlein.
LG
Edit: #59 muss ich erstmal verdauen ;)
 
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.