GS beim Initialisieren einer formatierten SATA-Platte

  • Hallo,


    weil ich gerade eine 2TB Platte habe, wollte ich nach einigen Tests auch ausprobieren, was das Formatieren der Platte über die GUI der Dreambox macht. Noch hängt die Platte am eSATA-Anschluss. Leider gab's sofort einen GS.


    Code
    1. [killPartition] 256 parted --script --align=min -- /dev/sdb mklabel msdos
    2. Traceback (most recent call last):
    3. File "/usr/lib/enigma2/python/Screens/HarddiskSetup.py", line 151, in doInit
    4. result = self.hdd.initialize(self.isFstabMounted, self.numpart)
    5. File "/usr/lib/enigma2/python/Components/Harddisk.py", line 510, in initialize
    6. if self.createPartition() != 0:
    7. File "/usr/lib/enigma2/python/Components/Harddisk.py", line 391, in createPartition
    8. part1end = int(sectors-swapPartSize) #leaving 1GB for swap
    9. TypeError: unsupported operand type(s) for -: 'str' and 'int'


    Die Klammer steht schief, nur sectors sollte von str nach int konvertiert werden. Das steht auch so noch in git

    Code
    1. 389 cmd = 'parted --script --align=min ' + self.disk_path + ' -- mklabel msdos mkpart primary ext3 40s 100%'
    2. 390 if sectors and not self.isRemovable:
    3. 391 part1end = int(sectors-swapPartSize) #leaving 1GB for swap


    Die Korrektur lautet: int(sectors)-swapPartSize #leaving 1GB for swap
    Copyright meines Patches: geschenkt / public domain


    Die Vorbedingung beim 'if' is wohl der Grund, weshalb ich als erster darauf stoße: vermutlich trifft 'not isRemovable' bei eSata zu, aber nicht bei USB, was die meisten benutzen. Außerdem muss wegen 'sectors' die Platte schon mal partitioniert worden sein.


    Dabei fällt auf:


    Code
    1. 462 # We autocorrect any failures and check if the fs is actually one we can check (currently ext2/ext3)
    2. 477 if partitionType in ("ext2", "ext3"):


    Bitte ext4 hinzufügen. fsck.ext4 gibt es schon längst auf der Dreambox!


    Ich habe nicht weiter geprüft, ob das Formatieren jetzt klappt. Davor möchte ich noch ein paar andere Sachen ausprobieren. Fast hätte ich meine interne Platte initialisiert, weil die Speichergeräte-GUI immer wieder auf die erste Festplatte im System zurückspringt :(