Bug#497110: boot loader installation failed when dmraid=true - Debian

This is a discussion on Bug#497110: boot loader installation failed when dmraid=true - Debian ; Package: installation-reports Severity: normal -- Package-specific info: Boot method: CD Image version: http://cdimage.debian.org/cdimage/da...sinesscard.iso This build finished at Wed Aug 27 07:45:39 UTC 2008. Date: Wed Aug 27 07:45:39 UTC 2008. Machine: Qemu with fakeraid qcow2 format disk images Partitions: Filesystem ...

+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 20 of 38

Thread: Bug#497110: boot loader installation failed when dmraid=true

  1. Bug#497110: boot loader installation failed when dmraid=true

    Package: installation-reports
    Severity: normal



    -- Package-specific info:

    Boot method: CD
    Image version: http://cdimage.debian.org/cdimage/da...sinesscard.iso This build finished at Wed Aug 27 07:45:39 UTC 2008.
    Date: Wed Aug 27 07:45:39 UTC 2008.

    Machine: Qemu with fakeraid qcow2 format disk images
    Partitions:

    Filesystem Type 1K-blocks Used Available Use% Mounted on
    /dev/mapper/sil_aiahbgbgaaaj1
    ext3 76185728 732456 71583216 2% /
    tmpfs tmpfs 63232 0 63232 0% /lib/init/rw
    udev tmpfs 10240 100 10140 1% /dev
    tmpfs tmpfs 63232 0 63232 0% /dev/shm



    Base System Installation Checklist:
    [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

    Initial boot: [O]
    Detect network card: [O]
    Configure network: [O]
    Detect CD: [O]
    Load installer modules: [O]
    Detect hard drives: [O]
    Partition hard drives: [O]
    Install base system: [O]
    Clock/timezone setup: [O]
    User/password setup: [O]
    Install tasks: [O]
    Install boot loader: [E]
    Overall install: [ ]

    Comments/Problems:

    I used a set of fakeraid qcow2 format disk images (http://www.themuso.id.au/ubuntu/dmra...-disks.tar.bz2),
    but boot loader installation failed.
    It seems that installer recognize /dev/mapper/* as an lvm volume, and so disable grub installation.

    lilo-installaer wants to install lilo in a bad partition, /dev/mapper/sil_aiahbgbgaaajp1 , but the correct is /dev/mapper/sil_aiahbgbgaaaj1



    --

    Please make sure that the hardware-summary log file, and any other
    installation logs that you think would be useful are attached to this
    report. Please compress large files using gzip.

    Once you have filled out this report, mail it to submit@bugs.debian.org.

    ==============================================
    Installer lsb-release:
    ==============================================
    DISTRIB_ID=Debian
    DISTRIB_DESCRIPTION="Debian GNU/Linux installer"
    DISTRIB_RELEASE="5.0 (lenny) - installer build 20080826-19:05"
    X_INSTALLATION_MEDIUM=cdrom

    ==============================================
    Installer hardware-summary:
    ==============================================
    umame -a: Linux emu 2.6.26-1-486 #1 Fri Aug 8 18:05:01 UTC 2008 i686 unknown
    lspci -knn: 00:00.0 Host bridge [0600]: Intel Corporation 440FX - 82441FX PMC [Natoma] [8086:1237] (rev 02)
    lspci -knn: 00:01.0 ISA bridge [0601]: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] [8086:7000]
    lspci -knn: 00:01.1 IDE interface [0101]: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] [8086:7010]
    lspci -knn: Kernel driver in use: PIIX_IDE
    lspci -knn: Kernel modules: piix
    lspci -knn: 00:01.3 Bridge [0680]: Intel Corporation 82371AB/EB/MB PIIX4 ACPI [8086:7113]
    lspci -knn: 00:02.0 VGA compatible controller [0300]: Cirrus Logic GD 5446 [1013:00b8]
    lspci -knn: 00:03.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8029(AS) [10ec:8029]
    lspci -knn: Kernel driver in use: ne2k-pci
    lspci -knn: Kernel modules: ne2k-pci
    lsmod: Module Size Used by
    lsmod: ufs 63620 0
    lsmod: qnx4 7684 0
    lsmod: ntfs 180416 0
    lsmod: md_mod 65940 0
    lsmod: xfs 446836 0
    lsmod: reiserfs 187008 0
    lsmod: jfs 148060 0
    lsmod: ext3 103432 1
    lsmod: jbd 35092 1 ext3
    lsmod: vfat 8832 0
    lsmod: fat 39964 1 vfat
    lsmod: ext2 52616 0
    lsmod: mbcache 6656 2 ext3,ext2
    lsmod: dm_mirror 14720 1
    lsmod: dm_log 8192 2 dm_mirror
    lsmod: dm_mod 45384 10 dm_mirror,dm_log
    lsmod: ne2k_pci 7904 0
    lsmod: 8390 8064 1 ne2k_pci
    lsmod: nls_utf8 1664 0
    lsmod: isofs 27684 0
    lsmod: nls_base 6528 6 ntfs,jfs,vfat,fat,nls_utf8,isofs
    lsmod: zlib_inflate 13952 1 isofs
    lsmod: ide_generic 2432 0 [permanent]
    lsmod: vga16fb 11276 2
    lsmod: vgastate 7552 1 vga16fb
    lsmod: fan 4100 0
    lsmod: ide_cd_mod 27524 0
    lsmod: cdrom 30112 1 ide_cd_mod
    lsmod: ide_disk 10368 2
    lsmod: thermal 15004 0
    lsmod: parport_pc 22308 0
    lsmod: processor 27824 1 thermal
    lsmod: thermal_sys 10656 3 fan,thermal,processor
    lsmod: parport 30152 1 parport_pc
    lsmod: piix 6404 0 [permanent]
    lsmod: ide_core 91188 4 ide_generic,ide_cd_mod,ide_disk,piix
    lsmod: floppy 47620 0
    df: Filesystem 1k-blocks Used Available Use% Mounted on
    df: tmpfs 128292 20 128272 0% /dev
    df: tmpfs 128292 20 128272 0% /dev
    df: /dev/mapper/sil_aiahbgbgaaajp1
    df: 76185728 624076 71691596 1% /target
    df: /dev/mapper/sil_aiahbgbgaaajp1
    df: 76185728 624076 71691596 1% /dev/.static/dev
    df: tmpfs 128292 20 128272 0% /target/dev
    free: total used free shared buffers
    free: Mem: 256584 219548 37036 0 13816
    free: Swap: 746980 0 746980
    free: Total: 1003564 219548 784016
    dmraid -s: *** Active Set
    dmraid -s: name : sil_aiahbgbgaaaj
    dmraid -s: size : 156299440
    dmraid -s: stride : 0
    dmraid -s: type : mirror
    dmraid -s: status : ok
    dmraid -s: subsets: 0
    dmraid -s: devs : 2
    dmraid -s: spares : 0
    dmraid -r: /dev/hdb: sil, "sil_aiahbgbgaaaj", mirror, ok, 156299440 sectors, data@ 0
    dmraid -r: /dev/hda: sil, "sil_aiahbgbgaaaj", mirror, ok, 156299440 sectors, data@ 0
    dmsetup table: sil_aiahbgbgaaajp5: 0 1493982 linear 254:0 154802403
    dmsetup table: sil_aiahbgbgaaajp2: 0 1494045 linear 254:0 154802340
    dmsetup table: sil_aiahbgbgaaajp1: 0 154802277 linear 254:0 63
    dmsetup table: sil_aiahbgbgaaaj: 0 156299440 mirror core 2 131072 nosync 2 3:64 0 3:0 0 1 handle_errors
    /proc/cpuinfo: processor : 0
    /proc/cpuinfo: vendor_id : GenuineIntel
    /proc/cpuinfo: cpu family : 6
    /proc/cpuinfo: model : 3
    /proc/cpuinfo: model name : Pentium II (Klamath)
    /proc/cpuinfo: stepping : 3
    /proc/cpuinfo: cpu MHz : 2807.221
    /proc/cpuinfo: cache size : 2048 KB
    /proc/cpuinfo: fdiv_bug : no
    /proc/cpuinfo: hlt_bug : no
    /proc/cpuinfo: f00f_bug : no
    /proc/cpuinfo: coma_bug : no
    /proc/cpuinfo: fpu : yes
    /proc/cpuinfo: fpu_exception : yes
    /proc/cpuinfo: cpuid level : 2
    /proc/cpuinfo: wp : yes
    /proc/cpuinfo: flags : fpu de pse tsc msr pae mce cx8 apic sep pge cmov pat mmx fxsr sse sse2 pni
    /proc/cpuinfo: bogomips : 5677.02
    /proc/cpuinfo: clflush size : 32
    /proc/cpuinfo: power management:
    /proc/cpuinfo:
    /proc/ioports: 0000-001f : dma1
    /proc/ioports: 0020-0021 : pic1
    /proc/ioports: 0040-0043 : timer0
    /proc/ioports: 0050-0053 : timer1
    /proc/ioports: 0060-0060 : keyboard
    /proc/ioports: 0064-0064 : keyboard
    /proc/ioports: 0070-0071 : rtc0
    /proc/ioports: 0080-008f : dma page reg
    /proc/ioports: 00a0-00a1 : pic2
    /proc/ioports: 00c0-00df : dma2
    /proc/ioports: 00f0-00ff : fpu
    /proc/ioports: 0170-0177 : 0000:00:01.1
    /proc/ioports: 0170-0177 : PIIX3
    /proc/ioports: 01f0-01f7 : 0000:00:01.1
    /proc/ioports: 01f0-01f7 : PIIX3
    /proc/ioports: 0376-0376 : 0000:00:01.1
    /proc/ioports: 0376-0376 : PIIX3
    /proc/ioports: 0378-037a : parport0
    /proc/ioports: 037b-037f : parport0
    /proc/ioports: 03c0-03df : vga+
    /proc/ioports: 03f2-03f5 : floppy
    /proc/ioports: 03f6-03f6 : 0000:00:01.1
    /proc/ioports: 03f6-03f6 : PIIX3
    /proc/ioports: 03f7-03f7 : floppy DIR
    /proc/ioports: 03f8-03ff : serial
    /proc/ioports: 0cf8-0cff : PCI conf1
    /proc/ioports: b000-b03f : 0000:00:01.3
    /proc/ioports: b000-b003 : ACPI PM1a_EVT_BLK
    /proc/ioports: b004-b005 : ACPI PM1a_CNT_BLK
    /proc/ioports: b008-b00b : ACPI PM_TMR
    /proc/ioports: b010-b015 : ACPI CPU throttle
    /proc/ioports: b100-b10f : 0000:00:01.3
    /proc/ioports: c000-c00f : 0000:00:01.1
    /proc/ioports: c000-c00f : PIIX3
    /proc/ioports: c100-c1ff : 0000:00:03.0
    /proc/ioports: c100-c11f : ne2k-pci
    /proc/iomem: 00000000-0009fbff : System RAM
    /proc/iomem: 0009fc00-0009ffff : reserved
    /proc/iomem: 000a0000-000bffff : Video RAM area
    /proc/iomem: 000c0000-000c8bff : Video ROM
    /proc/iomem: 000f0000-000fffff : System ROM
    /proc/iomem: 00100000-0ffeffff : System RAM
    /proc/iomem: 00100000-002a74a2 : Kernel code
    /proc/iomem: 002a74a3-00361fff : Kernel data
    /proc/iomem: 003b4000-0040dbd7 : Kernel bss
    /proc/iomem: 0fff0000-0fffffff : ACPI Tables
    /proc/iomem: f0000000-f1ffffff : 0000:00:02.0
    /proc/iomem: f2000000-f2000fff : 0000:00:02.0
    /proc/iomem: fffc0000-ffffffff : reserved
    /proc/interrupts: CPU0
    /proc/interrupts: 0: 78 IO-APIC-edge timer
    /proc/interrupts: 1: 1722 IO-APIC-edge i8042
    /proc/interrupts: 6: 2 IO-APIC-edge floppy
    /proc/interrupts: 7: 0 IO-APIC-edge parport0
    /proc/interrupts: 8: 1 IO-APIC-edge rtc0
    /proc/interrupts: 10: 137967 IO-APIC-fasteoi eth0
    /proc/interrupts: 11: 0 IO-APIC-fasteoi acpi
    /proc/interrupts: 12: 2 IO-APIC-edge i8042
    /proc/interrupts: 14: 94334 IO-APIC-edge ide0
    /proc/interrupts: 15: 4838 IO-APIC-edge ide1
    /proc/interrupts: NMI: 0 Non-maskable interrupts
    /proc/interrupts: LOC: 916750 Local timer interrupts
    /proc/interrupts: TRM: 0 Thermal event interrupts
    /proc/interrupts: SPU: 0 Spurious interrupts
    /proc/interrupts: ERR: 0
    /proc/interrupts: MIS: 0
    /proc/meminfo: MemTotal: 256584 kB
    /proc/meminfo: MemFree: 36984 kB
    /proc/meminfo: Buffers: 13816 kB
    /proc/meminfo: Cached: 183640 kB
    /proc/meminfo: SwapCached: 0 kB
    /proc/meminfo: Active: 78168 kB
    /proc/meminfo: Inactive: 122896 kB
    /proc/meminfo: SwapTotal: 746980 kB
    /proc/meminfo: SwapFree: 746980 kB
    /proc/meminfo: Dirty: 392 kB
    /proc/meminfo: Writeback: 0 kB
    /proc/meminfo: AnonPages: 3636 kB
    /proc/meminfo: Mapped: 1976 kB
    /proc/meminfo: Slab: 13396 kB
    /proc/meminfo: SReclaimable: 10168 kB
    /proc/meminfo: SUnreclaim: 3228 kB
    /proc/meminfo: PageTables: 304 kB
    /proc/meminfo: NFS_Unstable: 0 kB
    /proc/meminfo: Bounce: 0 kB
    /proc/meminfo: WritebackTmp: 0 kB
    /proc/meminfo: CommitLimit: 875272 kB
    /proc/meminfo: Committed_AS: 6952 kB
    /proc/meminfo: VmallocTotal: 777924 kB
    /proc/meminfo: VmallocUsed: 3844 kB
    /proc/meminfo: VmallocChunk: 773400 kB
    /proc/meminfo: HugePages_Total: 0
    /proc/meminfo: HugePages_Free: 0
    /proc/meminfo: HugePages_Rsvd: 0
    /proc/meminfo: HugePages_Surp: 0
    /proc/meminfo: Hugepagesize: 4096 kB
    /proc/bus/input/devices: I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
    /proc/bus/input/devices: N: Name="AT Translated Set 2 keyboard"
    /proc/bus/input/devices: P: Phys=isa0060/serio0/input0
    /proc/bus/input/devices: S: Sysfs=/class/input/input0
    /proc/bus/input/devices: U: Uniq=
    /proc/bus/input/devices: H: Handlers=kbd
    /proc/bus/input/devices: B: EV=120013
    /proc/bus/input/devices: B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
    /proc/bus/input/devices: B: MSC=10
    /proc/bus/input/devices: B: LED=7
    /proc/bus/input/devices:

    -- System Information:
    Debian Release: lenny/sid
    APT prefers testing
    APT policy: (500, 'testing')
    Architecture: i386 (i686)

    Kernel: Linux 2.6.26-1-686 (SMP w/1 CPU core)
    Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)
    Shell: /bin/sh linked to /bin/bash



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  2. Bug#497110: boot loader installation failed when dmraid=true

    reassign 497110 partman-dmraid
    severity 497110 serious
    thanks

    On Saturday 30 August 2008, Giuseppe Iuculano wrote:
    > Comments/Problems:
    > I used a set of fakeraid qcow2 format disk images
    > (http://www.themuso.id.au/ubuntu/dmra...-disks.tar.bz2), but boot
    > loader installation failed.
    > It seems that installer recognize /dev/mapper/* as an lvm volume, and
    > so disable grub installation.


    That should not happen. There is an exception for dmraid devices, which
    apparently no longer works.

    From the output you provide the reason seems to be that partitions are now
    created as p. The problem is the "p" between
    the device and the partition number which AFAICT did not use to be there
    before.

    This makes the "isinstallable" test fail for grub-instaoller. I would not
    be surprised if this would make other changes necessary too.

    First thing that needs to be determined is what exactly has changed to add
    this "p". Is it a change in dmraid, or in libparted, or elsewhere?
    When we know that we can check where changes are needed.
    Do you have any idea yourself where this "p" comes from?

    > lilo-installaer wants to install lilo in a bad partition,
    > /dev/mapper/sil_aiahbgbgaaajp1 , but the correct is
    > /dev/mapper/sil_aiahbgbgaaaj1


    dmraid has never been tested with lilo, so this is not very surprising.

    I'm reassigning this issue to partman-dmraid as that is the most specific
    component for dmraid support, even though most needed changes will
    probably be in grub-installer.

    Cheers,
    FJP



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  3. Bug#497110: boot loader installation failed when dmraid=true

    (No need to CC me on replies.)

    On Saturday 30 August 2008, Giuseppe Iuculano wrote:
    > Frans Pop ha scritto:
    > > First thing that needs to be determined is what exactly has changed
    > > to add this "p". Is it a change in dmraid, or in libparted, or
    > > elsewhere? When we know that we can check where changes are needed.
    > > Do you have any idea yourself where this "p" comes from?

    >
    > I don't know where this "p" comes from,


    Well, I assume that the "p" stands for "partition". It is a somewhat
    common separator. The question is why it is showing up suddenly now and
    what is responsible for adding it.

    > this is an ls -la after partitions (from network shell installer)

    [...]
    > But in the next reboot , from network shell installer:


    What exactly do you mean by "network shell installer"? That is not really
    a meaningfull term for us. If this is some Debian Installer image, then
    please specify exactly what image you were using (full URL of the image
    you downloaded is good).

    I guess the two boots were with the exact same version of the installer
    and the same boot options? If that is the case then something is really
    broken.

    Exactly at what point of the installation did you do the 'ls -la'? Was
    this before or after partitioning? The best point to do it would be after
    hardware (disk) detection, but before partitioning.

    Obviously we cannot really support something that is so unpredictable.
    From the info so far I would say that the problem is either in dmraid or
    maybe in the device-mapper (either user space or kernel).

    I suggest that you try to determine what causes the difference by saving
    and carefully comparing the output of dmesg, various dmraid commands,
    maybe info available in /proc/, the output of fdisk -l for the underlying
    real devices, etc.

    What is also suspicious is the missing partition 2, which I suspect is an
    extended partition.



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  4. Bug#497110: boot loader installation failed when dmraid=true

    Frans Pop ha scritto:
    > But another possibility is that you are just not following the correct
    > procedure. Support for dmraid is far from perfect and things will *only*
    > work if you follow the documented procedure.
    >
    > How did you do the partitioning? Did you *exactly* follow the instructions
    > that are given in the "Partitioning" section of the SataRAID wiki page [1]?
    >
    > Did the partman screens look like the examples that are given there?
    > Screenshots before and after doing the "Write changes in SATA RAID
    > partitioning to disk" step would be nice too.
    >
    > Please send the /var/log/partman (gzipped!) after you do the partitioning.


    Ok, some other test.


    - First test

    Partition disk:
    http://sd6.iuculano.it/dmraid-testing/partman1-1.png

    Choose free space and create a new partition:
    http://sd6.iuculano.it/dmraid-testing/partman1-2.png
    http://sd6.iuculano.it/dmraid-testing/partman1-3.png

    Unfortunately I got an out of memory.

    You can find partman and sylog log here:
    http://sd6.iuculano.it/dmraid-testing/log1.tar.gz


    - Second test

    Partition disk:

    This time I choose "Automatically partition the free space", "all files in one
    partition" and I got:
    http://sd6.iuculano.it/dmraid-testing/partman2-1.png
    http://sd6.iuculano.it/dmraid-testing/partman2-2.png

    I selected "finish partitioning and write changes to disk and I got the bad
    device with "p", and no grub support.

    brw------- 1 root root 254, 0 Aug 30 18:14 sil_aiahbgbgaaaj
    brw------- 1 root root 254, 1 Aug 30 18:16 sil_aiahbgbgaaajp1
    brw------- 1 root root 254, 2 Aug 30 18:14 sil_aiahbgbgaaajp2
    brw------- 1 root root 254, 3 Aug 30 18:14 sil_aiahbgbgaaajp5


    the second test log is here: http://sd6.iuculano.it/dmraid-testing/log2.tar.gz

    - Third test (as wiki procedure but with "Automatically partition the free space")

    As the second, but this time I selected "Write changes in SATA RAID partitioning
    to disk", and I got:
    http://sd6.iuculano.it/dmraid-testing/partman3-1.png

    # ls -la /dev/mapper
    drwxr-xr-x 2 root root 180 Aug 30 18:50 .
    drwxr-xr-x 10 root root 2860 Aug 30 18:50 ..
    crw-rw---- 1 root root 10, 60 Aug 30 18:42 control
    brw------- 1 root root 254, 0 Aug 30 18:43 sil_aiahbgbgaaaj
    brw------- 1 root root 254, 4 Aug 30 18:56 sil_aiahbgbgaaaj1
    brw------- 1 root root 254, 5 Aug 30 18:56 sil_aiahbgbgaaaj5
    brw------- 1 root root 254, 1 Aug 30 19:02 sil_aiahbgbgaaajp1
    brw------- 1 root root 254, 2 Aug 30 19:02 sil_aiahbgbgaaajp2
    brw------- 1 root root 254, 3 Aug 30 18:43 sil_aiahbgbgaaajp5

    I selected partition #1 below sil_aiahbgbgaaaj1 (partion #1) and I set itfor
    ext3 / :

    http://sd6.iuculano.it/dmraid-testing/partman3-2.png

    Now I selected sil_aiahbgbgaaaj5 (partition #5) and pressed enter:
    http://sd6.iuculano.it/dmraid-testing/partman3-3.png
    http://sd6.iuculano.it/dmraid-testing/partman3-4.png

    Now I got:
    http://sd6.iuculano.it/dmraid-testing/partman3-5.png

    I selected Free space and create a new partition, set it as swap area:
    http://sd6.iuculano.it/dmraid-testing/partman3-6.png

    Now I selected "finish partitioning and write changes to disk
    http://sd6.iuculano.it/dmraid-testing/partman3-7.png

    Installed base system: OK

    This time, I can install grub. Installation terminated successfully


    - Fourth test

    As the first, but I increased virtual machine memory to 512MB (In first test was
    256MB).
    Same out of memory.



    In conclusion, If I try to follow wiki procedure I can't create new partition,
    but only "Automatically partition the free space", otherwise I got an outof memory


    Giuseppe.


    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEARECAAYFAki5sYgACgkQNxpp46476ap5IACfTyPgU51dl5 6eU9RtNDEBqO8H
    AqkAnRTx80X/LAN/32jozHJfgjojhADc
    =7KE6
    -----END PGP SIGNATURE-----


  5. Bug#497110: boot loader installation failed when dmraid=true

    On Saturday 30 August 2008, Giuseppe Iuculano wrote:
    > - First test
    >
    > Partition disk:
    > http://sd6.iuculano.it/dmraid-testing/partman1-1.png
    >
    > Choose free space and create a new partition:
    > http://sd6.iuculano.it/dmraid-testing/partman1-2.png
    > http://sd6.iuculano.it/dmraid-testing/partman1-3.png
    >
    > Unfortunately I got an out of memory.


    OK. This is very bad.

    > You can find partman and sylog log here:
    > http://sd6.iuculano.it/dmraid-testing/log1.tar.gz


    Unfortunately these don't help very much. What I think we need here is a
    full debug log for partman to see what was running at the time of the
    OOM. I suspect you somehow get into a loop.

    Please make sure you have started your ssh sessions _before_ starting
    partman (so we know that they do not cause the OOM). Add a line 'set -x'
    in /lib/partman/lib/base.sh before you start partman and send the syslog
    after you get the OOM.

    Please follow the wiki page. Starting with a "new" pseudo-RAID device is
    fine.

    > - Second test
    >
    > Partition disk:
    > This time I choose "Automatically partition the free space", "all files
    > in one partition" and I got:


    Automatic/guided partitioning is not supported for dmraid.

    > - Third test (as wiki procedure but with "Automatically partition the
    > free space")


    As I say, not supported.

    > As the second, but this time I selected "Write changes in SATA RAID
    > partitioning to disk", and I got:
    > http://sd6.iuculano.it/dmraid-testing/partman3-1.png


    This is already so ****ed up (combination of and
    p devices) that it's really not any use to continue.

    > Now I got:
    > http://sd6.iuculano.it/dmraid-testing/partman3-5.png
    >
    > I selected Free space and create a new partition, set it as swap area:


    Selecting FREE SPACE on a partition is not conform the documented
    procedure. Basically you should never get in that situation.

    > In conclusion, If I try to follow wiki procedure I can't create new
    > partition, but only "Automatically partition the free space", otherwise
    > I got an out of memory


    Right, so we need to concentrate on that first OOM. All the rest is
    effectively useless I'm afraid.



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  6. Bug#497110: boot loader installation failed when dmraid=true

    On Sat, Aug 30, 2008 at 11:54:45AM +0200, Frans Pop wrote:
    > On Saturday 30 August 2008, Giuseppe Iuculano wrote:
    > > Comments/Problems:
    > > I used a set of fakeraid qcow2 format disk images
    > > (http://www.themuso.id.au/ubuntu/dmra...-disks.tar.bz2), but boot
    > > loader installation failed.
    > > It seems that installer recognize /dev/mapper/* as an lvm volume, and
    > > so disable grub installation.

    >
    > That should not happen. There is an exception for dmraid devices, which
    > apparently no longer works.
    >
    > From the output you provide the reason seems to be that partitions are now
    > created as p. The problem is the "p" between
    > the device and the partition number which AFAICT did not use to be there
    > before.


    This is coming from libparted. The following patch gives us back the
    previous naming:

    --- parted-1.8.8.git.2008.03.24/libparted/arch/linux.c
    +++ parted-1.8.8.git.2008.03.24/libparted/arch/linux.c
    @@ -2038,9 +2038,6 @@
    } else if (dev->type == PED_DEVICE_DAC960
    || dev->type == PED_DEVICE_CPQARRAY
    || dev->type == PED_DEVICE_ATARAID
    -#ifdef ENABLE_DEVICE_MAPPER
    - || dev->type == PED_DEVICE_DM
    -#endif
    || isdigit (dev->path[path_len - 1]))
    snprintf (result, result_len, "%sp%d", dev->path, num);
    else

    But this is not enough to fix the issue. Same OOM happens later on.

    I am not sure that I completely understand the way dmraid support is
    supposed to create the partitions on disk. As far as I can read in
    parted 1.8 source, asking libparted to create a new partition on a
    dm device will simply create a "linear" mapping on top of the existing
    device. It will not result in changes in the underlying disk
    partitions.

    Looks like dmraid was not tested during the switch to libparted 1.8.
    Thanks to the empty images pointed by Guiseppe, it is pretty easy to do
    so, but I am afraid that the changes needed might be quite invasive.

    Cheers,
    --
    Jérémy Bobbio .''`.
    lunar@debian.org : :Ⓐ : # apt-get install anarchism
    `. `'`
    `-

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.6 (GNU/Linux)

    iD8DBQFIvCtU2PUjs9fQ72URAgQSAKC/2bBY9IyqN44QVGOx+nINl4zkxwCdHTFK
    fnNqjKZcRElRJ+12dbiBi64=
    =76wC
    -----END PGP SIGNATURE-----


  7. Bug#497110: boot loader installation failed when dmraid=true

    Frans Pop ha scritto:

    > Unfortunately these don't help very much. What I think we need here is a
    > full debug log for partman to see what was running at the time of the
    > OOM. I suspect you somehow get into a loop.
    >
    > Please make sure you have started your ssh sessions _before_ starting
    > partman (so we know that they do not cause the OOM). Add a line 'set -x'
    > in /lib/partman/lib/base.sh before you start partman and send the syslog
    > after you get the OOM.
    >
    > Please follow the wiki page. Starting with a "new" pseudo-RAID device is
    > fine.


    Done, here the logs
    http://sd6.iuculano.it/dmraid-testing/log3.tar.gz

    > Automatic/guided partitioning is not supported for dmraid.


    I know, but at this moment automatic is the only working method.


    >
    >> In conclusion, If I try to follow wiki procedure I can't create new
    >> partition, but only "Automatically partition the free space", otherwise
    >> I got an out of memory

    >
    > Right, so we need to concentrate on that first OOM. All the rest is
    > effectively useless I'm afraid.


    Yes, there is also the grub issue, root (sil_aiahbgbgaaaj). I don't know if is a
    known/reported issue, but there is also an user comment on wiki page.


    Giuseppe.


    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEARECAAYFAki9U5sACgkQNxpp46476ap08gCfeEO8ABIwbC 3VO/tayD2qQU5P
    5xgAn2Gp8B5ullIX0qcqaDkTUbnk2+zc
    =64tF
    -----END PGP SIGNATURE-----


  8. Bug#497110: boot loader installation failed when dmraid=true

    On Tuesday 02 September 2008, Giuseppe Iuculano wrote:
    > Done, here the logs
    > http://sd6.iuculano.it/dmraid-testing/log3.tar.gz


    The last thing the log shows is that the "active_partition" dialog is
    being prepared, which has the following "keys":
    25divider__________divider, 65toggle_bootable__________bootable,
    75divider__________divider, 83copy__________copy,
    87delete__________delete, 99finish__________finished

    And it has the following "descriptions":
    Bootable flag:${!TAB}off, , Copy data from another partition, Delete the
    partition, Done setting up the partition

    Note that the first key "25divider" is not matched in the descriptions!

    I suspect that that is the root cause of the OOM.

    This means we have two bugs:
    - partman does not build the fields correctly when the first (valid)
    option is a divider
    - cdebconf throws a major fit if the number of "keys" (choices-C)
    and "descriptions" (choices) do not match



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  9. Bug#497110: boot loader installation failed when dmraid=true

    On Thursday 04 September 2008, Frans Pop wrote:
    > - partman does not build the fields correctly when the first (valid)
    > option is a divider


    Right. This problem is in partman-base/lib/base.sh in debconf_select().
    This has:
    descriptions="${descriptions:+${descriptions}, }$(
    echo "${x#*$TAB}" |
    sed "s/ *\$//g; s/^ /$debconf_select_lead/g; s/,/\\\\,/g; s/^ /\\\\/")"

    If the first field is a separator, 'descriptions' will remain empty and
    thus, when the next field is processed, no leading comma is added.

    One question regarding this code: why is the "$" in 's/ *\$//g' escaped?
    AFAICT this is not necessary. Jérémy?


    As it does not really make sense to have a divider as a first field anyway,
    the following patch for debconf_select() could solve this issue.

    @@ -125,13 +125,19 @@
    descriptions=""
    IFS="$NL"
    for x in $choices; do
    - local key plugin
    + local key description plugin
    restore_ifs
    key="${x%$TAB*}"
    + description="$(echo "${x#*$TAB}" | sed "s/ *\$//g")"
    + # Skip dividers (empty description) if they are the first field
    + if [ -z "$descriptions" ] && [ -z "$description" ]; then
    + continue
    + fi
    +
    keys="${keys:+${keys}, }$key"
    descriptions="${descriptions:+${descriptions}, }$(
    - echo "${x#*$TAB}" |
    - sed "s/ *\$//g; s/^ /$debconf_select_lead/g; s/,/\\\\,/g; s/^ /\\\\ /")"
    + echo "$description" |
    + sed "s/^ /$debconf_select_lead/g; s/,/\\\\,/g; s/^ /\\\\ /")"

    # If the question was asked via ask_user, this allow preseeding
    # by using the name of the plugin responsible for the answer.

    The same could possibly also, or maybe even better, be done in ask_user()
    instead, using the following patch:

    @@ -172,12 +178,21 @@
    default=""
    fi
    choices=$(
    + local first=1
    for plugin in $dir/*; do
    [ -d $plugin ] || continue
    name=$(basename $plugin)
    IFS="$NL"
    for option in $($plugin/choices "$@"); do
    - printf "%s__________%s\n" $name "$option"
    + if [ "$first" ] && \
    + echo "$option" | grep -q "$TAB *$"; then
    + # Skip dividers (empty description)
    + # if they are the first option
    + continue
    + else
    + printf "%s__________%s\n" $name "$option"
    + first=
    + fi
    done
    restore_ifs
    done

    The second patch is probably "cheaper" in execution and has the logic as
    early as possible.
    This second patch could even be changed to test for "divider" in the name,
    but I think I prefer to test the actual description.

    I've tested both alternatives and both seem to work fine.

    Note: the problem can be easily reproduced by adding adding an 'exit 0'
    early in /lib/partman/active_partition/15method/choices and then selecting
    a "normal" partition from the main partman dialog.

    Giuseppe: if you want to work around this bug to test dmraid support, you
    can do so by changing /lib/partman/active_partition/25divider/choices
    before you start partman: just make that script 'exit 0'.
    This would allow you to provide further details on the "p" in created
    dmraid devices and confirm Jérémy's conclusion that it is a libparted issue.

    Cheers,
    FJP

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEABECAAYFAkjAFI4ACgkQgm/Kwh6ICoRUJACfSCWtsjpdubZe9wbmUFkX6amo
    eksAn2kX7tEK7T66kqRl+TGyhryrXIFF
    =R7N9
    -----END PGP SIGNATURE-----


  10. Bug#497110: boot loader installation failed when dmraid=true

    Frans Pop ha scritto:
    > Giuseppe: if you want to work around this bug to test dmraid support, you
    > can do so by changing /lib/partman/active_partition/25divider/choices
    > before you start partman: just make that script 'exit 0'.
    > This would allow you to provide further details on the "p" in created
    > dmraid devices and confirm Jrmy's conclusion that it is a libparted issue.


    Done.

    This is the ls -la after the first "Write changes in SATA RAID partitioning to disk"
    # ls -la /dev/mapper/
    drwxr-xr-x 2 root root 160 Sep 5 08:33 .
    drwxr-xr-x 10 root root 2840 Sep 5 08:33 ..
    crw-rw---- 1 root root 10, 60 Sep 5 08:28 control
    brw------- 1 root root 254, 0 Sep 5 08:32 sil_aiahbgbgaaaj
    brw------- 1 root root 254, 3 Sep 5 08:33 sil_aiahbgbgaaaj1
    brw------- 1 root root 254, 4 Sep 5 08:33 sil_aiahbgbgaaaj2
    brw------- 1 root root 254, 1 Sep 5 08:32 sil_aiahbgbgaaajp1
    brw------- 1 root root 254, 2 Sep 5 08:32 sil_aiahbgbgaaajp2


    And I got this:
    http://sd6.iuculano.it/dmraid-testing/partman4-1.png

    Then, I selected the sil_aiahbgbgaaaj1 partition and got:
    http://sd6.iuculano.it/dmraid-testing/partman4-2.png

    here the logs:
    http://sd6.iuculano.it/dmraid-testing/log4.tar.gz

    Giuseppe.


    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEARECAAYFAkjA9hoACgkQNxpp46476aovPQCeKbQWmHVj2K u153MUWNI5bxII
    258AoJPrBSTWLXc+Zuk7VgYIcPwm/eki
    =XvUQ
    -----END PGP SIGNATURE-----


  11. Bug#497110: boot loader installation failed when dmraid=true

    On Saturday 06 September 2008, Otavio Salvador wrote:
    > Frans Pop writes:
    > > On Friday 05 September 2008, Otavio Salvador wrote:
    > >> It is indeed a change on libparted side however this is doing right
    > >> using the p here. Would be too hard to change partman-dmraid to use
    > >> it?

    > >
    > > The problem is not really partman-dmraid. The problem is that dmraid
    > > itself also does NOT use or expect the "p" and will for example
    > > recreate the dm devices without "p" on a reboot (AFAIK, IIRC, IIUC).

    >
    > I've done a look on dmraid and it looks simple to change. The attached
    > patch should do that.


    Oh, wow! Yes!

    Let's make a change that's really dmraid upstream's business in Debian
    only. Let's do it at this stage of the release cycle, *and* let's do it
    without giving *any* thought to issues it might cause for existing dmraid
    users who upgrade from Etch to Lenny.

    Not to mention that this would require also updating partman-dmraid,
    grub-installer and maybe hw-detect.

    Sounds like an excellent plan Otavio, really.

    The fact is that parted changed, and apparently did so without any
    coordination with dmraid developers (and I also wonder about other
    devicemapper usages).
    Even if it's theoretically an improvement, such uncoordinated changes are
    called "regressions" as they tend to break existing software/systems.



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  12. Bug#497110: boot loader installation failed when dmraid=true

    Frans Pop wrote:
    > On Saturday 06 September 2008, Otavio Salvador wrote:
    >> Frans Pop writes:
    >>> On Friday 05 September 2008, Otavio Salvador wrote:
    >>>> It is indeed a change on libparted side however this is doing right
    >>>> using the p here. Would be too hard to change partman-dmraid to use
    >>>> it?
    >>> The problem is not really partman-dmraid. The problem is that dmraid
    >>> itself also does NOT use or expect the "p" and will for example
    >>> recreate the dm devices without "p" on a reboot (AFAIK, IIRC, IIUC).

    >> I've done a look on dmraid and it looks simple to change. The attached
    >> patch should do that.

    >
    > Oh, wow! Yes!
    >
    > Let's make a change that's really dmraid upstream's business in Debian
    > only. Let's do it at this stage of the release cycle, *and* let's do it
    > without giving *any* thought to issues it might cause for existing dmraid
    > users who upgrade from Etch to Lenny.
    >
    > Not to mention that this would require also updating partman-dmraid,
    > grub-installer and maybe hw-detect.
    >
    > Sounds like an excellent plan Otavio, really.
    >
    > The fact is that parted changed, and apparently did so without any
    > coordination with dmraid developers (and I also wonder about other
    > devicemapper usages).
    > Even if it's theoretically an improvement, such uncoordinated changes are
    > called "regressions" as they tend to break existing software/systems.


    Frans: this sounds like you have a way better plan, so please speak up!

    Cheers

    Luk



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  13. Bug#497110: boot loader installation failed when dmraid=true

    Luk Claes writes:

    > Frans Pop wrote:
    >> On Saturday 06 September 2008, Otavio Salvador wrote:
    >>> I've done a look on dmraid and it looks simple to change. The attached
    >>> patch should do that.

    >>
    >> Oh, wow! Yes!
    >>
    >> Let's make a change that's really dmraid upstream's business in Debian
    >> only. Let's do it at this stage of the release cycle, *and* let's do it
    >> without giving *any* thought to issues it might cause for existing dmraid
    >> users who upgrade from Etch to Lenny.
    >>
    >> Not to mention that this would require also updating partman-dmraid,
    >> grub-installer and maybe hw-detect.
    >>
    >> Sounds like an excellent plan Otavio, really.
    >>
    >> The fact is that parted changed, and apparently did so without any
    >> coordination with dmraid developers (and I also wonder about other
    >> devicemapper usages).
    >> Even if it's theoretically an improvement, such uncoordinated changes are
    >> called "regressions" as they tend to break existing software/systems.

    >
    > Frans: this sounds like you have a way better plan, so please speak up!


    That message looks to be the "Frans mode" to say: "I believe we should
    avoid this change at this release stage and try to revert parted
    change, leaving the dmraid change for post lenny".

    Here goes the on topic context now:

    We have two possible way to fix that. Change parted to use previous
    behaviour (I can do that and propose the patches for testing) or fix
    dmraid, grub-installer, partman-dmraid and maybe hw-detect. The first
    is safer but will put another upgrade task for lenny+1 since the
    partition names will change again.

    ..oO( From etch to lenny, admins needs to handle the /dev/hdX to
    /dev/sdX change and others... )

    >From an admin POV, I'd much prefer to have the partition change on

    this release then another in next release; from release management POV
    the parted change is much safer and I think we could take this one
    but this need to be decided by RT not me.

    --
    O T A V I O S A L V A D O R
    ---------------------------------------------
    E-mail: otavio@debian.org UIN: 5906116
    GNU/Linux User: 239058 GPG ID: 49A5F855
    Home Page: http://otavio.ossystems.com.br
    ---------------------------------------------
    "Microsoft sells you Windows ... Linux gives
    you the whole house."



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  14. Bug#497110: boot loader installation failed when dmraid=true

    On Saturday 06 September 2008, Otavio Salvador wrote:
    > That message looks to be the "Frans mode" to say: "I believe we should
    > avoid this change at this release stage and try to revert parted
    > change, leaving the dmraid change for post lenny".


    No, what I meant was: proposing this change without even mentioning its
    (potential) impact on existing dmraid users is IMO completely
    irresponsible behavior. The way you proposed the patch looked like "hey
    folks, look what a nice and simple one-line solution I have found for
    this whole issue".

    To me the patch looked like an extremely simplistic attempt to shift the
    work away from parted which has caused the regression to another package
    without any thought of the consequences.

    And from what I've seen in the logs sent by Giuseppe I also do not think
    that the parted changes *in any way* improve the support for dmraid.
    Also, there has been absolutely no justification given for the parted
    change or why the added "p" would be better.



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  15. Bug#497110: boot loader installation failed when dmraid=true

    On Saturday 06 September 2008, Frans Pop wrote:
    > At first glance the patch also needs some cleanup. The .gitignore
    > changes look like they are just noise and the actual changes are not
    > really consistent regarding whitespace for example.


    Here's a cleaned-up version.



  16. Bug#497110: boot loader installation failed when dmraid=true

    Otavio Salvador ha scritto:

    > Looks fine however there's a wrong indentation on the static vars to
    > hold the uuid values. Please take a look and resend. I'll then use
    > your patch to commit on parted git and prepare an upload.


    Fixed.

    Giuseppe.


    reverted:
    --- parted-1.8.8.git.2008.03.24/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/.gitignore
    @@ -1,35 +0,0 @@
    -*.o
    -*~
    -.deps
    -.libs
    -ABOUT-NLS
    -ChangeLog
    -INSTALL
    -Makefile
    -Makefile.in
    -aclocal.m4
    -autom4te.cache
    -config.cache
    -config.h
    -config.hin
    -config.log
    -config.status
    -configure
    -doc/C/po/parted.8.pot
    -doc/pt_BR/parted.8.pt_BR.po
    -gnulib/
    -libparted.pc
    -libparted/tests/init.sh
    -libparted/tests/label
    -libtool
    -m4
    -parted-*.tar.bz2
    -parted-*.tar.bz2.sig
    -parted-*.tar.gz
    -parted-*.tar.gz.sig
    -parted-*.xdelta
    -parted-*.xdelta.sig
    -parted.spec
    -partprobe/partprobe
    -stamp-h1
    -tests/init.sh
    reverted:
    --- parted-1.8.8.git.2008.03.24/lib/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/lib/.gitignore
    @@ -1,94 +0,0 @@
    -*.la
    -*.lo
    -__fpending.c
    -__fpending.h
    -alloca.c
    -alloca.h
    -alloca_.h
    -atexit.c
    -basename.c
    -calloc.c
    -charset.alias
    -close-stream.c
    -close-stream.h
    -closeout.c
    -closeout.h
    -config.charset
    -config.h.in
    -configmake.h
    -dirname.c
    -dirname.h
    -error.c
    -error.h
    -exitfail.c
    -exitfail.h
    -free.c
    -full-write.c
    -full-write.h
    -getopt.c
    -getopt.h
    -getopt1.c
    -getopt_.h
    -getopt_int.h
    -gettext.h
    -gnulib.mk
    -inttypes.h
    -inttypes_.h
    -localcharset.c
    -localcharset.h
    -long-options.c
    -long-options.h
    -malloc.c
    -memchr.c
    -memcmp.c
    -memcpy.c
    -memmove.c
    -memset.c
    -quotearg.c
    -quotearg.h
    -realloc.c
    -ref-add.sed
    -ref-add.sin
    -ref-del.sed
    -ref-del.sin
    -regcomp.c
    -regex.c
    -regex.h
    -regex_internal.c
    -regex_internal.h
    -regexec.c
    -rename.c
    -rpmatch.c
    -safe-read.c
    -safe-read.h
    -safe-write.c
    -safe-write.h
    -stdbool.h
    -stdbool_.h
    -stdint.h
    -stdint_.h
    -stdlib.h
    -stdlib_.h
    -strcspn.c
    -string.h
    -string_.h
    -stripslash.c
    -strndup.c
    -strnlen.c
    -strtod.c
    -strtol.c
    -unistd.h
    -unistd_.h
    -utime.c
    -version-etc-fsf.c
    -version-etc.c
    -version-etc.h
    -wchar.h
    -wchar_.h
    -wctype.h
    -wctype_.h
    -xalloc-die.c
    -xalloc.h
    -xmalloc.c
    -xstrndup.c
    -xstrndup.h
    diff -u parted-1.8.8.git.2008.03.24/debian/changelog parted-1.8.8.git.2008.03.24/debian/changelog
    --- parted-1.8.8.git.2008.03.24/debian/changelog
    +++ parted-1.8.8.git.2008.03.24/debian/changelog
    @@ -1,3 +1,13 @@
    +parted (1.8.8.git.2008.03.24-9.1) unstable; urgency=low
    +
    + * Non-maintainer upload.
    + * Merge from Ubuntu: debian/patches/parted-dmraid.dpatch: Patch to educate
    + libparted about dmraid arrays, which use device mapper. Libparted was
    + naming new partition nodes incorrectly, and not setting the UUIDs for
    + dmraid device nodes. (Closes: #497110)
    +
    + -- Giuseppe Iuculano Sat, 06 Sep 2008 15:02:11 +0200
    +
    parted (1.8.8.git.2008.03.24-9) unstable; urgency=low

    [ Otavio Salvador ]
    diff -u parted-1.8.8.git.2008.03.24/debian/patches/00list parted-1.8.8.git.2008.03.24/debian/patches/00list
    --- parted-1.8.8.git.2008.03.24/debian/patches/00list
    +++ parted-1.8.8.git.2008.03.24/debian/patches/00list
    @@ -5,6 +5,7 @@
    # Patch susceptible to be merged upstream
    devfs
    #kfreebsd-gnu
    +parted-dmraid

    # Will also stay debian specific, but depends on some of the above :/
    sparc-fix-raid
    reverted:
    --- parted-1.8.8.git.2008.03.24/build-aux/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/build-aux/.gitignore
    @@ -1,14 +0,0 @@
    -announce-gen
    -compile
    -config.guess
    -config.rpath
    -config.sub
    -depcomp
    -gnupload
    -install-sh
    -link-warning.h
    -ltmain.sh
    -mdate-sh
    -missing
    -mkinstalldirs
    -texinfo.tex
    reverted:
    --- parted-1.8.8.git.2008.03.24/debug/clearfat/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/debug/clearfat/.gitignore
    @@ -1 +0,0 @@
    -clearfat
    reverted:
    --- parted-1.8.8.git.2008.03.24/parted/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/parted/.gitignore
    @@ -1 +0,0 @@
    -parted
    reverted:
    --- parted-1.8.8.git.2008.03.24/doc/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/doc/.gitignore
    @@ -1,9 +0,0 @@
    -C/log
    -C/sync.1
    -C/x.1
    -C/x.pot
    -parted.info
    -pt_BR/parted.8
    -pt_BR/partprobe.8
    -stamp-vti
    -version.texi
    reverted:
    --- parted-1.8.8.git.2008.03.24/libparted/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/libparted/.gitignore
    @@ -1,2 +0,0 @@
    -*.lo
    -*.la
    reverted:
    --- parted-1.8.8.git.2008.03.24/po/.gitignore
    +++ parted-1.8.8.git.2008.03.24.orig/po/.gitignore
    @@ -1,18 +0,0 @@
    -*.gmo
    -*.po
    -LINGUAS
    -Makefile.in
    -Makefile.in.in
    -Makevars
    -Makevars.template
    -POTFILES
    -Rules-quot
    -boldquot.sed
    -en@boldquot.header
    -en@quot.header
    -insert-header.sin
    -parted.pot
    -quot.sed
    -remove-potcdate.sed
    -remove-potcdate.sin
    -stamp-po
    only in patch2:
    unchanged:
    --- parted-1.8.8.git.2008.03.24.orig/debian/patches/parted-dmraid.dpatch
    +++ parted-1.8.8.git.2008.03.24/debian/patches/parted-dmraid.dpatch
    @@ -0,0 +1,171 @@
    +#! /bin/sh /usr/share/dpatch/dpatch-run
    +## parted-dmraid.dpatch by Luke Yelavich
    +##
    +## All lines beginning with `## DP:' are a description of the patch.
    +## DP: Patch to ensure that device mapper devices for dmraid arrays do not
    +## DP: have extra nodes created needlessly, as well as making sure that
    +## DP: partition nodes for dmraid devices are not probed.
    +
    +@DPATCH@
    +diff -urNad parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c parted-1.8.8.git.2008.03.24/libparted/arch/linux.c
    +--- parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c 2006-05-08 20:08:37.000000000 +0200
    ++++ parted-1.8.8.git.2008.03.24/libparted/arch/linux.c 2008-09-06 21:20:09.000000000 +0200
    +@@ -263,6 +263,10 @@
    +
    + static char* _device_get_part_path (PedDevice* dev, int num);
    + static int _partition_is_mounted_by_path (const char* path);
    ++#ifdef ENABLE_DEVICE_MAPPER
    ++static int _is_dmraid_device (char* devpath);
    ++static int _is_dmraid_major(char* devpath);
    ++#endif
    +
    + static int
    + _is_ide_major (int major)
    +@@ -455,8 +459,16 @@
    + if (stat (buf, &st) != 0)
    + continue;
    +
    +- if (_is_dm_major(major(st.st_rdev)))
    +- _ped_device_probe (buf);
    ++ if (_is_dm_major(major(st.st_rdev))) {
    ++ if (_is_dmraid_device(buf)) {
    ++ if (_is_dmraid_major(buf)) {
    ++ _ped_device_probe (buf);
    ++ }
    ++ } else {
    ++ _ped_device_probe (buf);
    ++ }
    ++ }
    ++
    + }
    + closedir (mapper_dir);
    +
    +@@ -2056,6 +2068,11 @@
    + * a pure userpace (udev) decision! */
    + snprintf (result, result_len, "%s-part%d", dev->path, num);
    + #endif
    ++#ifdef ENABLE_DEVICE_MAPPER
    ++ } else if (dev->type == PED_DEVICE_DM && _is_dmraid_device (dev->path)) {
    ++ snprintf (result, result_len, "%s%d", dev->path, num);
    ++#endif
    ++
    + } else if (dev->type == PED_DEVICE_DAC960
    + || dev->type == PED_DEVICE_CPQARRAY
    + || dev->type == PED_DEVICE_ATARAID
    +@@ -2410,6 +2427,8 @@
    + char* vol_name = NULL;
    + char* dev_name = NULL;
    + char* params = NULL;
    ++ char* dm_uuid = NULL;
    ++ int uuid_len;
    +
    + dev_name = _device_get_part_path (disk->dev, part->num);
    + if (!dev_name)
    +@@ -2440,6 +2459,12 @@
    + dm_task_set_name (task, vol_name);
    + dm_task_add_target (task, 0, part->geom.length,
    + "linear", params);
    ++ if (_is_dmraid_device (disk->dev->path)) {
    ++ uuid_len = (strlen (vol_name) + 8);
    ++ dm_uuid = (char*) ped_malloc (uuid_len);
    ++ snprintf(dm_uuid, uuid_len, "DMRAID-%s", vol_name);
    ++ dm_task_set_uuid(task, dm_uuid);
    ++ }
    + rc = dm_task_run(task);
    + if (rc >= 0) {
    + //printf("0 %ld linear %s\n", part->geom.length, params);
    +@@ -2447,6 +2472,8 @@
    + dm_task_destroy(task);
    + free(params);
    + free(vol_name);
    ++ if (dm_uuid)
    ++ ped_free(dm_uuid);
    + return 1;
    + } else {
    + _dm_remove_map_name(vol_name);
    +@@ -2484,6 +2511,85 @@
    + }
    + return rc;
    + }
    ++
    ++/* Checks whether the given device-mapper device is part of a dmraid array,
    ++ * by checking for the string "DMRAID-" at the start of the UUID.
    ++ */
    ++static int
    ++_is_dmraid_device (char* devpath)
    ++{
    ++ struct dm_task* task = NULL;
    ++ int rc = 0;
    ++ const char* dmraid_uuid;
    ++ char* dm_name = NULL;
    ++
    ++ dm_name = strrchr (devpath, '/');
    ++ if (dm_name && *dm_name && *(++dm_name))
    ++ dm_name = strdup (dm_name);
    ++ else
    ++ dm_name = strdup (devpath);
    ++ if (!dm_name)
    ++ return 0;
    ++
    ++ task = dm_task_create(DM_DEVICE_DEPS);
    ++ if (!task)
    ++ return 0;
    ++
    ++ dm_task_set_name(task, dm_name);
    ++ rc = dm_task_run(task);
    ++ if (rc < 0) {
    ++ rc = 0;
    ++ goto err;
    ++ }
    ++ rc = 0;
    ++
    ++ dmraid_uuid = dm_task_get_uuid(task);
    ++ if (strncmp (dmraid_uuid, "DMRAID-", 7) == 0) {
    ++ rc = 1;
    ++ }
    ++
    ++err:
    ++ free (dm_name);
    ++ dm_task_destroy(task);
    ++ return rc;
    ++}
    ++
    ++/* Checks whether the given dmraid device node is a partition node, or the
    ++ * master node. This is done by checking the /sys/block directory for the node
    ++ * in question, to determine whether it is a slave of another device-mapper
    ++ * device. The node should be confirmed as a dmraid device by calling
    ++ * _is_dmraid_device first.
    ++ */
    ++static int
    ++_is_dmraid_major(char* devpath)
    ++{
    ++ DIR* sysfs_dir;
    ++ struct dirent* dent;
    ++ char dmraid_devpath [32];
    ++ struct stat st;
    ++
    ++ if (stat (devpath, &st) != 0)
    ++ return 0;
    ++
    ++ snprintf(dmraid_devpath, 32, "/sys/block/dm-%d/slaves", minor(st.st_rdev));
    ++
    ++ sysfs_dir = opendir (dmraid_devpath);
    ++ if (!sysfs_dir)
    ++ return 0;
    ++
    ++ while ((dent = readdir (sysfs_dir))) {
    ++ if (strcmp (dent->d_name, ".") == 0 ||
    ++ strcmp (dent->d_name, "..") == 0)
    ++ continue;
    ++
    ++ if (strncmp(dent->d_name, "dm-", 3) == 0)
    ++ return 0;
    ++ }
    ++ closedir (sysfs_dir);
    ++
    ++ return 1;
    ++}
    ++
    + #endif
    +
    + static int

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEARECAAYFAkjC23cACgkQNxpp46476arZ5QCZAc9uvb3HAI 2Bj+rRvjc3AXz9
    f0QAoJSUXS+DZPaigWQb9w+yOrw7kDAu
    =797u
    -----END PGP SIGNATURE-----


  17. Bug#497110: boot loader installation failed when dmraid=true

    Otavio Salvador ha scritto:

    > Looks fine however there's a wrong indentation on the static vars to
    > hold the uuid values. Please take a look and resend. I'll then use
    > your patch to commit on parted git and prepare an upload.


    Fixed, previous was not cleaned-up, sorry.


    Giuseppe

    diff -u parted-1.8.8.git.2008.03.24/debian/changelog parted-1.8.8.git.2008.03.24/debian/changelog
    --- parted-1.8.8.git.2008.03.24/debian/changelog
    +++ parted-1.8.8.git.2008.03.24/debian/changelog
    @@ -1,3 +1,13 @@
    +parted (1.8.8.git.2008.03.24-9.1) unstable; urgency=low
    +
    + * Non-maintainer upload.
    + * Merge from Ubuntu: debian/patches/parted-dmraid.dpatch: Patch to educate
    + libparted about dmraid arrays, which use device mapper. Libparted was
    + naming new partition nodes incorrectly, and not setting the UUIDs for
    + dmraid device nodes. (Closes: #497110)
    +
    + -- Giuseppe Iuculano Sat, 06 Sep 2008 15:02:11 +0200
    +
    parted (1.8.8.git.2008.03.24-9) unstable; urgency=low

    [ Otavio Salvador ]
    diff -u parted-1.8.8.git.2008.03.24/debian/patches/00list parted-1.8.8.git.2008.03.24/debian/patches/00list
    --- parted-1.8.8.git.2008.03.24/debian/patches/00list
    +++ parted-1.8.8.git.2008.03.24/debian/patches/00list
    @@ -5,6 +5,7 @@
    # Patch susceptible to be merged upstream
    devfs
    #kfreebsd-gnu
    +parted-dmraid

    # Will also stay debian specific, but depends on some of the above :/
    sparc-fix-raid
    only in patch2:
    unchanged:
    --- parted-1.8.8.git.2008.03.24.orig/debian/patches/parted-dmraid.dpatch
    +++ parted-1.8.8.git.2008.03.24/debian/patches/parted-dmraid.dpatch
    @@ -0,0 +1,171 @@
    +#! /bin/sh /usr/share/dpatch/dpatch-run
    +## parted-dmraid.dpatch by Luke Yelavich
    +##
    +## All lines beginning with `## DP:' are a description of the patch.
    +## DP: Patch to ensure that device mapper devices for dmraid arrays do not
    +## DP: have extra nodes created needlessly, as well as making sure that
    +## DP: partition nodes for dmraid devices are not probed.
    +
    +@DPATCH@
    +diff -urNad parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c parted-1.8.8.git.2008.03.24/libparted/arch/linux.c
    +--- parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c 2006-05-08 20:08:37.000000000 +0200
    ++++ parted-1.8.8.git.2008.03.24/libparted/arch/linux.c 2008-09-06 21:20:09.000000000 +0200
    +@@ -263,6 +263,10 @@
    +
    + static char* _device_get_part_path (PedDevice* dev, int num);
    + static int _partition_is_mounted_by_path (const char* path);
    ++#ifdef ENABLE_DEVICE_MAPPER
    ++static int _is_dmraid_device (char* devpath);
    ++static int _is_dmraid_major(char* devpath);
    ++#endif
    +
    + static int
    + _is_ide_major (int major)
    +@@ -455,8 +459,16 @@
    + if (stat (buf, &st) != 0)
    + continue;
    +
    +- if (_is_dm_major(major(st.st_rdev)))
    +- _ped_device_probe (buf);
    ++ if (_is_dm_major(major(st.st_rdev))) {
    ++ if (_is_dmraid_device(buf)) {
    ++ if (_is_dmraid_major(buf)) {
    ++ _ped_device_probe (buf);
    ++ }
    ++ } else {
    ++ _ped_device_probe (buf);
    ++ }
    ++ }
    ++
    + }
    + closedir (mapper_dir);
    +
    +@@ -2056,6 +2068,11 @@
    + * a pure userpace (udev) decision! */
    + snprintf (result, result_len, "%s-part%d", dev->path, num);
    + #endif
    ++#ifdef ENABLE_DEVICE_MAPPER
    ++ } else if (dev->type == PED_DEVICE_DM && _is_dmraid_device (dev->path)) {
    ++ snprintf (result, result_len, "%s%d", dev->path, num);
    ++#endif
    ++
    + } else if (dev->type == PED_DEVICE_DAC960
    + || dev->type == PED_DEVICE_CPQARRAY
    + || dev->type == PED_DEVICE_ATARAID
    +@@ -2410,6 +2427,8 @@
    + char* vol_name = NULL;
    + char* dev_name = NULL;
    + char* params = NULL;
    ++ char* dm_uuid = NULL;
    ++ int uuid_len;
    +
    + dev_name = _device_get_part_path (disk->dev, part->num);
    + if (!dev_name)
    +@@ -2440,6 +2459,12 @@
    + dm_task_set_name (task, vol_name);
    + dm_task_add_target (task, 0, part->geom.length,
    + "linear", params);
    ++ if (_is_dmraid_device (disk->dev->path)) {
    ++ uuid_len = (strlen (vol_name) + 8);
    ++ dm_uuid = (char*) ped_malloc (uuid_len);
    ++ snprintf(dm_uuid, uuid_len, "DMRAID-%s", vol_name);
    ++ dm_task_set_uuid(task, dm_uuid);
    ++ }
    + rc = dm_task_run(task);
    + if (rc >= 0) {
    + //printf("0 %ld linear %s\n", part->geom.length, params);
    +@@ -2447,6 +2472,8 @@
    + dm_task_destroy(task);
    + free(params);
    + free(vol_name);
    ++ if (dm_uuid)
    ++ ped_free(dm_uuid);
    + return 1;
    + } else {
    + _dm_remove_map_name(vol_name);
    +@@ -2484,6 +2511,85 @@
    + }
    + return rc;
    + }
    ++
    ++/* Checks whether the given device-mapper device is part of a dmraid array,
    ++ * by checking for the string "DMRAID-" at the start of the UUID.
    ++ */
    ++static int
    ++_is_dmraid_device (char* devpath)
    ++{
    ++ struct dm_task* task = NULL;
    ++ int rc = 0;
    ++ const char* dmraid_uuid;
    ++ char* dm_name = NULL;
    ++
    ++ dm_name = strrchr (devpath, '/');
    ++ if (dm_name && *dm_name && *(++dm_name))
    ++ dm_name = strdup (dm_name);
    ++ else
    ++ dm_name = strdup (devpath);
    ++ if (!dm_name)
    ++ return 0;
    ++
    ++ task = dm_task_create(DM_DEVICE_DEPS);
    ++ if (!task)
    ++ return 0;
    ++
    ++ dm_task_set_name(task, dm_name);
    ++ rc = dm_task_run(task);
    ++ if (rc < 0) {
    ++ rc = 0;
    ++ goto err;
    ++ }
    ++ rc = 0;
    ++
    ++ dmraid_uuid = dm_task_get_uuid(task);
    ++ if (strncmp (dmraid_uuid, "DMRAID-", 7) == 0) {
    ++ rc = 1;
    ++ }
    ++
    ++err:
    ++ free (dm_name);
    ++ dm_task_destroy(task);
    ++ return rc;
    ++}
    ++
    ++/* Checks whether the given dmraid device node is a partition node, or the
    ++ * master node. This is done by checking the /sys/block directory for the node
    ++ * in question, to determine whether it is a slave of another device-mapper
    ++ * device. The node should be confirmed as a dmraid device by calling
    ++ * _is_dmraid_device first.
    ++ */
    ++static int
    ++_is_dmraid_major(char* devpath)
    ++{
    ++ DIR* sysfs_dir;
    ++ struct dirent* dent;
    ++ char dmraid_devpath [32];
    ++ struct stat st;
    ++
    ++ if (stat (devpath, &st) != 0)
    ++ return 0;
    ++
    ++ snprintf(dmraid_devpath, 32, "/sys/block/dm-%d/slaves", minor(st.st_rdev));
    ++
    ++ sysfs_dir = opendir (dmraid_devpath);
    ++ if (!sysfs_dir)
    ++ return 0;
    ++
    ++ while ((dent = readdir (sysfs_dir))) {
    ++ if (strcmp (dent->d_name, ".") == 0 ||
    ++ strcmp (dent->d_name, "..") == 0)
    ++ continue;
    ++
    ++ if (strncmp(dent->d_name, "dm-", 3) == 0)
    ++ return 0;
    ++ }
    ++ closedir (sysfs_dir);
    ++
    ++ return 1;
    ++}
    ++
    + #endif
    +
    + static int

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEARECAAYFAkjC3bYACgkQNxpp46476arAUQCfeeO53aLR89 vxd2++BvJLzlzR
    lSMAniG35WkfgQbTa8fFk5tTFKgMTKHv
    =uMFS
    -----END PGP SIGNATURE-----


  18. Bug#497110: boot loader installation failed when dmraid=true

    On Saturday 06 September 2008, Giuseppe Iuculano wrote:
    > Frans Pop ha scritto:
    > > This should be done by a test _inside_ the if statement and not by
    > > adding a condition to the if statement:
    > >
    > > Also, the comment just above that code should be updated!

    >
    > Done.


    Oops, sorry. The idea is OK, but my code was completely wrong.

    Best thing is probably to add a small helper function to check for
    multipath:

    is_dm_multipath() {
    dmtype=$(dm_table $device)
    [ "$dmtype" = multipath ] || return 1
    }

    and do the following:
    device=$(cat $dev/device)

    # Skip software RAID (mdadm) devices (/dev/md/X and /dev/mdX)
    $(echo "$device" | grep -Eq "/dev/md/?[0-9]*$") && continue

    # Skip device mapper devices (/dev/mapper/)
    if echo $device | grep -q "^/dev/mapper/"; then
    # Except for dmraid or multipath devices
    if [ -f "$dev/sataraid" ] || is_dm_multipath; then
    :
    else
    continue
    fi
    fi

    > >> partman-base

    > >
    > > This needs a comment in the code and the grep needs '-q'.

    >
    > Done.


    Eh, I do not see any changes in the attached patch...

    > >> With this merge dmraid support seems to be more improved,
    > >> No more special procedure is needed, simply use dmraid=true and
    > >> install Debian

    > >
    > > I also miss a cleanup of partman-dmraid, or can that udeb be dropped
    > > completely? If the last is the case then we need a patch for
    > > hw-detect so it no longer gets installed.

    >
    > I think that udeb can be dropped completely, but please verify.


    "I think" is not really enough. We need to verify that nothing that is
    currently in partman-dmraid is still needed.

    It _looks_ like it can probably be dropped.
    - I think the init.d part got moved to the parted script in partman-base
    with your patch (it looks similar in purpose at least)
    - the "Write SATA RAID changes" script should no longer be needed
    That only leaves the "experimental" warning. This is still somewhat needed
    IMO as the support for bootloader installation is still a huge hack. Or
    does Ubuntu have a patch for that as well?

    If it can be dropped, then the following in hw-detect.sh is no longer
    needed and the surrounding code will need to be changed accordingly:
    if anna-install partman-dmraid; then

    We should at least test without the partman-dmraid udeb being loaded
    before we can decide on this.

    > >> Automatic/guided and manual partition now seems to work.

    > >
    > > Then why do you disable guided partitioning in the partman-auto
    > > patch?

    >
    > Where?


    My mistake. I misread the patch at first, then typed this comment, then
    read the patch again but forgot to remove this comment from the mail :-/



    --
    To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

  19. Bug#497110: improved dmraid support in D-I

    Frans Pop ha scritto:
    > On Sunday 07 September 2008, Frans Pop wrote:
    >> I've done some testing using Giuseppe's businesscard image in
    >> VirtualBox ...

    >
    > I was very surprised that you don't actually need BIOS support for dmraid.
    > Apparently it really only scans the harddisks for some specific headers
    > and bases the rest on that.


    Yes,fakeRAID metadata is stored somewhere close to the end of the harddrive,
    and is used by dmraid to figure out what your raid setup is. On a real machine,
    it is the BIOS job to write them, dmraid-empty-disk has the fake signature and
    this is good for testing.


    > Makes me wonder if we could not have a tool
    > to generate such images from scratch...


    I'm working on this, but it is not very simple for me.
    Approximately "dmraid -rD" generates three files, from this we can extrapolate
    metadata, and with a hex editor we can add the fake signature to the
    qemu/virtualbox drive



    Giuseppe.



    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEARECAAYFAkjDmWAACgkQNxpp46476ap6kgCeP5u/idF7MFARObMDQztQD5VJ
    Y0wAnA8XgZThtPeTVtEzqcijI91Vzoal
    =d6IS
    -----END PGP SIGNATURE-----


  20. Bug#497110: improved dmraid support in D-I

    Giuseppe Iuculano ha scritto:
    > I'm working on this, but it is not very simple for me.
    > Approximately "dmraid -rD" generates three files, from this we can extrapolate
    > metadata, and with a hex editor we can add the fake signature to the
    > qemu/virtualbox drive


    Ok,this procedure seems to work for me:


    dmraid -rD and i got:

    hda_0_sil.dat hda_1_sil.offset hda_3_sil.dat hdb_0_sil.dat
    hdb_1_sil.offset hdb_3_sil.dat
    hda_0_sil.offset hda_2_sil.dat hda_3_sil.offset hdb_0_sil.offset
    hdb_2_sil.dat hdb_3_sil.offset
    hda_1_sil.dat hda_2_sil.offset hda_sil.size hdb_1_sil.dat
    hdb_2_sil.offset hdb_sil.size

    at this point:

    dd if=/dev/null of=hda.dsk seek=`cat hda_sil.size`
    dd if=/dev/null of=hdb.dsk seek=`cat hdb_sil.size`

    dd if=hda_0_sil.dat of=hda.dsk conv=notrunc seek=`cat hda_0_sil.offset` bs=1
    dd if=hda_1_sil.dat of=hda.dsk conv=notrunc seek=`cat hda_1_sil.offset` bs=1
    dd if=hda_2_sil.dat of=hda.dsk conv=notrunc seek=`cat hda_2_sil.offset` bs=1
    dd if=hda_3_sil.dat of=hda.dsk conv=notrunc seek=`cat hda_3_sil.offset` bs=1

    dd if=hdb_0_sil.dat of=hdb.dsk conv=notrunc seek=`cat hda_0_sil.offset` bs=1
    dd if=hdb_1_sil.dat of=hdb.dsk conv=notrunc seek=`cat hda_1_sil.offset` bs=1
    dd if=hdb_2_sil.dat of=hdb.dsk conv=notrunc seek=`cat hda_2_sil.offset` bs=1
    dd if=hdb_3_sil.dat of=hdb.dsk conv=notrunc seek=`cat hda_3_sil.offset` bs=1

    Now hda.dsk and hdb.dsk are ready for testing dmraid.


    Giuseppe


    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)

    iEYEARECAAYFAkjEC3kACgkQNxpp46476ar+bQCgm8cUSNe/GbIclzTLT2/BOS+q
    Qx0AnAvcrvYZV3injoPB8Kr+GWLqARBo
    =BEV+
    -----END PGP SIGNATURE-----


+ Reply to Thread
Page 1 of 2 1 2 LastLast