[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Grub2 plain dm-crypt support
From: |
John Lane |
Subject: |
Re: Grub2 plain dm-crypt support |
Date: |
Mon, 10 Nov 2014 11:43:02 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 |
On 09/11/14 19:31, Andrei Borzenkov wrote:
> Only the last commit which adds plain dm-crypt support is relevant.
> And it is pretty much independent of the rest of grub.
I checked it out and tried unsuccessfully to build due to errors. I
tried building branch merged into master and then I tried building
"peter/devmapper" (I needed to cherry-pick commit
fd0df6d098b1e6a4f60275c48a3ec88d15ba1fbb into the branch). Both builds
ultimately failed with the same errors shown below.
disk/devmapper.c: In function ‘grub_cmd_devmap’:
disk/devmapper.c:159:22: warning: initialization discards ‘const’
qualifier from pointer target type
char *passphrase = "";
^
disk/devmapper.c:162:36: error: ‘struct grub_extcmd’ has no member named
‘state’
struct grub_arg_list *state = cmd->state;
^
disk/devmapper.c:221:26: error: ‘GRUB_ERR_CIPHER_NOT_FOUND’ undeclared
(first use in this function)
return grub_error (GRUB_ERR_CIPHER_NOT_FOUND, "Unknown cipher
%s", hash);
^
disk/devmapper.c:221:26: note: each undeclared identifier is reported
only once for each function it appears in
disk/devmapper.c: In function ‘grub_crypto_open’:
disk/devmapper.c:322:7: error: ‘struct grub_disk’ has no member named
‘has_partitions’
disk->has_partitions = dev->has_partitions;
^
disk/devmapper.c: In function ‘grub_crypto_read’:
disk/devmapper.c:357:7: warning: variable length array ‘iv’ is used [-Wvla]
grub_uint8_t iv[cipher->cipher->blocksize];
^
disk/devmapper.c: At top level:
disk/devmapper.c:389:3: warning: initialization from incompatible
pointer type
.iterate = grub_crypto_iterate,
^
disk/devmapper.c:389:3: warning: (near initialization for
‘grub_crypto_dev.iterate’)
disk/devmapper.c: In function ‘grub_mod_init’:
disk/devmapper.c:403:58: error: ‘GRUB_COMMAND_FLAG_BOTH’ undeclared
(first use in this function)
cmd = grub_register_extcmd ("devmap", grub_cmd_devmap,
GRUB_COMMAND_FLAG_BOTH,
^
disk/devmapper.c:403:41: warning: passing argument 2 of
‘grub_register_extcmd’ from incompatible pointer type
cmd = grub_register_extcmd ("devmap", grub_cmd_devmap,
GRUB_COMMAND_FLAG_BOTH,
^
In file included from ../include/grub/misc.h:25:0,
from disk/devmapper.c:26:
../include/grub/extcmd.h:58:27: note: expected ‘grub_extcmd_func_t’ but
argument is of type ‘enum grub_err_t (*)(struct grub_extcmd *, int,
char **)’
grub_extcmd_t EXPORT_FUNC(grub_register_extcmd) (const char *name,
^
../include/grub/symbol.h:68:25: note: in definition of macro ‘EXPORT_FUNC’
# define EXPORT_FUNC(x) x
^
Makefile:29158: recipe for target
'disk/crypto_devmapper_module-devmapper.o' failed
It looks to me like the code in devmapper.c expects some definitions
that don't exist in the source. If there's any chance of a version that
builds I will be pleased to test it.
>
> But the main problem as I see it is to identify disk that is needed.
> LUKS is self identifying (you have UUID to find LUKS partition). But
> how do you propose to search for partition containing plain dm-crypt?
>
I haven't got to the point where I've given this any thought beyond the
fact that I know that (hd1,1) needs unlocking by plain dm-crypt.
- Grub2 plain dm-crypt support, John Lane, 2014/11/08
- Re: Grub2 plain dm-crypt support, Andrei Borzenkov, 2014/11/09
- Re: Grub2 plain dm-crypt support, John Lane, 2014/11/09
- Re: Grub2 plain dm-crypt support, Andrei Borzenkov, 2014/11/09
- Re: Grub2 plain dm-crypt support,
John Lane <=
- Re: Grub2 plain dm-crypt support, Andrei Borzenkov, 2014/11/15
- Re: Grub2 plain dm-crypt support, John Lane, 2014/11/17
- Re: Grub2 plain dm-crypt support, John Lane, 2014/11/18
- Re: Grub2 plain dm-crypt support, Andrei Borzenkov, 2014/11/18