# [gelöst]: cryptsetup-luks versagt den Dienst

## rogge

Hallo,

ich habe bereits seit geraumer Zeit meine /home-Partition verschlüsselt

zu laufen. Klappt alles Prima.

Jetzt wollte ich eine neue Partition auf einer anderen Platte via

```
/bin/cryptsetup -y -c twofish-cbc-essiv:sha256 -s 256 luksFormat /dev/hdb2
```

vorbereiten.

Ich bekomme aber jedesmal, auch mit blowfish oder aes, folgendes:

 *Quote:*   

> 
> 
> WARNING!
> 
> ========
> ...

 

Die Platte/Partition ist nicht gemountet o.ä.

Im DM-Crypt-HowTo vom Gentoo-Wiki stand noch folgende mögliche Ursache:

 *Quote:*   

>  Die Ausgabe ('dmsetup targets') sollte keine Fehlermeldungen und einen Eintrag der Form 'crypt v1.5.0' enthalten.

 

dmsetup wirft aber genau das aus:

```

crypt            v1.5.0

striped          v1.0.2

linear           v1.0.2

error            v1.0.1

```

Leider steht nirgens was in einem solchen Fall zu tun ist.

Hat jemand eine Idee?

cryptsetup-luks läuft momentan mit der Version 1.0.4-r3.

Danke im vorraus, roggeLast edited by rogge on Tue Mar 11, 2008 10:45 pm; edited 1 time in total

----------

## misterjack

Erstmal eine neuere Version installieren bitte:

```
emerge -C sys-fs/cryptsetup-luks && emerge sys-fs/cryptsetup
```

Siehe http://de.gentoo-wiki.com/DM-Crypt#Installation_2

----------

## rogge

Das hab ich wohl übersehen. Habs jetzt aktualisiert.

Leider funktioniert es immernoch nicht.

Meine /proc/crypto sieht so aus:

 *Quote:*   

> 
> 
> name         : cbc(twofish)
> 
> driver       : cbc(twofish-generic)
> ...

 

Die benötigten Module sind fest im Kernel einkompiliert.

 *Quote:*   

> 
> 
> CONFIG_DM_CRYPT=y
> 
> CONFIG_CRYPTO=y
> ...

 

MfG, rogge

----------

## schachti

Tauchen hilfreiche Fehlermeldungen im syslog oder in der Ausgabe von dmesg auf? Zum testen: was passiert, wenn Du anstatt

 *rogge wrote:*   

> 
> 
> ```
> /bin/cryptsetup -y -c twofish-cbc-essiv:sha256 -s 256 luksFormat /dev/hdb2
> ```
> ...

 

einfach mal die Optionen -c twofish-cbc-essiv:sha256 -s 256 wegläßt?

----------

## rogge

Ja, folgende:

 *Quote:*   

> 
> 
> device-mapper: table: 254:1: crypt: Error allocating crypto tfm
> 
> device-mapper: ioctl: error adding target to table
> ...

 

/dev/hdb2 ist ~40G groß.

----------

## misterjack

Probier mal bitte mit SHA 1 Support

----------

## rogge

Hab ich ausprobiert, klappt leider auch nicht.

Dann hab ich noch den Kernel auf Version 2.6.23-r9 aktualisiert und den

i586-Support für Twofish angeschalten. Ändert leider alles nix.

Ich hab das ganze nochmal durch 'strace' geschickt. Ab hier

wirds interessant: (leider nichts neues)

 *Quote:*   

> 
> 
> ioctl(4, DM_DEV_CREATE, 0x8160e18)      = 0
> 
> ioctl(4, DM_TABLE_LOAD, 0x8160e18)      = -1 EINVAL (Invalid argument)
> ...

 

MfG roge

----------

## misterjack

Leider bin ich jetzt überfragt. Erhälst du die Fehlermeldung auch, wenn LRW oder XTS oder statt Twofisch eine andere API probierst?

----------

## Aldo

Lege mal einen Link von /etc/conf.d/cryptofs nach etc/conf.d/dmcrypt an und schau ob das hilft.

Wird ja gerne beim Wechsel von cryptsetup-luks nach cryptsetup vergessen...

----------

## snIP3r

hi!

was mich hier etwas beunruhigt ist diese meldung

 *Quote:*   

> 
> 
> device-mapper: table: device /dev/hdb2 too small for target 
> 
> 

 

fuer mich sieht das so aus, als ob mit der partition was nicht stimmt. kannst du mal die ausgabe von fdisk -l /dev/hdb posten? vllt kann man ja daraus was ersehen...

