Releases: nanovms/nanos
Releases · nanovms/nanos
fuse / mgmt / multi-interface
0.1.34 support static configuration and DHCP on multiple network interfaces …
tsc / aarch64 / minvim / balloon
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
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
radar/ntp klibs
large binaries fix
klog explorer
/proc/self/exe fix
tfs log fixes
initial nvme/ena support
udp net console
trace/smp
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
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
hyper-v
esx, aio, page-cache
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
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.