Ich hatte mir heute ein Image aus dem trunk3722 gebaut in dem ich unter Busybox folgende Optionen auswählen könnte:
Code:
FREETZ_BUSYBOX_MOUNT_LABEL=y
FREETZ_BUSYBOX_VOLUMEID=y
FREETZ_BUSYBOX_VOLUMEID_EXT=y
FREETZ_BUSYBOX_VOLUMEID_FAT=y
Nun habe ich blkid im image unter /usr/sbin/blkid. Das Binary ist 49kB gross. Also passt erstmal. Das Problem ist, beim starten von blkid friert die Box ein, sodass ich den Stecker ziehen muss. Anscheinend zieht blkid die Last voll auf 100% auf sich, sodass weder WebIFs noch dropbear noch telnet vernünftig gehen. Die Box rebootet aber nicht.
Wenn man allerdings die blkid "nur abfragt", dann bekommt man folgende Ausgabe:
Code:
/var/mod/root # blkid --help
blkid: invalid option -- -
blkid 1.0.0 (12-Feb-2003)
usage: blkid [-c <file>] [-ghlLv] [-o format] [-s <tag>] [-t <token>]
[-w <file>] [dev ...]
-c cache file (default: /etc/blkid.tab, /dev/null = none)
-h print this usage message and exit
-g garbage collect the blkid cache
-s show specified tag(s) (default show all tags)
-t find device with a specific token (NAME=value pair)
-l lookup the the first device with arguments specified by -t
-v print version and exit
-w write cache to different file (/dev/null = no write)
dev specify device(s) to probe (default: all devices)
Die Version scheint ziemlich alt zu sein. Kann da jemand eine Aussage dazu machen? Bzw. wie kann ich es debuggen? Start ohne Parameter geht also schon mal nicht.
Edit:
Ihr werdet nicht glauben, aber es geht!!!
Code:
/var/mod/root # blkid dev /dev/sda1
/dev/sda1: UUID="457c1f4b-8aec-e4ee-6843-fcded6ae79dd" TYPE="ext2"
/var/mod/root # blkid dev /dev/sda2
/dev/sda2: UUID="9A64-8DAD" TYPE="vfat"
/var/mod/root # tune2fs -L "SYSTEM" /dev/sda1
tune2fs 1.41.3 (12-Oct-2008)
/var/mod/root # tune2fs -L "DATA" /dev/sda2
tune2fs 1.41.3 (12-Oct-2008)
tune2fs: Bad magic number in super-block while trying to open /dev/sda2
Couldn't find valid filesystem superblock.
/var/mod/root # tune2fs -L "DATA" /dev/sda3
tune2fs 1.41.3 (12-Oct-2008)
tune2fs: Attempt to read block from filesystem resulted in short read while trying to open /dev/sda3
Couldn't find valid filesystem superblock.
/var/mod/root # tune2fs -L "DATA" /dev/sda4
tune2fs 1.41.3 (12-Oct-2008)
tune2fs: Bad magic number in super-block while trying to open /dev/sda4
Couldn't find valid filesystem superblock.
/var/mod/root # tune2fs -L "DATA" /dev/sda5
tune2fs 1.41.3 (12-Oct-2008)
/var/mod/root # tune2fs -L "ARCHIV" /dev/sda6
tune2fs 1.41.3 (12-Oct-2008)
/var/mod/root # blkid dev /dev/sda1
/dev/sda1: LABEL="SYSTEM" UUID="457c1f4b-8aec-e4ee-6843-fcded6ae79dd" TYPE="ext2"
/var/mod/root # blkid dev /dev/sda5
/dev/sda5: LABEL="DATA" UUID="7b097c41-5282-7a79-feba-b9b0d63459e7" TYPE="ext2"
/var/mod/root # blkid dev /dev/sda6
/dev/sda6: LABEL="ARCHIV" UUID="b1328ea0-2360-50da-6cc3-9adc5d42937d" TYPE="ext3"
Jetzt fehlt mir nur ein Ersatz/Erweiterung von e2fsprogs für vfat. Denn AVM-AB&Co wollen immer noch vfat haben. Und die zu checken/zu ändern sollte man auch können.
Edit 1.5:
Mein Wunsch nach DOS-Tools ist relativ schnell in Erfüllung gegangen:
http://www.ip-phone-forum.de/showthread.php?t=200238
Edit2: Meine Nachforschung zeigte, dass blkid gar nicht von busybox stammt. Es ist auch eine separate Datei und nicht in busybox-binary integriert. Deswegen hat es mich schon etwas irritiert. Dieses blkid stammt nämlich von e2fsprogs. Vermutlich von tuning-tools. Blöderweise wurde per external gar nicht angeboten blkid auszulagern, obwohl da eine Menge an e2fsprogs-Tools zum auslagern frei standen. Ich werde da noch weiter nachhacken, ob es möglich wäre gnu-blkid direkt zu besorgen und zu kompilieren. Denn diese Version von blkid kann zwar Partitionen gezielt ansprechen, aber jede Art der Suche scheitert. Vermutlich weil blkid mit flash-Partitionen nicht klar kommt.
Edit2.5: Es war letztendlich doch richtig, dass ich blkid gar nicht für external angeboten bekommen hatte. Denn es darf nicht ausgelagert werden, wenn mdev im Spiel ist. Und bei mir ist es vermutlich im Spiel, weil ich USB-ROOT mit dem integrierten check im Image habe.
MfG