Hi,

I  recently  stumbled  across  the very same bug while setting up an automated
installation environment.   So far my solution or rather workaround looks like
this:

> # this will DESTROY any VGs and PVs found
> d-i partman/early_command string sh -c 'set -- $(vgs --rows --noheadings | 
> head -n 1); for vg in "$@"; do vgremove -f "$vg"; done; set -- $(pvs --rows 
> --noheadings | head -n 1); for pv in "$@"; do pvremove -f "$pv"; done'

It might not be perfect but will destroy/wipe any recognized volume groups and
physical  volumes.   In contrast to simply 'dd if=/dev/zero'ing the disc it is
much  faster,  but will only solve the LVM specific problem.   E.g.   md-RAIDs
might  still exist.   I'm not sure if d-i will also choke itself in this case,
but it's not topic of this bug.

The expanded and pretty formatted code looks like this [1]:

> d-i partman/early_command string sh -c '
>       set -- $(vgs --rows --noheadings | head -n 1);
>       for vg in "$@"; do
>               vgremove -f "$vg";
>       done;
>       
>       set -- $(pvs --rows --noheadings | head -n 1);
>       for pv in "$@"; do
>               pvremove -f "$pv";
>       done
> '

It  will  obviously  choke on VGs or PVs that contain a whitespace [2],  but I
think  such  a identifier would be invalid as well.   As I stated above,  it's
just a workaround; a proper fix should be done inside d-i.


Cheers,

        Julius



[1] d-i  seems  not to like escaped newlines (\<CR>) in the preseed.cfg in any
    cases, hence the first one is one-line
[2] "set -- $(echo 'a b' c)"   would   create   three  arguments,  thus  three
    invocations of the in-loop code


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]

Reply via email to