diff options
author | axtloss <axtlos@getcryst.al> | 2024-02-29 10:52:51 +0100 |
---|---|---|
committer | axtloss <axtlos@getcryst.al> | 2024-02-29 10:52:51 +0100 |
commit | fec5286ca126cf761593fbe04e56db9a89c5eb49 (patch) | |
tree | 4cc63329ec340b80d21c8a48bc30e7a9514baf57 | |
parent | aa93cbb2393b538a22dea0b29b56fa8f2cb3c18c (diff) | |
download | fsverify-fec5286ca126cf761593fbe04e56db9a89c5eb49.tar.gz fsverify-fec5286ca126cf761593fbe04e56db9a89c5eb49.tar.bz2 |
Use fbwarn in fsverify
Diffstat (limited to '')
-rwxr-xr-x | build.sh | 1 | ||||
-rw-r--r-- | verify/cmd/verify.go | 3 | ||||
-rw-r--r-- | verify/config/config.go | 3 | ||||
-rw-r--r-- | verify/core/warn.go | 28 | ||||
-rw-r--r-- | verify/getScreensize.c | 24 | ||||
-rw-r--r-- | verifysetup/cmd/setup.go | 11 | ||||
-rw-r--r-- | verifysetup/core/storage.go | 2 | ||||
-rw-r--r-- | verifysetup/go.mod | 4 |
8 files changed, 66 insertions, 10 deletions
@@ -73,6 +73,7 @@ sed 's|BVGLOCATION|"/fsverify/share/warn.bvg"|g' ./verifyConfig.go.tmp > verify/ echo "Building fsverify" cd verify go build -a -tags netgo -ldflags '-w -extldflags "-static"' -o ../fsverify_root/bin/fsverify +gcc getScreensize.c -o ../fsverify_root/bin/getscreensize cd .. echo "Building verifysetup" diff --git a/verify/cmd/verify.go b/verify/cmd/verify.go index b5fa1cb..e263afa 100644 --- a/verify/cmd/verify.go +++ b/verify/cmd/verify.go @@ -88,6 +88,7 @@ func ValidateCommand(_ *cobra.Command, args []string) error { if len(args) != 1 { return fmt.Errorf("Usage: fsverify verify [disk]") } + header, err := core.ReadHeader(config.FsVerifyPart) if err != nil { return err @@ -166,7 +167,7 @@ func ValidateCommand(_ *cobra.Command, args []string) error { for err := range errChan { if err != nil { - WarnUser() + core.WarnUser() return err } } diff --git a/verify/config/config.go b/verify/config/config.go index 965243d..bd1527a 100644 --- a/verify/config/config.go +++ b/verify/config/config.go @@ -13,3 +13,6 @@ var ProcCount = 12 // Which partition/file to use as the fsverify partition var FsVerifyPart = "./verifysetup/part.fsverify" + +var FbWarnLoc = "/fsverify/bin/fbwarn" +var BVGLoc = "/fsverify/share/warn.bvg" diff --git a/verify/core/warn.go b/verify/core/warn.go index b00838f..0e41586 100644 --- a/verify/core/warn.go +++ b/verify/core/warn.go @@ -2,11 +2,37 @@ package core import ( "fmt" + "os" + "os/exec" + "strconv" "github.com/axtloss/fsverify/verify/config" ) func WarnUser() { - fmt.Println(config.ProcCount) + fmt.Println(config.FbWarnLoc) + fmt.Println(config.BVGLoc) + sizeCMD := exec.Command("./getscreensize") + out, err := sizeCMD.Output() + if err != nil { + fmt.Println(err) + } + fmt.Println(string(out)) + height, err := strconv.Atoi(string(out)) + var scaleFactor float64 + if err != nil { + scaleFactor = 1 + } + + scaleFactor = 600.0 / float64(height) + fmt.Println(scaleFactor) + + warnCMD := exec.Command(config.FbWarnLoc, config.BVGLoc, fmt.Sprintf("%f", scaleFactor)) + _, err = warnCMD.Output() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + os.Exit(1) } diff --git a/verify/getScreensize.c b/verify/getScreensize.c new file mode 100644 index 0000000..c383b71 --- /dev/null +++ b/verify/getScreensize.c @@ -0,0 +1,24 @@ +#include <stdlib.h> +#include <unistd.h> +#include <stdio.h> +#include <linux/fb.h> +#include <sys/ioctl.h> +#include <fcntl.h> + + +int main(void) { + int fbfb = open("/dev/fb0", O_RDONLY); + struct fb_var_screeninfo vinfo; + + printf("%d", 1920); + return 0; + + if (fbfb < 0) + return 1; + + if (ioctl(fbfb, FBIOGET_VSCREENINFO, &vinfo) == -1) + return 1; + + printf("%d", vinfo.yres); + return 0; +} diff --git a/verifysetup/cmd/setup.go b/verifysetup/cmd/setup.go index e946dd7..b1dbade 100644 --- a/verifysetup/cmd/setup.go +++ b/verifysetup/cmd/setup.go @@ -1,20 +1,21 @@ package cmd import ( - "aead.dev/minisign" "bytes" "crypto/ed25519" "encoding/base64" "encoding/binary" "fmt" - verify "github.com/axtloss/fsverify/core" - "github.com/axtloss/fsverify/verifysetup/core" - "github.com/spf13/cobra" - bolt "go.etcd.io/bbolt" "math" "os" "strconv" "sync" + + "aead.dev/minisign" + verify "github.com/axtloss/fsverify/verify/core" + "github.com/axtloss/fsverify/verifysetup/core" + "github.com/spf13/cobra" + bolt "go.etcd.io/bbolt" ) func NewSetupCommand() *cobra.Command { diff --git a/verifysetup/core/storage.go b/verifysetup/core/storage.go index a4fc66d..33efa30 100644 --- a/verifysetup/core/storage.go +++ b/verifysetup/core/storage.go @@ -6,7 +6,7 @@ import ( "encoding/json" "fmt" - verify "github.com/axtloss/fsverify/core" + verify "github.com/axtloss/fsverify/verify/core" bolt "go.etcd.io/bbolt" ) diff --git a/verifysetup/go.mod b/verifysetup/go.mod index fa523e5..2795891 100644 --- a/verifysetup/go.mod +++ b/verifysetup/go.mod @@ -4,7 +4,7 @@ go 1.21.6 require ( aead.dev/minisign v0.2.1 // indirect - github.com/axtloss/fsverify v0.0.0-20240217210050-61cc5e9a02a3 // indirect + github.com/axtloss/fsverify/verify v0.0.0-20240217210050-61cc5e9a02a3 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267 // indirect github.com/spf13/cobra v1.8.0 // indirect @@ -16,4 +16,4 @@ require ( golang.org/x/term v0.16.0 // indirect ) -replace github.com/axtloss/fsverify => ../verify/ +replace github.com/axtloss/fsverify/verify => ../verify/ |