mirror of
				https://github.com/kairos-io/kcrypt.git
				synced 2025-11-04 11:45:31 +00:00 
			
		
		
		
	Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					70dfc0c14b | ||
| 
						 | 
					2f3a99f421 | ||
| 
						 | 
					4495239b5f | ||
| 
						 | 
					f6ed18cd18 | ||
| 
						 | 
					c936f74913 | ||
| 
						 | 
					7de640988f | 
@@ -2,15 +2,17 @@ package lib
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"github.com/gofrs/uuid"
 | 
			
		||||
	"github.com/jaypipes/ghw"
 | 
			
		||||
	"github.com/jaypipes/ghw/pkg/block"
 | 
			
		||||
	configpkg "github.com/kairos-io/kcrypt/pkg/config"
 | 
			
		||||
	"math/rand"
 | 
			
		||||
	"os"
 | 
			
		||||
	"os/exec"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"syscall"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/gofrs/uuid"
 | 
			
		||||
	"github.com/jaypipes/ghw"
 | 
			
		||||
	"github.com/jaypipes/ghw/pkg/block"
 | 
			
		||||
	configpkg "github.com/kairos-io/kcrypt/pkg/config"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func CreateLuks(dev, password, version string, cryptsetupArgs ...string) error {
 | 
			
		||||
@@ -57,6 +59,14 @@ func Luksify(label, version string, tpm bool) (string, error) {
 | 
			
		||||
		return "", fmt.Errorf("version must be luks1 or luks2")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Make sure ghw will see all partitions correctly.
 | 
			
		||||
	// older versions don't have --type=all. Try the simpler version then.
 | 
			
		||||
	out, err := SH("udevadm trigger --type=all || udevadm trigger")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", fmt.Errorf("udevadm trigger failed: %w, out: %s", err, out)
 | 
			
		||||
	}
 | 
			
		||||
	syscall.Sync()
 | 
			
		||||
 | 
			
		||||
	part, b, err := FindPartition(label)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", err
 | 
			
		||||
@@ -109,7 +119,7 @@ func Luksify(label, version string, tpm bool) (string, error) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cmd := fmt.Sprintf("mkfs.ext4 -L %s %s", label, devMapper)
 | 
			
		||||
	out, err := SH(cmd)
 | 
			
		||||
	out, err = SH(cmd)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", fmt.Errorf("mkfs err: %w, out: %s", err, out)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,14 @@ func UnlockAllWithLogger(tpm bool, logger zerolog.Logger) error {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Some versions of udevadm don't support --settle (e.g. alpine)
 | 
			
		||||
	// and older versions don't have --type=all. Try the simpler version then.
 | 
			
		||||
	logger.Info().Msgf("triggering udev to populate disk info")
 | 
			
		||||
	_, err = utils.SH("udevadm trigger --type=all || udevadm trigger")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, disk := range blk.Disks {
 | 
			
		||||
		for _, p := range disk.Partitions {
 | 
			
		||||
			if p.Type == "crypto_LUKS" {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user