88 Commits

Author SHA1 Message Date
Timmy Welch
b8fc58bd9f Add support for defining package capabilities
Some checks failed
gokrazy CI / CI (macos-latest) (push) Has been cancelled
gokrazy CI / CI (ubuntu-latest) (push) Has been cancelled
gokrazy CI / CI (windows-latest) (push) Has been cancelled
2025-12-28 14:51:38 -08:00
Michael Stapelberg
715673f4b5 packer: clean up sbomHook hack 2025-12-06 21:54:52 +01:00
Michael Stapelberg
2848fa1a69 packer: move findPackageFiles to packerprepare.go 2025-12-06 21:38:46 +01:00
Michael Stapelberg
ab66901132 packer: move find* to packerprepare.go 2025-12-06 21:37:13 +01:00
Michael Stapelberg
0bb33e2ae8 packer: move addToFileInfo to write.go 2025-12-06 21:35:56 +01:00
Michael Stapelberg
6ae03bee7a packer: move countingWriter to packerwrite.go 2025-12-06 21:32:21 +01:00
Michael Stapelberg
4fab9e7759 packer: move find* to packerprepare.go 2025-12-06 21:28:53 +01:00
Michael Stapelberg
cfba731eae packer: move partitionPath to packerwrite.go 2025-12-06 21:23:36 +01:00
Michael Stapelberg
bd1faa7647 packer: move overwrite{File,Device} to packerwrite.go 2025-12-06 21:21:00 +01:00
Michael Stapelberg
3def6ed054 packer: move printHowToInteract to packerwrite.go 2025-12-06 21:17:15 +01:00
Michael Stapelberg
8b448cc312 packer: move update into packerupdate.go 2025-12-06 21:16:38 +01:00
Michael Stapelberg
df53492c98 packer: move write into packerwrite.go 2025-12-06 21:14:44 +01:00
Michael Stapelberg
f5ddd27c7e packer: move build into packerbuild.go 2025-12-06 21:12:44 +01:00
Michael Stapelberg
23ac917f5b packer: move prepare into packerprepare.go 2025-12-06 21:11:31 +01:00
Michael Stapelberg
485405edac cleanup: remove unused parameters 2025-12-06 21:09:00 +01:00
Michael Stapelberg
45b2b940f6 cleanup: move write{Boot,Root}File next to write{Boot,Root} 2025-12-06 21:04:34 +01:00
Michael Stapelberg
67382a6dbe cleanup: move kernel GOARCH validation code into its own file 2025-12-06 20:59:01 +01:00
Michael Stapelberg
b513356080 refactor: split printHowToInteract into its own method
Also remove duplicate URL construction code
2025-12-06 20:55:30 +01:00
Michael Stapelberg
cbfacd97a6 refactor: split logicUpdate into a separate method 2025-12-06 20:42:09 +01:00
Michael Stapelberg
1921f918ee cleanup: inline programName now that the old packer is gone 2025-12-06 20:23:57 +01:00
Michael Stapelberg
9e3ab11076 packer: add test for losing HTTPS certificates
related to https://github.com/gokrazy/tools/pull/68
2025-12-06 08:49:22 +01:00
julienrbrt
9c9a33515b fix partuuid probing with --insecure after losing HTTPS certificates (#68) 2025-12-06 08:48:38 +01:00
Michael Stapelberg
52cab9f145 packer: stop using updateflag global state
related to https://github.com/gokrazy/tools/pull/68
2025-12-06 08:37:24 +01:00
Michael Stapelberg
91c487c959 packer: use HTTPS client despite -insecure (post-update) (+test)
While adding the integration test for
https://gokrazy.org/userguide/tls-for-untrusted-networks/,
I noticed that the packer does not actually successfully complete
the initial HTTPS deployment (where -insecure is used).
After writing the image to disk and rebooting, the packer was stuck at:

device not yet reachable: Get "https://localhost:9080/": http:
server gave HTTP response to HTTPS client

related to https://github.com/gokrazy/tools/pull/94
2025-11-29 12:39:22 +01:00
Michael Stapelberg
9a9519186b integration: add 'gok update' test
Some checks failed
gokrazy CI / CI (macos-latest) (push) Has been cancelled
gokrazy CI / CI (ubuntu-latest) (push) Has been cancelled
gokrazy CI / CI (windows-latest) (push) Has been cancelled
2025-10-03 19:12:17 +02:00
Michael Stapelberg
ab76ef531d update to latest gokrazy/updater (now needs a context) 2025-06-01 08:57:36 +02:00
Michael Stapelberg
5b15ffbd42 packer: move unix-specific code into build tag guarded files
related to https://github.com/gokrazy/tools/issues/89
2025-05-29 16:17:58 +02:00
Michael Stapelberg
105d190cbc internal/packer: introduce Pack.Env (with a logger) and log to it
related to https://github.com/gokrazy/tools/issues/91
2025-05-29 15:26:31 +02:00
Michael Stapelberg
97ed031a8e packer: refactor write phase out of logic() 2025-04-17 22:59:29 +02:00
Michael Stapelberg
e1ed8d681f packer: refactor build phase out of logic() 2025-04-17 22:57:40 +02:00
Michael Stapelberg
4868f92932 packer: refactor preparation phase out of logic() 2025-04-17 22:48:39 +02:00
Michael Stapelberg
ff72417a88 packer: add missing error assignment 2025-04-17 22:36:41 +02:00
Michael Stapelberg
9a554ea21e check whether partitions are mounted early on, improve error message
related to https://github.com/gokrazy/gokrazy/discussions/308
2025-04-17 22:30:32 +02:00
Michael Stapelberg
640a6ea131 clearly label errors as such
related to https://github.com/gokrazy/gokrazy/discussions/308
2025-04-17 22:30:19 +02:00
Michael Stapelberg
4f97436034 implement Package.GoBuildEnvironment option
This allows setting e.g. CGO_ENABLED=1 for only specific programs.
2025-03-30 11:14:56 +02:00
thielepaul
b0f9892141 allow overriding basename in package config (#86)
related to https://github.com/gokrazy/gokrazy/issues/303
2025-02-27 20:28:19 +01:00
Michael Stapelberg
ceba4a4391 delete cmd/gokr-packer and cmd/gokr-updater
Users who need to use gokr-packer to migrate an existing setup to the
instance-centric config can use the following command to install the
last version before it was deleted:

go install github.com/gokrazy/tools/cmd/gokr-packer@703a8605028963d13a9d00815ccedfae13f0ce6d

fixes https://github.com/gokrazy/gokrazy/issues/301
2025-02-21 20:10:23 +01:00
Michael Stapelberg
703a860502 sbom: do not hash source files, record buildid of binaries instead
Before this commit, the mere presence of files with certain names in local
package directories would make the build fail (see nonmodulefiles_test.go).

With this commit, we now record the buildinfo and buildid of all built Go
programs of this gokrazy instance.

related to https://github.com/gokrazy/gokrazy/issues/297

fixes https://github.com/gokrazy/gokrazy/issues/299
2025-02-21 18:51:16 +01:00
Michael Stapelberg
1b3cfe35b3 packer: do not compute SBOM twice when writing a GAF file
related to https://github.com/gokrazy/gokrazy/issues/299
2025-02-21 17:53:55 +01:00
Michael Stapelberg
5762235ac5 make ExtraFilePaths absolute earlier to fix sbom in relative parents
fixes https://github.com/gokrazy/gokrazy/issues/289
2025-01-22 21:49:32 +01:00
Michael Stapelberg
ca8464f58d overwrite: add --trace_file flag for performance analysis
related to https://github.com/gokrazy/gokrazy/issues/287
2025-01-13 21:56:14 +01:00
Michael Stapelberg
37e2f95c5c create an empty /bin mount point
This is useful for mounting a tmpfs and installing busybox
(e.g. the version that comes with the serial-busybox package):

    mount -t tmpfs tmpfs /bin
    ln -s /tmp/serial-busybox/ash busybox
    ./busybox --install -s /bin

Afterwards, TRAMP (transparent remote access) in Emacs works:

    emacs /ssh:scan2drive:/perm/keep/index.md
2024-12-29 16:36:13 +01:00
Michael Stapelberg
0c67e08b0a packer: partially restore buildPackagesFromFlags()
Commit a59c9ad5f4 was not entirely correct:
It is desired to call getGokrazySystemPackages(), but we should also
keep looking at cfg.Packages (which the commit didn’t).
2024-09-11 18:27:24 +02:00
Michael Stapelberg
a59c9ad5f4 FindExtraFiles: unify packages to consider with sbom logic
This fixes 'gok -i hello sbom' when the hello instance
directory (~/gokrazy/hello) has an empty build directory.

related to #51
2024-09-09 17:20:29 +02:00
George Hopkins
de5f76c883 Support i386/x86 platforms (#75) 2024-08-18 16:15:51 +02:00
Anup Chenthamarakshan
fe5fe168ac Support non-default FirstPartitionOffsetSectors (#70)
Support devices that require non-default space before the first partition
starts (4MiB). Required to enable booting Rock64 devices
2024-07-04 17:50:25 +02:00
oliverpool
e53ba4e609 Satisfy staticcheck (#74)
* remove deprecated ioutil usage

* use more suitable functions

* add missing error handling

* remove unused variables

* select{} instead of for{}
2024-07-04 17:35:15 +02:00
Michael Stapelberg
3919dda31d packer: error out on invalid ExtraFilePaths
Before this change, the packer created an empty directory unconditionally,
which resulted in surprising errors in programs like breakglass.

closes https://github.com/gokrazy/breakglass/issues/19
2024-06-15 18:09:21 +02:00
Michael Stapelberg
0798935a7a packer: rename to addExtraFilesFromDir 2024-06-15 17:57:14 +02:00
Brad Fitzpatrick
ee071a0b95 internal/packer: use new UpdateOpts.NoPassword (#69)
Updates gokrazy/gokrazy#265
Updates tailscale/tailscale#1866

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-06-09 10:38:39 +02:00