| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Enable external abortion of the instance creation process. This is
especially useful for the qemu case where we retry the creation/boot up
to 1000 times, which can take significant time (e.g. it timeouts
syz-cluster pods on unstable kernels).
The context can be further propagated to WaitForSSH, but that requires
another quite significant vm/ refactoring.
|
| | |
|
| |
|
|
| |
It allows to use context as a single termination signal source.
|
| |
|
|
|
|
| |
Now that clean functions take a params, like builds, it makes sense to
use the BuildCPUs parameter rather than let each OS build implementation
extract the number of CPUs.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
Add calls to Close() from all locations that call Create().
|
| |
|
|
| |
The latter is a better suitable name.
|
| |
|
|
|
| |
This parameter defines the number of cores dedicated to the kernel build
process. By default, it's equal to the number of available CPUs.
|
| |
|
|
|
|
| |
All callers of Run always call MonitorExecution right after it.
Combine these 2 methods. This allows to hide some implementation
details and simplify users of vm package.
|
| |
|
|
| |
We used to do that before, but somehow we now pass the -enable-kvm flag.
|
| |
|
|
| |
vm now expects SysTarget to be present.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
netbsd.go uses a hacky way to construct manager config
that skips of all of our verification/completion logic.
As the result the manager config has 0 timeouts and qemu
immidiately timeouts. Fill in timeouts.
|
| |
|
|
|
|
| |
Users should not be concerned with the internal derived fields.
Move all derived fields into a separate struct before adding more.
This leaves config.go as a better documentation for end users.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Fix capitalization, dots at the end
and two spaces after a period.
Update #1876
|
| |
|
|
|
| |
In case the original key has wrong permissions.
Ssh is very picky about key permissions.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
* Initial KMSan commit
* pkg/buil: kmsan cleanup
* pkg/build: Modify the logic slightly
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
1. Add MKCTF option
2. Remove the command to make the kcov node. Since do it in the script.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
We currently manually call extractRootCause in few selected places
to denote kernel build errors that we want to report to developers.
The rest are considered infra errors that we don't report.
This does not work well. We are missing fuchsia and gvisor build errors.
Treat all external command exection failures as kernel build errors instead.
Let's see how this works in practice.
Also add bazel-specfic error patterns and tests.
|
| | |
|
| |
|
|
|
| |
! escaping seems not be required.
The current code writes / as well, which is wrong.
|
| | |
|
| |
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
| |
Create /fastboot and /var/db/entropy-file files.
Check that we copy kernel into the right location.
Fix code style.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Modified pkg/build/netbsd.go
1. Made kernel build incremental
2. Added code to copy kernel to disk image
* Fix formating issues
* Fixed basic issues
* Fixed copy kernel to disk
1. Added CPU option to default
2. Added snapshot option to vm/qemu/qemu.go
3. Hacky solution to get the build working
* Fixed issues and added vm.MonitorExecution
* Added sync instead of poweroff
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* pkg/build: share extractRootCause with openbsd
This should get kernel build errors reported in syz-ci console.
* Add a test
* lint
* pkb/build: extractRootCause for NetBSD too
|
|
|
* Add pkg/build support for NetBSD
* Fix length of characters
|