It seems that after setting the boot flag for a partition another
call to udevsettle is needed as otherwise I get errors like:

(CMD) parted -s /dev/sda set 2 boot on 1> /tmp/1M9vjzau1C 2> /tmp/EiBB63qTW8
Executing: parted -s /dev/sda set 2 boot on
(CMD) mkfs.ext3  /dev/sda1 1> /tmp/UuvcTzUOVm 2> /tmp/V6Jwp4NIzT
Executing: mkfs.ext3  /dev/sda1
Command mkfs.ext3  /dev/sda1 had exit code 1
(STDERR) mke2fs 1.41.2 (02-Oct-2008)
(STDERR) Could not stat /dev/sda1 --- No such file or directory
(STDERR) 
(STDERR) The device apparently does not exist; did you specify it correctly?

although after the script is done, the partition does exist as it
should. The complete format.log can be seen at 
http://paste.debian.net/20120/, the small patch for this would probably 
look like:

--- /usr/share/fai/setup-storage/Commands.pm    2008-08-12 15:01:38.000000000 
+0200
+++ ./Commands.pm       2008-10-27 16:33:15.000000000 +0100
@@ -813,10 +813,11 @@
   if ($FAI::configs{$config}{bootable} > -1) {
     &FAI::push_command( "parted -s $disk set " .
       $FAI::configs{$config}{bootable} . " boot on", "exist_" .
       &FAI::make_device_name($disk, $FAI::configs{$config}{bootable}),
       "boot_set_$disk" );
+    &FAI::push_command( "udevsettle --timeout=10", "run_udev_boot", 
"exist_udev_boot" );
   }
 }


Attachment: signature.asc
Description: Digital signature

Reply via email to