Skip to content

Commit

Permalink
partitioning: Add partattrs property to partition
Browse files Browse the repository at this point in the history
Add a 'partattrs' property to partitions. It allows the GPT partition
attribute bits to be set for a partition. Notably this is needed to set
bits 48 and 56, which are part of the GUID specific range, to allow a
ChromeOS Kernel partition to be booted on Chromebooks.

Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
  • Loading branch information
nfraprado committed Mar 14, 2024
1 parent 3a3ad05 commit e525be6
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions actions/image_partition_action.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ a 32 bits hexadecimal number (e.g. '1234ABCD' without any dash separator).
fsck: bool
fsuuid: string
partuuid: string
partattrs: list of partition attributes
Mandatory properties:
Expand Down Expand Up @@ -95,6 +96,9 @@ for partition.
- flags -- list of additional flags for partition compatible with parted(8)
'set' command.
- partattrs -- list of GPT partition attribute bits. See description for
--part-attrs in sfdisk(8) for examples.
- fsck -- if set to `false` -- then set fs_passno (man fstab) to 0 meaning no filesystem
checks in boot time. By default is set to `true` allowing checks on boot.
Expand Down Expand Up @@ -187,6 +191,7 @@ type Partition struct {
Name string
PartLabel string
PartType string
PartAttrs []string
PartUUID string
Start string
End string
Expand Down Expand Up @@ -531,6 +536,13 @@ func (i ImagePartitionAction) Run(context *debos.DebosContext) error {
}
}

if p.PartAttrs != nil {
err = debos.Command{}.Run("sfdisk", "sfdisk", "--part-attrs", context.Image, fmt.Sprintf("%d", p.number), strings.Join(p.PartAttrs, ","))
if err != nil {
return err
}
}

/* PartUUID will only be set for gpt partitions */
if len(p.PartUUID) > 0 {
err = debos.Command{}.Run("sfdisk", "sfdisk", "--part-uuid", context.Image, fmt.Sprintf("%d", p.number), p.PartUUID)
Expand Down

0 comments on commit e525be6

Please sign in to comment.