aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/build/fuchsia.go
Commit message (Collapse)AuthorAgeFilesLines
* all: remove unused nolint directivesDmitry Vyukov2026-01-021-1/+0
|
* pkg/build: use the build environment in clean() callsFlorent Revest2024-10-141-1/+1
| | | | | | This unifies the build() and clean() interfaces such that if a custom compiler or make binary is provided in the manager or bisection config, they can be taken into account by the clean() interface.
* pkg/build/fuchsia.go: goconst false positiveTaras Madan2023-11-091-0/+1
| | | | It contributes to #4317 unblocking.
* all: use special placeholder for errorsTaras Madan2023-07-241-1/+1
|
* pkg/build: update fuchsia tools target nameLaura Peskin2022-10-311-1/+1
| | | | | Fuchsia's //bundles:tools target was renamed to //bundles/tools.
* pkg/build: fix fuchsia disk pathDmitry Vyukov2022-09-151-1/+1
|
* pkg/build: modify builder interfaceAleksandr Nogikh2021-07-201-11/+11
| | | | | | | | | Modify the `builder` interface in such a way that build method also returns a struct containing extra information about the build process. This allows to fetch compiler ID from individual builders. Also, this makes the `signer` interface obsolete, as this information can also go into that structure.
* all: remove pointers to pkg.build.ParamsAleksandr Nogikh2021-07-201-1/+1
| | | | | | | | | | The struct pkg.build.Params is currently primarily passed on as a pointer, which leads make it hard to see the places, where it can (and should) actually be modified. Make it all more explicit by only passing pointer references to objects of this type when the object is expected to be modified by the function. In fact, at this moment there are no such situations.
* pkg/build: remove goma for fuchsia buildMarco Vanotti2021-04-091-0/+1
| | | | | We no longer build fuchsia with goma. We might add support for it later on.
* pkg/build: fix zircon.elf path for fuchsiaMarco Vanotti2021-04-091-2/+2
|
* sys/targets: add OS/Arch name constsDmitry Vyukov2020-10-261-1/+1
| | | | | | | | | | | | We use strings to identify OS/Arch. These strings are duplicated throughout the code base massively. golangci-lint points to possiblity of typos and duplication. We already had to define these names in pkg/csource and disable checking for prog package. A future change triggers such warnings in another package. Add OS/Arch name consts to sys/targets so that they can be used to refer to OS/Arch. Use the consts everywhere.
* pkg/build/fuchsia: expand fvm imageMarco Vanotti2020-10-011-1/+11
| | | | | | The fvm partition used was the default from the build. This commit expands it to 2GB. Without this change, recent versions of fuchsia will not boot.
* pkg/build/fuchsia: create ssh keysMarco Vanotti2020-10-011-8/+29
| | | | | | Fuchsia moved the location of the ssh keys and they are now referenced by the `.fx-ssh-path` file. Instead of following that file, we are creating new ssh keys on each image build.
* pkg/build/fuchsia: fix zbi and multiboot pathsMarco Vanotti2020-10-011-2/+2
| | | | | Recently some files in fuchsia moved around. This commit makes them use the right path.
* pkg/build/fuchsia: Enable KASAN by default.Marco Vanotti2020-05-281-1/+2
| | | | | | | | | | This commit makes syzkaller build the kasan variant of fuchsia by default. Support for kernel address sanitizer has landed in fuchsia since commit `54c5edfc37afe7294256552cefefca64c6ce7e94`[0]. [0]: https://fxrev.dev/383323
* pkg/build: include syz-executor in Fuchsia base imageMatthew Dempsky2019-12-091-2/+24
| | | | | Also, build using source from our own copy of syz-executor instead of what's currently rolled into Fuchsia.
* pkg/build: refactor Image function argumentsDmitry Vyukov2019-11-061-21/+21
| | | | | | | Image takes too many arguments, so we need to do lots of forwarding, adding new argumnets is painful and most OSes are not interested in lots of arguments. Combine all arguments into a params struct.
* pkg/build: use sandbox to build fuchsia.Marco Vanotti2019-08-201-3/+12
| | | | | | | | | We have noticed that the build process was being invoked as root. This change modifies the calls to use osutil.Sandbox before invoking cmds to build fuchsia. This is required for the process to use goma, as goma is running under the syzkaller user.
* pkg/build: increase timeout for building fuchsiaMarco Vanotti2019-08-141-1/+1
|
* pkg/build: change gcc for clang in fuchsiaMarco Vanotti2019-07-231-3/+3
| | | | | Recently fuchsia changed the default compiler from GCC to clang. This change updates the paths in the build package.
* pkg/build: Add ssh keys for fuchsiaMarco Vanotti2019-07-231-5/+13
| | | | | | | This change modifies the way fuchsia is built to add the ssh keys to the zbi image after building it. Previously that was done via the "extra_ssh_keys" argument to the build system, but that was removed recently.
* pkg/build: update zircon build directory. (#1132)Marco Vanotti2019-04-221-3/+3
| | | | Recently, fuchsia changed the build directory for zircon, now instead of build-zircon, we have arch.zircon, where arch is x64 or arm64.
* pkg/build: Add ssh tools for fuchsia.Marco Vanotti2019-03-291-0/+1
| | | | | | | | This commit adds the "//bundles:tools" packages to the fuchsia build used for syzkaller. This includes ssh tools, which includes scp. TEST=I have tested this on syz-ci. Fuchsia is now able to pass the image test.
* pkg/build: update fuchsia build commands.Marco Vanotti2019-03-271-2/+3
| | | | | | | | | | | | | | | | | | This CL changes the invocation of the `fx set` command to match the new format[0]. This change involves removing "board" and "product" flags. Instead, now one has to use `fx set product.board` to get the same result. In the case of syzkaller, this would be "core.${ARCH}" where arch could be x64 or arm64. Also, the default build directory now is `out/default`, and for now, it is still not possible to have multiple archs built altogether. I set the build directory manually to `out/${ARCH}` (as was before). This would allow syzkaller to also build the kernel for arm if required. [0]: https://fuchsia.googlesource.com/fuchsia/+/b814211ab33eeb4e8f02962d5c81d042b2464ac7 TEST=Tested this in syz-ci. It worked.
* all: switch to Go 1.12Dmitry Vyukov2019-03-141-1/+1
| | | | | | | | Differences in code formatting between Go versions cause constant problems for us (https://github.com/golang/go/issues/25161). Currently we support 1.9 and 1.10. Switch to newer 1.11 and 1.12. Fixes #1013
* pkg/build: update fuchsia build commands.Marco Vanotti2019-03-141-1/+4
| | | | | | | | | | | | | | This CL splits the fx commands into two: one that runs `fx set` setting the same arguments as before, and another one right after, running `fx clean-build` to build fuchsia. Recently[0], fuchsia made it impossible to run `fx clean-build` specifying the arguments. Instead, one should run `fx set` before. The benefit is that `clean-build` now preserves the build arguments across runs. For syzkaller, it doesn't change anything though. [0]: https://fuchsia-review.googlesource.com/c/fuchsia/+/262674
* pkg/build: update fuchsia fx argumentsJulia Hansbrough2019-03-011-1/+1
| | | | We've once again changed the way you define a build via fx; update it in Syzkaller too.
* fuchsia: Update Syzkaller to pull from Fuchsia monorepo (#1021)Julia Hansbrough2019-02-271-3/+3
| | | Fuchsia and its repos now live in a new spot!
* pkg/build: netbsd build improvementsDmitry Vyukov2019-02-231-1/+1
| | | | | | | 1. Implement clean since we do incremental build we actually need no-op clean. 2. Don't copy netbsd to output dir, we don't need it there (we create full-fledged image). 3. Copy netbsd.gdb to obj/ dir, that's where it is expected. 4. Fix boot disk name for gce (it's sd0 instead of wd0).
* all: reformat with Go 1.10Dmitry Vyukov2019-02-111-1/+1
|
* sys/linux: add NDISC packet formats to vnet.txtDan Robertson2019-02-111-1/+1
| | | | Add the basic NDISC (RFC 4861) packet formats to sys/linux/vnet.txt.
* pkg/build: copy fuchsia ssh keyDmitry Vyukov2018-11-211-1/+2
| | | | We've lost is somewhere along the way.
* [fuchsia] SSH fix and build invocation fix.Julia Hansbrough2018-11-161-3/+2
| | | | | | | | | SSH keys are now included at the fx clean-build config. A proper escape sequence looked weird so use a string literal to pass that config. Fixed some typos I found while debugging.
* [fuchsia] Fix typo in Fuchsia build.Julia Hansbrough2018-11-151-3/+2
| | | | | | | | | | | | | | | | | | | | Hey--so I *don't* know a particularly efficient way to test syz-ci right now. There's no good config I can find for just running it locally, and I couldn't find any good unit tests for this function in particular, and running it manually on a ci server isn't super-appealing since I'd have to clobber the configuration there to point to my repo instead of the canonical repo, pull from there, etc. Do you have any good ideas for testing this before it rolls out? In particular I want the invocation to look exactly like: ./scripts/fx set x64 --packages garnet/packages/products/sshd --args 'extra_authorized_keys_file="//.ssh/authorized_keys"' I thought I'd escaped it properly last time, but, since I couldn't test it, clearly I goofed. I *think* this does the right thing but I'd love a sanity check. Thanks!
* [fuchsia] Fix Fuchsia build.Julia Hansbrough2018-11-121-2/+4
| | | | | | | | | | * Needed to clean out the build on the main host. We switched to a "petal" layout which required a complete rebuild. * Update SSH interface. SSH keys have to be set at buildtime via --args. * Update fvm.blk location.
* pkg/build: fix typo in error messagesAnton Lindqvist2018-09-171-1/+1
|
* pkg/build: do not use asan for fuchsiaDmitry Vyukov2018-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | If we build fuchsia with asan, syz-executor binary fails to run with: $ /tmp/syz-executor [00041.656] 01128.01275> dlsvc: could not open 'libc++.so.2' [00041.656] 06074.06088> Error loading shared library libc++.so.2: ZX_ERR_NOT_FOUND (needed by [00041.656] 06074.06088> /tmp/syz-executor [00041.656] 06074.06088> ) [00041.656] 01128.01275> dlsvc: could not open 'libc++abi.so.1' [00041.656] 06074.06088> Error loading shared library libc++abi.so.1: ZX_ERR_NOT_FOUND (needed by [00041.656] 06074.06088> /tmp/syz-executor [00041.656] 06074.06088> ) [00041.663] 01128.01275> dlsvc: could not open 'libunwind.so.1' [00041.663] 06074.06088> Error loading shared library libunwind.so.1: ZX_ERR_NOT_FOUND (needed by [00041.663] 06074.06088> /tmp/syz-executor [00041.663] 06074.06088> ) Disable asan until we figure out how to fix this.
* [fuchsia] Change QEMU args to use multiboot shim.Julia Hansbrough2018-08-171-5/+5
|
* pkg/build: build asan-ified fuchsiaDmitry Vyukov2018-08-141-1/+1
| | | | Building with asan is useful to detect any bugs in C/C++ services.
* pkg/build: update initrd nameDmitry Vyukov2018-07-101-1/+1
| | | | Seems to have been renamed.
* pkg/build: always do clean build for fuchsiaDmitry Vyukov2018-07-101-5/+3
| | | | | | | | | | | | We frequently see boot errors like: [00010.201] 02991.03067> pkgsvr: 2018/06/30 23:39:41 system: failed to set system root from blob "ccbadb3901372b1e0fc5275f627f708bf3e5f3acfb0d4268638db0ff75fc7fd4": file does not exist or: [00003.691] 01126.01153> devmgr: launchpad /fs/blob/e66739acdd3d8efa3b7c9021e2107cf8431765c0b8eb0a1ec7f7dc7fd305f2f7 (pkgfs) failed: launchpad_vmo_from_file failure: -40 Presumably clean build may help.
* pkg/build: support fuchsia buildsDmitry Vyukov2018-06-281-0/+50