Skip to content

Releases: includeos/IncludeOS

Standalone IP stack, Ping etc.

28 Oct 13:51
Compare
Choose a tag to compare
Pre-release

Since alpha usually means a release, and we haven't released anything yet, we'll call all versions up to the first actual release vMajor.Minor.Patch-proto. We decided earlier that semantic versioning is nice, even before we release anything, so expect a lot of major versions, since we're going to redo the API all the time.

New in this version:

  • Standalone IP stack (so you can't get an IP stack instance via the interface anymore, which is an API change, and consequently this is a new Major release)
  • IncludeOS now answers to ping
  • There is a dedicated test folder which will build images named after the latest commit, or DIRTY
  • The IP stack is called Inet, and everything network related is in the namespace net
  • The UDP-service in ./examples/basic_udp will assign itself an IP based on the mac-address assigned to it from Qemu. Later this conversion will also be used reversly, in Arp.
  • We have a module system under way, and SQLite is the first module (it doesn't work yet)

Unstable UDP, Memory management, partial STL

28 Oct 13:51
Compare
Choose a tag to compare

Dangers:

  • Network buffers are not robust - if you spam the service with lots of UDP packets with no delay, it will break.
  • The whole service loads into the first MB of memory, and expands from there, ignoring things like video memory

New structure and build system

28 Oct 13:51
Compare
Choose a tag to compare
Pre-release
  • The OS now builds into a static library, os.a, which gets installed for re-use. This also has the effect of allowing the linker to only extract the OS-objects required by the service.
  • A new service can be created by copying the ./seed, which contains everything necessary to start developing.
  • The "public" ABI is separated from the OS-specific headers.

Standard C library Included (sort of)

28 Oct 13:49
Compare
Choose a tag to compare
Pre-release
  • The bootloader now loads the image in 32-bit code using LBA-mode (no bios-calls, no CHS)
  • newlib is ported and works nicely so far (printf, malloc etc.) - but syscalls are only stubs.

Still a lot of issues, but at least now we can print hexadecimal values:-)