Bug#504397: ext2_or_ext3_boot check fails when /boot is RAID

2009-11-25 Thread Martin Michlmayr
I suggested putting the following patch into d-i just before the
release of lenny but never got an ack/nack.  Since this issue is
still there, I'm thinking of putting the patch in now.  Can some
partman experts comment on it?

* Martin Michlmayr t...@cyrius.com [2009-01-06 16:56]:
 We have a partman check that ensures on some devices that the /boot
 partition is the 1st primary partition.  Unfortunately this check
 fails when /boot is a RAID device, but it's actually valid for /boot
 to be a RAID1 device (as long as its physical partition is the 1st
 primary partition).
 
 There's currently no good way to map the RAID device to its physical
 partition to performs these checks, so I was thinking of applying a
 patch for lenny to skip the check if the /boot device is RAID1.
 
 OK to apply?  (I don't think many users are affected by this, so this
 isn't crucial)
 
 
 Index: check.d/ext2_or_ext3_boot
 ===
 --- check.d/ext2_or_ext3_boot (revision 57101)
 +++ check.d/ext2_or_ext3_boot (working copy)
 @@ -60,6 +60,17 @@
  fi
  
  # The boot file system has to be the first primary partition
 +
 +# ... but for now don't run the check if /boot is on RAID1.  Right now,
 +# there's no good way to map a RAID device to its physical partition
 +# and then run the checks on that partition (see #509799).
 +if echo $boot_path | grep -q ^/dev/md; then
 + raid=${boot_path#/dev/}
 + if grep ^$raid /proc/mdstat | grep -q  raid1 ; then
 + exit 0
 + fi
 +fi
 +
  part_num=$(echo $boot_path | sed -e 's/.*[^0-9]\+//')
  if [ $boot_type != primary ] || [ $part_num -ne 1 ]; then
   db_set partman/boot_not_first_partition true
 Index: debian/changelog
 ===
 --- debian/changelog  (revision 57101)
 +++ debian/changelog  (working copy)
 @@ -1,9 +1,16 @@
  partman-ext3 (56) UNRELEASED; urgency=low
  
 +  [ Colin Watson ]
* check.d/nomountpoint_ext3:
  - partman-ext3/no_mount_point is a boolean, not a select (thanks,
Nicolas Valcárcel; LP: #256459).
  
 +  [ Martin Michlmayr ]
 +  * check.d/ext2_or_ext3_boot: when a RAID1 partition is used for /boot
 +don't check whether it's the 1st primary partition.  There's no good
 +way to map a RAID partition to its physical partition at the moment.
 +(Works around #504397).
 +
   -- Colin Watson cjwat...@debian.org  Fri, 26 Dec 2008 13:56:13 +
  
  partman-ext3 (55) unstable; urgency=low
 
 
 -- 
 Martin Michlmayr
 http://www.cyrius.com/

-- 
Martin Michlmayr
http://www.cyrius.com/



--
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#504397: ext2_or_ext3_boot check fails when /boot is RAID

2009-01-06 Thread Martin Michlmayr
We have a partman check that ensures on some devices that the /boot
partition is the 1st primary partition.  Unfortunately this check
fails when /boot is a RAID device, but it's actually valid for /boot
to be a RAID1 device (as long as its physical partition is the 1st
primary partition).

There's currently no good way to map the RAID device to its physical
partition to performs these checks, so I was thinking of applying a
patch for lenny to skip the check if the /boot device is RAID1.

OK to apply?  (I don't think many users are affected by this, so this
isn't crucial)


Index: check.d/ext2_or_ext3_boot
===
--- check.d/ext2_or_ext3_boot   (revision 57101)
+++ check.d/ext2_or_ext3_boot   (working copy)
@@ -60,6 +60,17 @@
 fi
 
 # The boot file system has to be the first primary partition
+
+# ... but for now don't run the check if /boot is on RAID1.  Right now,
+# there's no good way to map a RAID device to its physical partition
+# and then run the checks on that partition (see #509799).
+if echo $boot_path | grep -q ^/dev/md; then
+   raid=${boot_path#/dev/}
+   if grep ^$raid /proc/mdstat | grep -q  raid1 ; then
+   exit 0
+   fi
+fi
+
 part_num=$(echo $boot_path | sed -e 's/.*[^0-9]\+//')
 if [ $boot_type != primary ] || [ $part_num -ne 1 ]; then
db_set partman/boot_not_first_partition true
Index: debian/changelog
===
--- debian/changelog(revision 57101)
+++ debian/changelog(working copy)
@@ -1,9 +1,16 @@
 partman-ext3 (56) UNRELEASED; urgency=low
 
+  [ Colin Watson ]
   * check.d/nomountpoint_ext3:
 - partman-ext3/no_mount_point is a boolean, not a select (thanks,
   Nicolas Valcárcel; LP: #256459).
 
+  [ Martin Michlmayr ]
+  * check.d/ext2_or_ext3_boot: when a RAID1 partition is used for /boot
+don't check whether it's the 1st primary partition.  There's no good
+way to map a RAID partition to its physical partition at the moment.
+(Works around #504397).
+
  -- Colin Watson cjwat...@debian.org  Fri, 26 Dec 2008 13:56:13 +
 
 partman-ext3 (55) unstable; urgency=low


-- 
Martin Michlmayr
http://www.cyrius.com/



--
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#504397: ext2_or_ext3_boot check fails when /boot is RAID

2008-11-03 Thread Martin Michlmayr
Package: partman-ext3
Version: 54

The ext2_or_ext3_boot check I added has a problem: when you put sda1
in a RAID for /boot, the check will complain that /boot is not on the
first primary partition.  However, a RAID /boot partition is okay as
long as it's on sda1/sdb1.

The ext2_or_ext3_boot check should find which partition the /boot RAID
belongs to.  Frans, any idea what the best way is to do this?
-- 
Martin Michlmayr
http://www.cyrius.com/



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]