Some machines required that the boot partition (either /boot if it exists, or / otherwise) is ext2 or ext3. The following partman check is supposed to check this. Any comments?
Index: partman-ext3/check.d/ext2_or_ext3_boot =================================================================== --- partman-ext3/check.d/ext2_or_ext3_boot (revision 0) +++ partman-ext3/check.d/ext2_or_ext3_boot (revision 0) @@ -0,0 +1,71 @@ +#!/bin/sh +# Check that the boot partition is the 1st (primary) partition and that +# it is of type ext2 or ext3. + +machine=$(grep "^Hardware" /proc/cpuinfo | sed 's/Hardware\s*:\s*//') || true +case "$machine" in + "Buffalo Linkstation Pro/Live" | "Buffalo/Revogear Kurobox Pro") + ;; + "HP Media Vault mv2120") + ;; + *) + exit 0 + ;; +esac + +. /lib/partman/lib/base.sh + +for dev in $DEVICES/*; do + [ -d "$dev" ] || continue + cd $dev + open_dialog PARTITIONS + while { read_line num id size type fs path name; [ "$id" ]; }; do + [ "$fs" != free ] || continue + [ -f $id/method ] || continue + [ -f $id/acting_filesystem ] || continue + [ -f $id/mountpoint ] || continue + mountpoint=$(cat $id/mountpoint) + filesystem=$(cat $id/acting_filesystem) + if [ "$mountpoint" = / ]; then + root_fs=$filesystem + root_type=$type + root_path=$path + elif [ "$mountpoint" = /boot ]; then + boot_fs=$filesystem + boot_type=$type + boot_path=$path + fi + done + close_dialog +done + +# If no separate boot partition exists root acts as boot +if [ -z "$boot_path" ]; then + boot_fs=$root_fs + boot_type=$root_type + boot_path=$root_path +fi + +# We need an ext2 r ext3 filesystem to boot +if [ "$boot_fs" != ext2 ] && [ "$boot_fs" != ext3 ]; then + db_set partman-ext3/boot_not_ext2_or_ext3 true + db_input critical partman-ext3/boot_not_ext2_or_ext3 || true + db_go || true + db_get partman-ext3/boot_not_ext2_or_ext3 + if [ "$RET" = true ]; then + exit 1 + fi +fi + +# The boot file system has to be the first primary partition +part_num=$(echo "$boot_path" | sed -e 's/.*[^0-9]\+//') +if [ "$boot_type" != primary ] || [ "$part_num" -ne 1 ]; then + db_set partman-ext3/boot_not_first_partition true + db_input critical partman-ext3/boot_not_first_partition || true + db_go || true + db_get partman-ext3/boot_not_first_partition + if [ "$RET" = true ]; then + exit 1 + fi +fi + Property changes on: partman-ext3/check.d/ext2_or_ext3_boot ___________________________________________________________________ Added: svn:executable + * Index: partman-ext3/debian/partman-ext3.templates =================================================================== --- partman-ext3/debian/partman-ext3.templates (revision 55306) +++ partman-ext3/debian/partman-ext3.templates (working copy) @@ -53,3 +53,28 @@ # :sl1: # Short file system name (untranslatable in many languages) _Description: ext3 + +Template: partman-ext3/boot_not_ext2_or_ext3 +Type: boolean +# :sl2: +_Description: Go back to the menu and correct this problem? + Your boot partition has not been configured with the ext2 or ext3 + file system. This is needed by your machine in order to boot. Please go + back and use either the ext2 or ext3 file system. + . + If you do not go back to the partitioning menu and correct this error, + the partition will be used as is. This means that you may not be able + to boot from your hard disk. + +Template: partman-ext3/boot_not_first_partition +Type: boolean +# :sl2: +_Description: Go back to the menu and correct this problem? + Your boot partition is not located on the first primary partition of your + hard disk. This is needed by your machine in order to boot. Please go + back and use your first primary partition as a boot partition. + . + If you do not go back to the partitioning menu and correct this error, + the partition will be used as is. This means that you may not be able + to boot from your hard disk. + (Note that partman-ext3/boot_not_first_partition has two spaces after full stops because this template is a copy of partman-ext2r0/boot_not_first_partition.) -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]