talos
1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5package makefs
6
7import (
8"github.com/siderolabs/go-cmd/pkg/cmd"
9)
10
11// VFAT creates a VFAT filesystem on the specified partition.
12func VFAT(partname string, setters ...Option) error {
13opts := NewDefaultOptions(setters...)
14
15args := []string{}
16
17if opts.Label != "" {
18args = append(args, "-F", "32", "-n", opts.Label)
19}
20
21if opts.Reproducible {
22args = append(args, "--invariant")
23}
24
25args = append(args, partname)
26
27_, err := cmd.Run("mkfs.vfat", args...)
28
29return err
30}
31