[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#516347: debian-installer: guided-with-lvm no longer allows multiple primary partition



Hi,

Looking closer at partman logs, I now doubt that this is a
partman-auto-lvm specific issue.


The disk size as seen by the installer is 10947133440 bytes

The initial preseeded recipe is :
96 128 128 ext3 $primary{ } $bootable { } method{ format } \
                        format{ } use_filesystem{ } filesystem{ ext3 }
mountpoint{ /boot } . \
100 1000 -1 ext3 $lvmok{ } method{ format } format{ } \
                         use_filesystem{ } filesystem{ ext3 } mountpoint{ / }

Which is transformed by expand_recipe into the following actual scheme
for creating the primary partitions :
128 0 128 ext3 $primary{ } $bootable { } method{ format } \
                         format{ } use_filesystem{ } filesystem{ ext3
} mountpoint{ /boot } . \
10819 96 -1 ext3 $primary{ } method{ lvm }

This scheme should fit on the disk (10819+128=10947 MiB)

But the partman log extract at the end of this post shows that :
1)  when parted_server is asked to create a 128 MiB partition at the
beginning of the disk,
It creates a 131.6 MiB (131604480 bytes) partition beginning at
position 32256, and ending at 131604479.
2) parted_server is then asked to create a 10819 MiB primary partition
to hold the physical volume,
but starting at position 131604480, it can find enough space on the
disk and fails :

How can the gap between what is asked and what is performed by
parted_server be explained ?
- 131572224 B doesn't equal 128 MB, so an International System Units
vs binary Units mismatch doesn't seem to be involved.
- the disk size seems not to be involved either, as having tried a lvm
preseeded recipe on a 70 GB physical hard drive have given the same
result (will try tomorrow with bigger disks)
- is some overhead missing in the partition size calculation by expand_recipe ?
- should the scheme be recomputed with feedback from the parted_server
before creating following partitions ?


On Etch, the same recipe works because the default behavior is to
create the physical volume in a logical partition, using the entire
free space (position parameter set to "full").

Any thoughts/questions on the subject are welcome :
- directions to look further
- examples of lvm preseed recipe working with the lenny installer
- requests for precision or execution traces

Regards.

Simon Walter.


Partman log extract :

parted_server: main_loop: iteration 30
parted_server: Opening infifo
/bin/autopartition-lvm: IN: NEW_PARTITION =dev=hda primary ext3
0-10947133439 beginning 128000001
parted_server: Read command: NEW_PARTITION
parted_server: command_new_partition()
parted_server: Note =dev=hda as changed
parted_server: Opening outfifo
parted_server: requested partition with type primary
parted_server: requested partition with file system ext3
parted_server: add_primary_partition(disk(21381120),0-250000)
parted_server: OUT: OK


parted_server: OUT: 1   32256-131604479 131572224       primary ext3
 /dev/hda1


parted_server: Closing infifo and outfifo
parted_server: main_loop: iteration 31
parted_server: Opening infifo
/bin/autopartition-lvm: IN: PARTITIONS =dev=hda
parted_server: Read command: PARTITIONS
parted_server: command_partitions()
parted_server: Opening outfifo
parted_server: OUT: OK


parted_server: OUT: 1   32256-131604479 131572224       primary ext3
 /dev/hda1


parted_server: OUT: -1  131604480-10939622399   10808017920
pri/log free    /dev/hda-1


parted_server: Partitions printed
parted_server: OUT:


parted_server: Closing infifo and outfifo
parted_server: main_loop: iteration 32
parted_server: Opening infifo
/bin/autopartition-lvm: IN: PARTITION_INFO =dev=hda 131604480-10939622399
parted_server: Read command: PARTITION_INFO
parted_server: command_partition_info()
parted_server: Opening outfifo
parted_server: command_partition_info: info for partition with id
131604480-10939622399
parted_server: partition_with_id(131604480-10939622399)
parted_server: OUT: OK


parted_server: command_partition_info: partition found
parted_server: OUT: -1  131604480-10939622399   10808017920
pri/log free    /dev/hda-1


parted_server: Closing infifo and outfifo
parted_server: main_loop: iteration 33
parted_server: Opening infifo
/bin/autopartition-lvm: IN: NEW_PARTITION =dev=hda primary ext3
131604480-10939622399 beginning 10819000001
parted_server: Read command: NEW_PARTITION
parted_server: command_new_partition()
parted_server: Note =dev=hda as changed
parted_server: Opening outfifo
parted_server: requested partition with type primary
parted_server: requested partition with file system ext3
parted_server: add_primary_partition(disk(21381120),257040-21387899)
parted_server: OUT: Error


parted_server: OUT: Can't have a partition outside the disk!


parted_server: OUT:


parted_server: OUT: Cancel


parted_server: OUT:


open_dialog NEW_PARTITION primary ext3 0-10947133439 beginning 128000001
parted_server: OUT: 1   32256-131604479 131572224       primary ext3
 /dev/hda1
/bin/autopartition-lvm: IN: NEW_PARTITION =dev=hda primary ext3
131604480-10939622399 beginning 10819000001
parted_server: OUT: Error


parted_server: OUT: Can't have a partition outside the disk!


-- System Information:
Debian Release: 5.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.18-6-xen-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash



Reply to: