option bootable in setup-storage

Michael Tautschnig mt at debian.org
Wed May 6 21:34:29 CEST 2009


> 
> Hello list,
> 
> there might be a small discrepancy between setup-storage and its man page:
> 
> Without explicitly setting the option bootable:1 in our disk_config partition files, the boot flag is not set in the MBR, which causes some of our machines not to boot, while the setup-storage man page says (at least to my interpretation), that / is set as the default boot partition.
> 
> To give more information, the following disk_config file does lead to non-booting machines in some cases:
> 
> # BEGIN
> disk_config disk1 disklabel:msdos
> 
> # <type> <mountpoint> <size> <filesystem> <mount_options> <fs_options>
> 
> primary  /            2500       ext3   rw,errors=remount-ro
> logical  swap         1000-2000  swap   rw                   
> logical  /var         1500-2000  ext3   rw         	createopts="-m 5" tuneopts="-c 0 -i 0"
> logical  /tmp         500-1500   ext3   rw         	createopts="-m 0" tuneopts="-c 0 -i 0"
> logical  /usr         10G-20G    ext3   rw
> logical  /home        10G-100%   ext3   rw,nosuid	createopts="-m 1" 
> tuneopts="-c 0 -i 0"
> # END
> 
> So, what's wrong here, the manual or my understanding of it?
> 

I think, the code is/was wrong. The documentation is correct in that it says
what it should do. Attached is a patch to fix that issue (meant for 3.2.20),
which is included in 3.2.21+experimental2.

Best,
Michael

-------------- next part --------------
2009-05-06  Michael Tautschnig  <mt at debian.org>

	* setup-storage/Parser.pm: Set the boot flag on partition mounted at /, if
		bootable is not explicitly set.
Index: trunk/lib/setup-storage/Parser.pm
===================================================================
--- trunk.orig/lib/setup-storage/Parser.pm
+++ trunk/lib/setup-storage/Parser.pm	
@@ -522,6 +522,12 @@
           } else {
             $FAI::partition_pointer->{encrypt} = 0;
           }
+          if ($FAI::device =~ /^PHY_(.+)$/ &&
+            -1 == $FAI::configs{$FAI::device}{bootable} &&
+            $FAI::partition_pointer->{mountpoint} eq "/") {
+            $FAI::configs{$FAI::device}{bootable} =
+              $FAI::partition_pointer->{number};
+          }
         }
 
     name: m{^([^/,\s\-]+)}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
Url : http://lists.uni-koeln.de/pipermail/linux-fai/attachments/20090506/f2f7a2f0/attachment.bin 


More information about the linux-fai mailing list