HTH

snIP3r

----------

## rogge

@misterjack: Ich hab andere APIs probiert, LRW oder XTS noch nicht. 'strace' gibt aber immer den selben Fehler aus.

@Aldo: Die komplette /etc/conf.d/dmcrypt ist, wie /etc/conf.d/cryptofs vorher auch, inaktiv. Ich mounte zur Zeit 

noch über ein Extra-mount-skript. Das wollte ich in dem Zug gleich noch mit ändern. Aber soweit bin ich ja noch nicht.

@snIP3r:

 *Quote:*   

> 
> 
> Platte /dev/hdb: 80.0 GByte, 80026361856 Byte
> 
> 255 Köpfe, 63 Sektoren/Spuren, 9729 Zylinder
> ...

 

MfG rogge

----------

## rogge

Problem gelöst!

Es lag an meiner etwas arg fehlerhaften Art den Partitiontabel zu strukturieren.

So sieht er jetzt aus und es hat alles auf anhieb funktioniert.

 *Quote:*   

> 
> 
> Disk /dev/hdb: 80.0 GB, 80026361856 bytes
> 
> 255 heads, 63 sectors/track, 9729 cylinders
> ...

 

Für alle die nur "Bahnhof" verstehen: hdb2 war eine erweiterte Partition (Typ5).

Darauf lässt sich aber nichts machen, da es sich nur um einen Container handelt.

Ich brauchte also eine logische Partition (Typ83). Die kann ich aber erst in einem

solchen Container erstellen. Primär wäre hier zuviel und laut Doku evtl. problematisch,

da von dieser Partition nicht gebootet werden soll.

Danke, für eure Mühen. rogge

----------

## misterjack

 *rogge wrote:*   

> Primär wäre hier zuviel und laut Doku evtl. problematisch,
> 
> da von dieser Partition nicht gebootet werden soll.

 

Inwiefern soll eine primäre problematisch sein, wenn nicht von ihr gebootet wird? Das ergibt keinen Sinn.

Aber die Ursache deines Problems, darauf muss man erstmal kommen  :Smile: 

----------

## nasgul1983

hi überprüf mal folgendes:

ls -l /dev/mapper/control

Bei mir erstellt Gentoo immer wieder einen Symlink von control auf control dann bekommst du deine genannte Fehlermeldung.

(war zumindest bei mir so)

Wenns so ist einfach:

rm /dev/mapper/control

mknod /dev/mapper/control c 10 62

und es funktioniert

Hab mir ein rcscript geschrieben, dass den Fehler ausgleicht, wenn jemand weiss wo man das Problem direkt beheben kann

dann nennt mir bitte die Lösung  :Wink: 

----------

## nasgul1983

