From: Richard W.M. Jones Date: Fri, 21 Oct 2011 15:02:34 +0000 (+0100) Subject: virt-make-fs: Set MBR partition type byte correctly (RHBZ#746295). X-Git-Tag: 1.13.24~10 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=0c06d740b77fb9225a0e2bd13dc88b0b88ee87cb virt-make-fs: Set MBR partition type byte correctly (RHBZ#746295). --- diff --git a/tools/virt-make-fs b/tools/virt-make-fs index 1a19b98..28b4aba 100755 --- a/tools/virt-make-fs +++ b/tools/virt-make-fs @@ -423,6 +423,22 @@ eval { $partition = "mbr" if $partition eq ""; $g->part_disk ($dev, $partition); $dev = "/dev/sda1"; + + # Set the partition type byte if it's MBR and the filesystem + # type is one that we know about. + my $mbr_id; + if ($partition eq "mbr") { + if ($type =~ /^v?fat$/) { + $mbr_id = 0xb; + } elsif ($type eq "ntfs") { + $mbr_id = 0x7; + } elsif ($type =~ /^ext\d$/) { + $mbr_id = 0x83; + } elsif ($type eq "minix") { + $mbr_id = 0x81; + } + } + $g->part_set_mbr_id ("/dev/sda", 1, $mbr_id) if defined $mbr_id; } print STDERR "creating $type filesystem on $dev ...\n" if $debug;