Help with dm-crypt/luks on mediatek device
Adam Pigg <[email protected]> Wed, 30 Sep 2020 21:23:56 +0100
| Newsgroups | gmane.linux.kernel.device-mapper.dm-crypt |
|---|---|
| Message-ID | <43289151.68iqNxZmNP@linux-f1uu> |
Hi
Im porting the linux based SailfishOS to a mediatek based phone. All is good,
except for enabling the encryption support. The UI tools arnt working, ad
neither is a basic command line setup, so im hoping if I can fix the command
line issues, the UI will just work. As far as i can tell, I have the
appropriate CONFIG* options, but cant be 100% sure. Here is what is happening,
any suggestions greatly appreciated.
cryptsetup luksFormat /dev/mmcblk1p1
WARNING!
========
This will overwrite data on /dev/mmcblk1p1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/mmcblk1p1:
Verify passphrase:
device-mapper: reload ioctl on failed: Operation not permitted
Failed to setup dm-crypt key mapping for device /dev/mmcblk1p1.
Check that kernel supports aes-xts-plain64 cipher (check syslog for more
info).
device-mapper: remove ioctl on temporary-cryptsetup-4149 failed: No such
device or address
device-mapper: table ioctl on failed: No such device or address
device-mapper: remove ioctl on temporary-cryptsetup-4149 failed: No such
device or address
device-mapper: table ioctl on failed: No such device or address
device-mapper: remove ioctl on temporary-cryptsetup-4149 failed: No such
device or address
device-mapper: table ioctl on failed: No such device or address
device-mapper: remove ioctl on temporary-cryptsetup-4149 failed: No such
device or address
device-mapper: table ioctl on failed: No such device or address
device-mapper: remove ioctl on temporary-cryptsetup-4149 failed: No such
device or address
---
[root@VollaPhone nemo]# cryptsetup --debug luksFormat /dev/mmcblk1p1
# cryptsetup 2.1.0 processing "cryptsetup --debug luksFormat /dev/mmcblk1p1"
# Running command luksFormat.
# Locking memory.
# Installing SIGINT/SIGTERM handler.
# Unblocking interruption on signal.
# Allocating context for crypt device /dev/mmcblk1p1.
# Trying to open and read device /dev/mmcblk1p1 with direct-io.
# Initialising device-mapper backend library.
WARNING!
========
This will overwrite data on /dev/mmcblk1p1 irrevocably.
Are you sure? (Type uppercase yes): YES
# Interactive passphrase entry requested.
Enter passphrase for /dev/mmcblk1p1:
Verify passphrase:
# Crypto backend (OpenSSL 1.0.2o-fips 27 Mar 2018) initialized in cryptsetup
library version 2.1.0.
# Detected kernel Linux 4.4.146+ aarch64.
# PBKDF argon2i, hash sha256, time_ms 2000 (iterations 0), max_memory_kb
1048576, parallel_threads 4.
# Formatting device /dev/mmcblk1p1 as type LUKS2.
# Topology: IO (512/0), offset = 0; Required alignment is 1048576 bytes.
# Checking if cipher aes-xts-plain64 is usable.
# Userspace crypto wrapper cannot use aes-xts-plain64 (-95).
# Using dmcrypt to access keyslot area.
# Calculated device size is 1 sectors (RW), offset 0.
# dm version [ opencount flush ] [16384] (*1)
# dm versions [ opencount flush ] [16384] (*1)
# Detected dm-ioctl version 4.34.0.
# Detected dm-verity version 1.4.0.
# Detected dm-crypt version 1.14.1.
# Device-mapper backend running with UDEV support disabled.
# DM-UUID is CRYPT-TEMP-temporary-cryptsetup-17590
# dm create temporary-cryptsetup-17590 CRYPT-TEMP-temporary-cryptsetup-17590 [
opencount flush ] [16384] (*1)
# dm reload temporary-cryptsetup-17590 [ opencount flush readonly securedata
] [16384] (*1)
device-mapper: reload ioctl on failed: Operation not permitted
# dm remove temporary-cryptsetup-17590 [ opencount flush readonly securedata
] [16384] (*1)
# temporary-cryptsetup-17590: Stacking NODE_DEL
# temporary-cryptsetup-17590: Processing NODE_DEL
Failed to setup dm-crypt key mapping for device /dev/mmcblk1p1.
Check that kernel supports aes-xts-plain64 cipher (check syslog for more
info).
# dm versions [ opencount flush ] [16384] (*1)
# dm remove temporary-cryptsetup-17590 [ opencount flush retryremove ]
[16384] (*1)
device-mapper: remove ioctl on temporary-cryptsetup-17590 failed: No such
device or address
# WARNING: other process locked internal device temporary-cryptsetup-17590,
retrying remove.
# dm versions [ opencount flush ] [16384] (*1)
# dm table temporary-cryptsetup-17590 [ opencount flush securedata ]
[16384] (*1)
device-mapper: table ioctl on failed: No such device or address
# dm remove temporary-cryptsetup-17590 [ opencount flush retryremove ]
[16384] (*1)
device-mapper: remove ioctl on temporary-cryptsetup-17590 failed: No such
device or address
# WARNING: other process locked internal device temporary-cryptsetup-17590,
retrying remove.
# dm versions [ opencount flush ] [16384] (*1)
# dm table temporary-cryptsetup-17590 [ opencount flush securedata ]
[16384] (*1)
device-mapper: table ioctl on failed: No such device or address
# dm remove temporary-cryptsetup-17590 [ opencount flush retryremove ]
[16384] (*1)
device-mapper: remove ioctl on temporary-cryptsetup-17590 failed: No such
device or address
# WARNING: other process locked internal device temporary-cryptsetup-17590,
retrying remove.
# dm versions [ opencount flush ] [16384] (*1)
# dm table temporary-cryptsetup-17590 [ opencount flush securedata ]
[16384] (*1)
device-mapper: table ioctl on failed: No such device or address
# dm remove temporary-cryptsetup-17590 [ opencount flush retryremove ]
[16384] (*1)
device-mapper: remove ioctl on temporary-cryptsetup-17590 failed: No such
device or address
# WARNING: other process locked internal device temporary-cryptsetup-17590,
retrying remove.
# dm versions [ opencount flush ] [16384] (*1)
# dm table temporary-cryptsetup-17590 [ opencount flush securedata ]
[16384] (*1)
device-mapper: table ioctl on failed: No such device or address
# dm remove temporary-cryptsetup-17590 [ opencount flush retryremove ]
[16384] (*1)
device-mapper: remove ioctl on temporary-cryptsetup-17590 failed: No such
device or address
# Releasing crypt device /dev/mmcblk1p1 context.
# Releasing device-mapper backend.
# Unlocking memory.
Command failed with code -1 (wrong or missing parameters).
---
Kernel messages when this happens:
Sep 30 16:03:44 VollaPhone kernel: [dm-crypt] dev path: /dev/mmcblk1p1,
type: -1
Sep 30 16:03:44 VollaPhone kernel: [dm-crypt] dev path: /dev/mmcblk1p1,
type: -1
Sep 30 16:03:44 VollaPhone kernel: device-mapper: table: 252:2: crypt:
Unknown error
Sep 30 16:03:44 VollaPhone kernel: device-mapper: ioctl: error adding
target to table
---
[root@VollaPhone nemo]# cat /proc/crypto
name : cbc(aes)
driver : cbc(aes-ce)
module : kernel
priority : 250
refcnt : 1
selftest : passed
internal : no
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : hmac(sha256)
driver : hmac(sha256-ce)
module : kernel
priority : 200
refcnt : 2
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 32
name : ghash
driver : ghash-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 16
digestsize : 16
name : jitterentropy_rng
driver : jitterentropy_rng
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha256
module : kernel
priority : 207
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha512
module : kernel
priority : 206
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha384
module : kernel
priority : 205
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha1
module : kernel
priority : 204
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha256
module : kernel
priority : 203
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha512
module : kernel
priority : 202
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha384
module : kernel
priority : 201
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha1
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : lzo
driver : lzo-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : compression
name : crc32c
driver : crc32c-generic
module : kernel
priority : 100
refcnt : 3
selftest : passed
internal : no
type : shash
blocksize : 1
digestsize : 4
name : deflate
driver : deflate-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : compression
name : ecb(arc4)
driver : ecb(arc4)-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : blkcipher
blocksize : 1
min keysize : 1
max keysize : 256
ivsize : 0
geniv : <default>
name : arc4
driver : arc4-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 1
min keysize : 1
max keysize : 256
name : aes
driver : aes-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : twofish
driver : twofish-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : des3_ede
driver : des3_ede-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 8
min keysize : 24
max keysize : 24
name : des
driver : des-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 8
min keysize : 8
max keysize : 8
name : poly_hash
driver : poly_hash-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 0
digestsize : 16
name : sha384
driver : sha384-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 128
digestsize : 48
name : sha512
driver : sha512-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 128
digestsize : 64
name : sha224
driver : sha224-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 28
name : sha256
driver : sha256-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 32
name : sha1
driver : sha1-generic
module : kernel
priority : 0
refcnt : 2
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 20
name : md5
driver : md5-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 16
name : digest_null
driver : digest_null-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 1
digestsize : 0
name : compress_null
driver : compress_null-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : compression
name : ecb(cipher_null)
driver : ecb-cipher_null
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : blkcipher
blocksize : 1
min keysize : 0
max keysize : 0
ivsize : 0
geniv : <default>
name : cipher_null
driver : cipher_null-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 1
min keysize : 0
max keysize : 0
name : xts(aes)
driver : xts-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 32
max keysize : 64
ivsize : 16
geniv : <default>
name : ctr(aes)
driver : ctr-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 1
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : cbc(aes)
driver : cbc-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : ecb(aes)
driver : ecb-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 0
geniv : <default>
name : __xts-aes-ce
driver : __driver-xts-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 32
max keysize : 64
ivsize : 16
geniv : <default>
name : __ctr-aes-ce
driver : __driver-ctr-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 1
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : __cbc-aes-ce
driver : __driver-cbc-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : __ecb-aes-ce
driver : __driver-ecb-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 0
geniv : <default>
name : aes
driver : aes-ce
module : kernel
priority : 250
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : poly_hash
driver : poly_hash-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 0
digestsize : 16
name : sha256
driver : sha256-ce
module : kernel
priority : 200
refcnt : 3
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 32
name : sha224
driver : sha224-ce
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 28
[root@VollaPhone nemo]#
_______________________________________________
dm-crypt mailing list
[email protected]
https://www.saout.de/mailman/listinfo/dm-crypt