oh nich ganz gelesen is ja schon behoben ;(

trotzdem wenn jemand für mein Problem mit dem erstellen eines links (/dev/mapper/control -> control) ne Lösung hat bitte her damit

----------

## belbono

Hallo

ich habe das gleiche Problem bei der Verschlüsselung:

```
cryptsetup -c aes-cbc-essiv:sha256 -y -s 384 luksFormat /dev/hda5

Failed to setup dm-crypt key mapping.

Check kernel for support for the aes-cbc-essiv:sha256 cipher spec and verify that /dev/hda5 contains at least 383 sectors.

Failed to write to key storage.

Command failed.

```

Dieser Thread konnte mir aber leider bisher nicht helfen. Hier aber meine Ausgaben zu den bereits hier genannten:

```
fdisk -l /dev/hda

Platte /dev/hda: 160.0 GByte, 160041885696 Byte

255 Köpfe, 63 Sektoren/Spuren, 19457 Zylinder

Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Disk identifier: 0xed3aa5c0

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System

/dev/hda1   *           1        1937    15558921    7  HPFS/NTFS

/dev/hda2            1938       13090    89583952+   f  W95 Erw. (LBA)

/dev/hda3           13091       19457    51142927+   7  HPFS/NTFS

/dev/hda5            1938       13090    89583921    7  HPFS/NTFS
```

```
fdisk -l /dev/hda5

Platte /dev/hda5: 91.7 GByte, 91733935104 Byte

255 Köpfe, 63 Sektoren/Spuren, 11152 Zylinder

Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Disk identifier: 0x00000000
```

```
cat /proc/crypto 

name         : cbc(aes)

driver       : cbc(aes-x86_64)

module       : kernel

priority     : 200

refcnt       : 1

type         : blkcipher

blocksize    : 16

min keysize  : 16

max keysize  : 32

ivsize       : 16

name         : aes

driver       : aes-x86_64

module       : aes_x86_64

priority     : 200

refcnt       : 1

type         : cipher

blocksize    : 16

min keysize  : 16

max keysize  : 32

name         : aes

driver       : aes-generic

module       : aes_generic

priority     : 100

refcnt       : 1

type         : cipher

blocksize    : 16

min keysize  : 16

max keysize  : 32

name         : des3_ede

driver       : des3_ede-generic

module       : kernel

priority     : 0

refcnt       : 1

type         : cipher

blocksize    : 8

min keysize  : 24

max keysize  : 24

name         : des

driver       : des-generic

module       : kernel

priority     : 0

refcnt       : 1

type         : cipher

blocksize    : 8

min keysize  : 8

max keysize  : 8

name         : sha256

driver       : sha256-generic

module       : kernel

priority     : 0

refcnt       : 1

type         : digest

blocksize    : 64

digestsize   : 32

name         : md5

driver       : md5-generic

module       : kernel

priority     : 0

refcnt       : 1

type         : digest

blocksize    : 64

digestsize   : 16

```

Bin jede menge HowTo's durch gegangen, aber in Sachen Troubleshooting siehts zu dem Thema momentan wohl noch nich so gut aus.

Hat jemand eine Idee was bei mir noch falsch sein könnte ?

Gruß, bel

----------

## nasgul1983

hast du schon meinen Post gelesen und überprüft ob /dev/mapper/control bei dir richtig gesetzt ist?

steht direkt über deinem

----------

## belbono

@nasgul1983

das von dir geschilderte Problem trifft auf mich nicht zu:

```
 ls -l /dev/mapper/control 

lrwxrwxrwx 1 root root 16  7. Apr 16:48 /dev/mapper/control -> ../device-mapper
```

was könnte sonst noch sein ?

----------

## nasgul1983

ok

Dennoch nur um sicher zu gehen - hast du mal überprüft was /dev/device-mapper ist?

muss ja auch bei dir eigentlich ein char device sein:

ls -l /dev/mapper/control

crw-rw---- 1 root root 10, 62 Apr  7 11:04 /dev/mapper/control

Kannste ja nochmal überprüfen, ansonsten fällt mir leider auch nicht mehr viel ein

----------

## belbono

```
 ls -la /dev | grep device-mapper

crw-rw----  1 root root       10,  59  7. Apr 20:29 device-mapper

```

ich nehme mal an, dass das c an erster stelle auf einen char-device hindeutet.

demnach würd ich sagen, dass von der seite her alles ok is.

störts vielleicht, dass hda5 bei mir noch mit ntfs formatiert is ? hab das nur mittels dd if=/dev/zero überschrieben.

oder module. ich lade anfangs immer nur

 *Quote:*   

> modprobe dm-crypt

 

fehlt vielleicht da noch was anderes ?

----------

## nasgul1983

ich würd auf jedenfall mal das /dev/mapper/control mit 10 64 erstellen.

also mal testweise lösch den link und mach mknod /dev/mapper/control c 10 64 

dann schau mal obs geht

----------

## belbono

Habs mal ausprobiert und dann versucht wieder zu verschüsseln. Hat leider nichts gebracht

```
 cryptsetup -c aes-cbc-essiv:sha256 -y -s 384 luksFormat /dev/hda5

WARNING!

========

This will overwrite data on /dev/hda5 irrevocably.

Are you sure? (Type uppercase yes): YES

Enter LUKS passphrase: 

Verify passphrase: 

Unable to obtain sector size for /dev/hda5Failed to setup dm-crypt key mapping.

Check kernel for support for the aes-cbc-essiv:sha256 cipher spec and verify that /dev/hda5 contains at least 383 sectors.

Failed to write to key storage.

Command failed.

```

----------

## nasgul1983

hm - sorry dann weiß ich leider auch nix mehr, war auch nur ein Versuch, hatte nämlich genau die gleiche Meldung bekommen und bei mir lags eben an dem /dev/mapper/control

Hast du aber schonmal andere ciphers versucht? z.B. cryptsetup -c aes-xts-plain -s 384 luksFormat .....

----------

## belbono

Jo ... hab ich auch schon probiert. Leider ohne Erfolg.

Ich werd dann halt mal weiter suchen in den großen Tiefen des www

----------

## nasgul1983

Ich wünsch dir dann mal viel Glück  :Wink: 

----------

