tinkerbell / actions

Suite of Tinkerbell Actions for use in Tinkerbell Workflows
Apache License 2.0
28 stars 43 forks source link

This adds MBR support and vfat to rootio #18

Closed thebsdbox closed 3 years ago

thebsdbox commented 3 years ago

Description

This PR, extends CPR to support MBR type partitions instead of the default GPT

Why is this needed

VMware requires it's installation disk to be in this format.

Fixes: #

How Has This Been Tested?

How are existing users impacted? What migration steps/scripts do we need?

Hidden behind an MBR environment variable, users wont see it by default.

Checklist:

I have:

dan@code:~/go/src/github.com/tinkerbell/hub/actions/rootio/v1$ sudo TEST=y MBR=true JSON_FILE=./test/mbr.json ./v1 partition
Successfully Opened test data
Succesfully parsed the MetaData, Found [1] Disks
ROOTIO - Disk Manager
------------------------
Parsing MetaData
INFO[0000] Examining disk [/dev/sdb]                    
INFO[0000] Disk Size [16384MB]                          
INFO[0000] Found [4] partitions                         
INFO[0003] Wrote [1073741824] bytes to [/dev/sdb]       
INFO[0003] Flushing writes to new partition             
INFO[0004] Wiping                                       
INFO[0004] Partitioning                                 
INFO[0004] New Partition Name=FAT32_ACTIVE Start=2048 Size=33552384 
INFO[0004] Flushing writes to new partition             

dan@code:~/go/src/github.com/tinkerbell/hub/actions/rootio/v1$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 16 GiB, 17179869184 bytes, 33554432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1  *     2048 33554431 33552384  16G  c W95 FAT32 (LBA)