Skip to content

Releases: nanovms/nanos

fuse / mgmt / multi-interface

27 Apr 14:13
adbaa4c

Choose a tag to compare

Pre-release
0.1.34

support static configuration and DHCP on multiple network interfaces …

tsc / aarch64 / minvim / balloon

08 Apr 23:55

Choose a tag to compare

Pre-release
PC platform vm_exit(): fix handling of reboot_on_exit flag

The PC platform code that handles a VM exit should reference the
root_fs global variable (defined in kernel/init.c), which holds a
pointer to the root filesystem, instead of a static variable that
is never set.

arm/smp/ntp

03 Mar 18:30

Choose a tag to compare

arm/smp/ntp Pre-release
Pre-release
Syscalls: stat(): set st_blocks and st_blksize for regular files

st_blocks contains the number of 512-byte blocks allocated for a
file, while st_blocksize contains the "preferred" block size for
efficient filesystem I/O.

ntp klib, / nvme/ena, klog explorer, large bins

28 Jan 19:14

Choose a tag to compare

radar/ntp klibs
large binaries fix
klog explorer
/proc/self/exe fix
tfs log fixes
initial nvme/ena support
udp net console

trace/smp

04 Dec 19:11
ff24094

Choose a tag to compare

trace/smp Pre-release
Pre-release
Merge pull request #1350 from nanovms/misc-fixes

some minor fixes:

- kernel_shutdown* funcs assumed the kernel lock was held. Change to checking if it is held on the local cpu before calling storage_sync and releasing the lock. If it isn't, schedule a thunk on the runqueue to run storage_sync.
- A pagecache write should only add to runqueue completions for pages in reading state, not bhqueue. Also close out merge on alloc failure.
- Improve reporting of unhandled signals with a terminal disposition and add thread logs for signal dispatch.

klibs

16 Nov 20:58

Choose a tag to compare

klibs Pre-release
Pre-release
Add telemetry functionality

This commit implements sending at each boot an HTTPS POST request
to the radar server. This functionality is enabled when the
environment contains a RADAR_KEY entry, for example:
environment:(NANOS_VERSION:0.1.28 OPS_VERSION:0.1.13
RADAR_KEY:eyJhbGciOiJIUzI1NiIsIGrAJrvhT7bwnPEqYp3kofAMCVoK2CTJ6eQ).
The telemetry functionality is implemented in the radar klib, which
depends on the TLS klib, which is being added as part of this
commit.
The telemetry client verifies the server certificate when
establishing a TLS session, using a PEM certificate hardcoded in
the radar klib.

A unique boot identifier is generated at each boot and sent in the
HTTPS request, along with the Nanos and Ops version numbers if
found in the environment.

The TLS klib uses the Mbed TLS library, which is imported from a
separate git repository.

volumes

09 Oct 13:03
610406e

Choose a tag to compare

volumes Pre-release
Pre-release
Merge pull request #1304 from nanovms/smp-fix-2

more smp fixes

hyper-v

13 Aug 20:24
882d098

Choose a tag to compare

hyper-v Pre-release
Pre-release

io_uring,page cache, apic, hyper-v

esx, aio, page-cache

22 Jun 14:47

Choose a tag to compare

esx, aio, page-cache Pre-release
Pre-release
Kernel ELF file: move from root filesystem to boot filesystem

This commit adds a new partition, containing the "boot filesystem",
and moves the kernel file from the existing root filesystem to the
new boot filesystem. This prevents the user process from accessing
(and possibly overwriting) the kernel file.
As a side effect, stage2, which now loads the boot filesystem, no
longer needs to load metadata for the entire root filesystem, which
was unnecessary overhead at boot time.
The location of the root filesystem is no longer derived from the
REGION_FILESYSTEM memory region, but is found from the MBR
partition table.
The contents of the boot filesystem are specified in the manifest
file via the "boot" tuple. If such tuple is not found in a given
manifest, for backward compatibility the mkfs tool retrieves the
kernel from the root tuple.

sendfile fixes && domain sockets

07 Apr 17:44

Choose a tag to compare

Pre-release
socketpair: re-implement using Unix domain socket code

Beside reducing code duplication, this change fixes a logical issue
with the previous socketpair implementation, in that a socket pair
was using a single data buffer shared between the two sockets (so
an application could read from a socket the data that had been
written to the same socket), whereas in a correct implementation
each socket in a pair has its own buffered data, and data witten to
one socket can only be read from the other socket.