From 39e25eceaf054fc70086b178d0d1f34def4cbf2b Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Fri, 29 May 2015 20:49:09 +0200 Subject: autoport: Allow binary prerequisites to be placed in the autoport directory. This allow an easy creation of standalone "autoport pack". Change-Id: Ibe9e38aa3b4bbd7260104e1c2a11630790ff4d2f Signed-off-by: Vladimir Serbinenko Reviewed-on: http://review.coreboot.org/10370 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan --- util/autoport/log_maker.go | 22 ++++++++++++++++++++-- util/autoport/readme.md | 7 ++++++- 2 files changed, 26 insertions(+), 3 deletions(-) (limited to 'util/autoport') diff --git a/util/autoport/log_maker.go b/util/autoport/log_maker.go index b991ea715d..e2440b4891 100644 --- a/util/autoport/log_maker.go +++ b/util/autoport/log_maker.go @@ -9,7 +9,7 @@ import ( "strings" ) -func RunAndSave(output string, name string, arg ...string) { +func TryRunAndSave(output string, name string, arg []string) error { cmd := exec.Command(name, arg...) f, err := os.Create(output) @@ -22,9 +22,27 @@ func RunAndSave(output string, name string, arg ...string) { err = cmd.Start() if err != nil { - log.Fatal(err) + return err } cmd.Wait() + return nil +} + +func RunAndSave(output string, name string, arg ...string) { + err := TryRunAndSave(output, name, arg) + if err == nil { + return + } + idx := strings.LastIndex(name, "/") + relname := name + if idx >= 0 { + relname = name[idx+1:] + } + relname = "./" + relname + err = TryRunAndSave(output, relname, arg) + if err != nil { + log.Fatal(err) + } } func MakeLogs(outDir string) { diff --git a/util/autoport/readme.md b/util/autoport/readme.md index e5ea77d12c..158cf49fdf 100644 --- a/util/autoport/readme.md +++ b/util/autoport/readme.md @@ -25,7 +25,12 @@ This will allow autoport to detect as much as possible make cd ../autoport go build - ./autoport --input_log=logs --make_logs --coreboot_dir=../.. + sudo ./autoport --input_log=logs --make_logs --coreboot_dir=../.. + + Note: in case you have problems getting gcc and golang to target machine + you can just compile on another machine and transfer binaries + `autoport`, `inteltool` and `ectool`. You'll still need other prerequisites + but you may place them in the same directory as autoport. * Look for output unknown PCI devices. E.g. -- cgit v1.2.3