Browse Source

wic/direct: Partition numbering is broken for MBR primary partition #4

When wks describes extra partitions that aren't in the partition
table (e.g. boot loader) and exactly four primary MBR partitions, the
last partition gets added to fstab as partition #5 instead of #4.

[YOCTO #13560]

Signed-off-by: Michael Cooper <michaelcooper81@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Michael Cooper 4 years ago
parent
commit
7537580b3d
1 changed files with 2 additions and 1 deletions
  1. 2 1
      scripts/lib/wic/plugins/imager/direct.py

+ 2 - 1
scripts/lib/wic/plugins/imager/direct.py

@@ -316,6 +316,7 @@ class PartitionedImage():
         # Size of a sector used in calculations
         self.sector_size = SECTOR_SIZE
         self.native_sysroot = native_sysroot
+        num_real_partitions = len([p for p in self.partitions if not p.no_table])
 
         # calculate the real partition number, accounting for partitions not
         # in the partition table and logical partitions
@@ -325,7 +326,7 @@ class PartitionedImage():
                 part.realnum = 0
             else:
                 realnum += 1
-                if self.ptable_format == 'msdos' and realnum > 3 and len(partitions) > 4:
+                if self.ptable_format == 'msdos' and realnum > 3 and num_real_partitions > 4:
                     part.realnum = realnum + 1
                     continue
                 part.realnum = realnum