My money says this is related to udev now managing the (now) symlinks in /dev/mapper via /lib/udev/rules.d/10-dm.rules. Anyway, if this patch makes the compose work I say ACK for f13-branch. Dave On Thu, 2010-05-06 at 16:02 -0400, Peter Jones wrote: > For reasons of which I'm not quite certain, sometimes parted and such > don't create device mapper device nodes as I'd expect. So when we think > they should be there, run "dmsetup mknod". Also add some debug logging to > this part of the process. > --- > scripts/mk-images.efi | 25 +++++++++++++++++++------ > 1 files changed, 19 insertions(+), 6 deletions(-) > > diff --git a/scripts/mk-images.efi b/scripts/mk-images.efi > index 7b31ced..025f34f 100644 > --- a/scripts/mk-images.efi > +++ b/scripts/mk-images.efi > @@ -19,24 +19,37 @@ > > makeefibootdisk() > { > - partimg=$1 > - target=$2 > + partimg=$1 && shift > + target=$1 && shift > > if [ ! -f $1 ]; then > return > fi > > - local partsize=$(ls -l $1 | awk '{ print $5; }') > + local partsize=$(/bin/ls -l $partimg | awk '{ print $5; }') > local disksize=$((17408 + $partsize + 17408)) > disksize=$(($disksize + $(($disksize % 512)))) > local diskimg=$(mktemp /tmp/efidisk.img.XXXXXX) > dd if=/dev/zero of=$diskimg count=1 bs=$disksize > + MAKEDEV /dev/loop > local loop=$(losetup -v -f $diskimg | awk '{ print $4 }') > + echo "loop is $loop" > + ls -l $loop > dmsetup create efiboot$$ --table "0 $(($disksize / 512)) linear $loop 0" > + dmsetup mknodes efiboot$$ > + echo "efiboot$$ should exist" > + ls -l /dev/mapper/efiboot$$* > parted --script /dev/mapper/efiboot$$ mklabel gpt unit b mkpart '"EFI System Partition"' fat32 17408 $((17408 + $partsize)) set 1 boot on > + dmsetup mknodes efiboot$$p1 || : > + echo "efiboot$$p1 should exist" > + ls -l /dev/mapper/efiboot$$* > + dmsetup ls > + dmsetup table > dd if=$partimg of=/dev/mapper/efiboot$$p1 > - dmsetup remove /dev/mapper/efiboot$$p1 > - dmsetup remove /dev/mapper/efiboot$$ > + echo "dd-ing $partimg to /dev/mapper/efiboot$$p1" > + # the next two lines seem to depend on the exact version of parted :/ > + dmsetup remove -f /dev/mapper/efiboot$$p1 || : > + dmsetup remove -f /dev/mapper/efiboot$$ > losetup -d $loop > > mv -v $diskimg $target > @@ -127,7 +140,7 @@ prepareEfiImage() { > # dynamically calculate the size of the dosfs > BOOTDISKSIZE=$(du -kcs $MBD_BOOTTREE_TMP | tail -n1 | awk '{print $1}') > BOOTDISKSIZE=$(expr $BOOTDISKSIZE + 100) > - echo "The size of the efiboot.img dosfs is $BOOTDISKSIZE" > + echo "The size of the efiboot.img dosfs is ${BOOTDISKSIZE}k" > mkdosfs -n ANACONDA -C $MBD_FILENAME $BOOTDISKSIZE >/dev/null > mount -o loop,shortname=winnt,umask=0077 -t vfat $MBD_FILENAME $MBD_BOOTTREE > cp -R $MBD_BOOTTREE_TMP/* $MBD_BOOTTREE _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list