
Bitte testen, so dass wir den Patch reinchecken kann.
Der cramfs_name-Anruf, richtig? Davon wird "Versionsinformation" gewonnen (Zeile 336-338) womit es kontrolliert wird, dass z.B. Releasezyklus stimmt. Leider ist die Verionsinformation nicht die von .version, sondern aus dem Superblock des cramfs. Dadrin steht version des cramfs (1.6 in aktuelle Version?), nicht die Version des Images. Datum ist die Kreationszeit des images, nicht die werte aus .version. Also, der Check ist völlig daneben.JtG-Riker hat geschrieben:für die cramfs Images extra eine Libcramfs gibt die den CRAMFS-Superblock prüft.
wobei ich einfach nicht raffe, wie der tickt, der ein MD5-Test für squashfs, und nur für squashfs implementiert.Sowas gibts bei SquashFS nicht, mogway hat dafür einen MD5-Check beim Download der Images eingebaut,
eigentlich eine gute Idee (auch für cramfs und jffs2); leider etwas fehlerauffällig, aus irgendein Grund scheint loopback mounting in meinem aktuellen Image/YADD nicht zu funktionieren "Block device required". Weiss jemand über das Problem?beim Manuellen Update wird das Update per LOOP gemountet und die .version geprüft.
In Patch oben nicht angefasst, auch wenn es offensichtlich sinnvoll wäre...Hast du das umgebaut, oder so gelassen?
Mache gerne ein Thead zu dem Thema auf.Wieso baut man CRAMFS nicht aus, SquashFS ist doch mittlerweile der passende Nachfolger, so hat man auch nicht soviel zu supporten...
Könnte man einen Thread zu aufmachen, ich bin aufjedenfall dafür, denn wieso 2 Filesystem zu supporten wenn es keiner mehr nutzt...Barf hat geschrieben:Uhhh, was für eine Dose Wurmer habe ich aufgemacht?
Der cramfs_name-Anruf, richtig? Davon wird "Versionsinformation" gewonnen (Zeile 336-338) womit es kontrolliert wird, dass z.B. Releasezyklus stimmt. Leider ist die Verionsinformation nicht die von .version, sondern aus dem Superblock des cramfs. Dadrin steht version des cramfs (1.6 in aktuelle Version?), nicht die Version des Images. Datum ist die Kreationszeit des images, nicht die werte aus .version. Also, der Check ist völlig daneben.JtG-Riker hat geschrieben:für die cramfs Images extra eine Libcramfs gibt die den CRAMFS-Superblock prüft.
Nein ist er nicht, er ist nur im CVS nicht richtig beim Image-Build eingebaut, man muß beim aufruf von mkcramfs die .version auslesen und den Versions-string mit an mkcramfs übergeben, dafür gibt es einen extra Parameter ich habs gerade nicht mehr im Kopf wie das war, im Superblock steht dann die gleiche Versionsnummer wie in der .version - dafür gibts ja extra die libcramfs, wenn da rumgepatcht wurde mit Windows-Tools und so stimmt das nicht mehr und das Image wird nich mehr als gültig erkannt.
wobei ich einfach nicht raffe, wie der tickt, der ein MD5-Test für squashfs, und nur für squashfs implementiert.Sowas gibts bei SquashFS nicht, mogway hat dafür einen MD5-Check beim Download der Images eingebaut,
Der MD5-Check ist ja in der squashfs.list drin - und die wird ja ausgelesen beim download des online-Updates.
eigentlich eine gute Idee (auch für cramfs und jffs2); leider etwas fehlerauffällig, aus irgendein Grund scheint loopback mounting in meinem aktuellen Image/YADD nicht zu funktionieren "Block device required". Weiss jemand über das Problem?beim Manuellen Update wird das Update per LOOP gemountet und die .version geprüft.
Du musst in der Busybox den Loop Mount mit einbauen, dann sollte das gehen, könnt man auch ma ins CVS einchecken
In Patch oben nicht angefasst, auch wenn es offensichtlich sinnvoll wäre...Hast du das umgebaut, oder so gelassen?
Mache gerne ein Thead zu dem Thema auf.Wieso baut man CRAMFS nicht aus, SquashFS ist doch mittlerweile der passende Nachfolger, so hat man auch nicht soviel zu supporten...
Mann muss nur CONFIG_FEATURE_MOUNT_LOOP in busybox einschalten. Eigentlich ist es bizarr, loopback support in kernel zu haben, aber nicht in dem mount-programm. Deswegen habe ich diese Änderung in CVS eingecheckt (nur newmake). Loopback mounten funktioniert, wird als Test oben benutzt.Ich hat geschrieben:leider etwas fehlerauffällig, aus irgendein Grund scheint loopback mounting in meinem aktuellen Image/YADD nicht zu funktionieren "Block device required". Weiss jemand über das Problem?
Kannst du das im HEAD auch ma einschalten für die Busybox - DankeBarf hat geschrieben:Ich habe eine neue Version des Patches http://www.bengt-martensson.de/dbox2/ne ... 02-27.diff. Da werden die Probleme, die JtG-Riker ansprochen hat, addressiert. Auch ftp-images werden jetzt geprüft. Kein Bedarf für filesystemspezifische checks besteht. Kode etwas aufgeräumt. Weil die Klasse CCheckSquashfs (ich HASSE diese blöde "ungarische Namenskonvention"!) überhaubt nichts squashfs-spezifisches tut, habe ich den Inhalt in flashtool rübergeschaufelt.
Mann muss nur CONFIG_FEATURE_MOUNT_LOOP in busybox einschalten. Eigentlich ist es bizarr, loopback support in kernel zu haben, aber nicht in dem mount-programm. Deswegen habe ich diese Änderung in CVS eingecheckt (nur newmake). Loopback mounten funktioniert, wird als Test oben benutzt.Ich hat geschrieben:leider etwas fehlerauffällig, aus irgendein Grund scheint loopback mounting in meinem aktuellen Image/YADD nicht zu funktionieren "Block device required". Weiss jemand über das Problem?
Code: Alles auswählen
CFlashVersionInfo::CFlashVersionInfo()
{
load("0200200001010000");
}
Code: Alles auswählen
CFlashVersionInfo::CFlashVersionInfo()
{
load("0112200001010000");
}
Code: Alles auswählen
echo "version=0112`date +%Y%m%d%H%M`" > $(flashprefix)/root/.version
Code: Alles auswählen
#define RELEASE_CYCLE "1.12"
Aus irgendwelche Grunden (erinnere mich z.Z. nicht genau welche) ist ein Konstruktur ohne Augmente für die Klasser CFlashVersionInfo erforderlich. Im Programm wird sonst nur der Konstruktur mit einem Argument benutzt. Wie Riker sagt, NO PROBLEMO.mb405 hat geschrieben:Code: Alles auswählen
CFlashVersionInfo::CFlashVersionInfo() { load("0200200001010000"); }
Code: Alles auswählen
#!/bin/sh
flashprefix=$1
webserverdir=/net/www/dbox2
set -x
case `basename $0` in
img.list-local.sh)
cp -p $flashprefix/*.img*x $flashprefix/img.list $webserverdir;;
squashfs.list-local.sh)
cp -p $flashprefix/*.squashfs $flashprefix/squashfs.list $webserverdir;;
cramfs.list-local.sh)
cp -p $flashprefix/*.cramfs $flashprefix/cramfs.list $webserverdir;;
esac
Code: Alles auswählen
mv root-neutrino.squashfs Tommy-root-neutrino-`date --iso-8601`.squashfs
@TUXBOX_CUSTOMIZE@ (bzw. @TUXBOX_YADD_CUSTOMIZE@) in Regeln in cdk/make/*.mk. Definiert in configure.ac (am Ende). Beantwortet dies deine Frage?Ich habe auch leider nirgendswo das skript/makefile gefunden in dem die customizing skripte aufgerufen werden um zu schauen ob etwas derartiges vorgesehen ist
ja - genau sowasBarf hat geschrieben:Sowas wiezum Bleistift? Hier ist etwas mehr allgemeineres, was mann modifizieren kann.Code: Alles auswählen
mv root-neutrino.squashfs Tommy-root-neutrino-`date --iso-8601`.squashfs
Code: Alles auswählen
neutrino-squashfs.img1x-local.sh
bzw.
neutrino-squashfs.img2x-local.sh
Code: Alles auswählen
root-neutrino.squashfs-local.sh
Es gibt z.Z. keine @TUXBOX_CUSTZOMIZE@ in der Regel für (z.B.) root-neutrino.squashfs. Der Grund war, dass ich mich nicht vorstellen konnte, warum mann diese Regel customizen sollte. Jetzt weiss ich ein Grund dafür, und werde dies zufügen. Sobald CVS wieder da ist....Tommy hat geschrieben:nur eine von mir erstelltewird (scheinbar) nicht ausgeführtCode: Alles auswählen
root-neutrino.squashfs-local.sh
![]()
Das hört sich supi an - habs jetzt als workaround erstmal in neutrino-squashfs.img2x-local.sh eingebaut. (funktioniert, verwirrt aber vermutl. wenn man später mal die funktion sucht)Barf hat geschrieben:Es gibt z.Z. keine @TUXBOX_CUSTZOMIZE@ in der Regel für (z.B.) root-neutrino.squashfs. Der Grund war, dass ich mich nicht vorstellen konnte, warum mann diese Regel customizen sollte. Jetzt weiss ich ein Grund dafür, und werde dies zufügen. Sobald CVS wieder da ist....Tommy hat geschrieben:nur eine von mir erstelltewird (scheinbar) nicht ausgeführtCode: Alles auswählen
root-neutrino.squashfs-local.sh
![]()
![]()
Finde ich ein guter Vorschlag (also Releasezyklus bei Vollimages zu ignorieren). Einwände, Riker?dixidix hat geschrieben:Auch finde ich eine Rel.-Prüfung für Images irgendwie unnütz, weil ja beim Komplettimageflashen sowieso alles platt gemacht wird.
Das wäre natürlich nicht im Sinne des Erfinders und ich hatte das so auch nicht gemeint. Die version.list würde da sogar mehr Sicherheit bringen, da man ja konkrete Vergleichsdaten hätte, um Irrtümer 99%ig auszuschalten!Also die Prüfung muss schon sein, du musst ma bedenken das es soviele User gibt die sich damit nicht auskennen, wenn die dann alles flashen können was möglich ist gibts hier noch viel mehr Threads das dies und das nicht geht.
Na damit wäre auch ein gewisser Standard möglich oder?Andere Versionsnummer werden von den Imagezüchtern definiert