[im trunk]: dosfstools: MSDOS/FAT-Partitionen checken/labeln/erstellen

hermann72pb

IPPF-Promi
Mitglied seit
6 Nov 2005
Beiträge
3,726
Punkte für Reaktionen
16
Punkte
38
Hallo zusammen,

vor ein Paar Tagen hatte ich hier nachgefragt, ob es möglich wäre e2fsprog-ähnliche Werkzeuge für FAT-Systeme unter FREETZ zu haben. Da es wie immer keiner reagiert hat, hatte ich mich gestern abends auf den Weg gemacht und ein passendes Paket dafür gefunden:
dosfstools

Anpassung an FREETZ hat ein Paar Stunden gedauert, bis ich diese neue iteraktiv-automatische Geheimsprache der neuen mk-Files endlich anhand von drei Beispielen kapiert hatte. Nun gut, drei Binaries liessen sich endlich kompilieren:

Code:
-rwxr-xr-x    1 root     root       139164 Oct  3 00:15 dosfsck
-rwxr-xr-x    1 root     root       135386 Oct  3 00:15 dosfslabel
-rwxr-xr-x    1 root     root        65041 Oct  3 00:15 mkdosfs

Trotz ausreichender Warnungen beim kompilieren tun die drei Sachen auf den ersten Blick was sie sollen:
Code:
/var/mod/root # dosfsck --help
dosfsck: invalid option -- -
usage: dosfsck [-aAflrtvVwy] [-d path -d ...] [-u path -u ...]
               device
  -a       automatically repair the file system
  -A       toggle Atari file system format
  -d path  drop that file
  -f       salvage unused chains to files
  -l       list path names
  -n       no-op, check non-interactively without changing
  -p       same as -a, for compat with other *fsck
  -r       interactively repair the file system
  -t       test for bad clusters
  -u path  try to undelete that (non-directory) file
  -v       verbose mode
  -V       perform a verification pass
  -w       write changes to disk immediately
  -y       same as -a, for compat with other *fsck

/var/mod/root # dosfsck -v /dev/sda2
dosfsck 3.0.5 (27 Jul 2009)
dosfsck 3.0.5, 27 Jul 2009, FAT32, LFN
Checking we can access the last sector of the filesystem
Boot sector contents:
System ID "BOOTWIZ0"
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
      4096 bytes per cluster
        32 reserved sectors
First FAT starts at byte 16384 (sector 32)
         2 FATs, 32 bit entries
   2116608 bytes per FAT (= 4134 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 4249600 (sector 8300)
    529107 data clusters (2167222272 bytes)
63 sectors/track, 255 heads
   2120580 hidden sectors
   4241156 sectors total
Checking for unused clusters.
Reclaimed 1 unused cluster (4096 bytes).
Checking free cluster summary.
Free cluster summary wrong (474077 vs. really 474078)
1) Correct
2) Don't correct
? 1
Leaving file system unchanged.
/dev/sda2: 44 files, 55029/529107 clusters
Meine /dev/sda2 war wohl gemerkt gemounted, deswegen "unchanged"

Nun geht es mit der Belabelung weiter:
Code:
/var/mod/root # dosfslabel --help
usage: dosfslabel device [label]
/var/mod/root # dosfslabel /dev/sda1
Logical sector size is zero.
/var/mod/root # dosfslabel /dev/sda2

/var/mod/root # dosfslabel /dev/sda2 "FAT"
/var/mod/root # dosfslabel /dev/sda2
FAT
Hat's erstaunlicherweise auch getan!
Zuletzt nochmal mkdosfs:
Code:
/var/mod/usr/sbin # mkdosfs
mkdosfs 3.0.5 (27 Jul 2009)
No device specified!
Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]
       [-m boot-msg-file] [-n volume-name] [-i volume-id]
       [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]
       [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]
       /dev/name [blocks]
Weiter bin ich nicht vorgegangen, denn frisch formatieren wollte ich irgendwie nicht. Deswegen gibt es nur usage-Ausgabe hier für euch.

Damit die ganz spärlichen unter uns auch nicht gleich wegen Platz meckern, hatte ich (wie es sich normal gehört) gleich external.in inklusive external-Binary entsprechend angepasst.

Nun bitte ich dieses Paket in trunk aufzunehmen. Im Anhang findet ihr patch gegen Trunk 3723.

MfG
 

Anhänge

  • dosfstools.patch.bz2
    1.6 KB · Aufrufe: 14
Zuletzt bearbeitet:
Dein Wunsch sei mir Befehl
 
Danke! Würde mich freuen, wenn jemand es auch ausführlich testet. Eigentlich gehören da ins System noch Symlinks a-la "fsck.vfat", "fsck.ext2" usw. Wir haben aber andererseits kein fsck, nur die Komponenten.

MfG
 
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.