SmartOS is a free and open-source SVR4 hypervisor based on the UNIX operating system that combines OpenSolaris technology with bhyve and KVM virtualization. Its core kernel contributes to the illumos project. It features several technologies: Crossbow, DTrace, bhyve, KVM, ZFS, and Zones. Unlike other illumos distributions, SmartOS employs NetBSD pkgsrc package management. SmartOS is designed to be particularly suitable for building clouds and generating appliances. It was originally developed for and by Joyent, who announced in April 2022 that they had sold their business supporting and develo
You can interact with the SmartOS community in a number of ways. This includes: If you encounter a problem, please reach out for assistance. You can file a GitHub issue for any problem you encounter. When filing a bug, please include the platform version that you're running and a description of the problem. While there are multiple repositories that make up the smartos-live image, if you're in doubt about where to file a bug or just are uncertain, please file it on the SmartOS live issue tracker and we'll help from there. It's more important that the bug is recorded and we can work on solving it than it end up in the right location. The smartos-live repository is the root of SmartOS. It has logic for how to build all of the different components that make up SmartOS and has components that are specific to the SmartOS live image environment. For example, it has tools like vmadm and imgadm . The illumos-joyent repository is the core of the operating system. It represents SmartOS's child of illumos-gate. This has the core kernel, libraries, and user commands. The illumos-joyent code can be found in the smartos-live tree under projects/illumos . The SmartOS build only supports using illumos-joyent and not stock illumos-gate. 1. Software which is held at a specific version that is required for the platform to build. For example, GNU binutils fall into this category. 1. Software which is required for illumos-gate to build and is required at run time. This category includes things like OpenSSL and libz. 1. Extra software that we want to exist in the platform image at run time. This category includes software like bash, curl, and Node.js. illumos-extra serves to make sure that we have the specific versions of software that we require at build time. The theory is that given a basic working build machine of any illumos vintage, we can build the rest of the platform and get the specific patched versions of software we need from illumos-extra. The illumos-extra code can be found in the smartos-live tree under projects/illumos-extra . illumos-extra will build the software at least once, but possibly more times. For example, most software doesn't support building both a 32-bit and 64-bit version of itself. We also build software that's required to build the platform image against the host-system during a bootstrap phase. For each version, we'll create a directory that uses the name and version of the software appended with the bitness of the version and whether or not it's the bootstrap phase. For example, if we were building zlib-1.2.3.tar.gz, we'd see the following directories: Finally, while many tarballs are part of the repository, to keep down the ever increasing size of the repository, we are transitioning to having the contents stored externally and downloaded initially as part of the set up process. Because of changes in our build system regarding python3, you'll need to use a platform that includes OS-8397. Release builds as of 20220728T031731Z will satisfy this requirement. To create a zone, you need to create a joyent branded zone with vmadm . We recommend that the zone have the following attributes: For more information, please see the vmadm manual page and its EXAMPLES section. Once written, you can validate your JSON file by running vmadm validate . For example, if your JSON file was in /var/tmp/build.json you would run: 1. Make sure that the user has the 'Primary Administrator' privilege. There are occasional parts of the build that require administrator privileges and these will use pfexec to do so. To add a user to the primary administrator role, as the root user in the zone, you should run: 2. Make sure that the user's shell is set to /bin/bash . There have occasionally been build issues when using different shells. Ultimately, those are bugs. If you do use another shell and encounter issues, please tell us. With this, you should be all set in your new environment. The normal build process will make sure tha
~3 min read
SmartOS is a free and open-source SVR4 hypervisor based on the UNIX operating system that combines OpenSolaris technology with bhyve and KVM virtualization. Its core kernel contributes to the illumos project. It features several technologies: Crossbow, DTrace, bhyve, KVM, ZFS, and Zones. Unlike other illumos distributions, SmartOS employs NetBSD pkgsrc package management. SmartOS is designed to be particularly suitable for building clouds and generating appliances. It was originally developed for and by Joyent, who announced in April 2022 that they had sold their business supporting and developing of Triton Datacenter and SmartOS to MNX Solutions.
SmartOS is an in-memory operating system and boots directly into random-access memory. It supports various boot mechanisms such as booting from hard drive, USB thumbdrive, ISO Image, or over the network via PXE boot. One of the many benefits of employing this boot mechanism is that operating system upgrades are trivial, simply requiring a reboot from a newer SmartOS image version.
Excerpt from the source-code README · 43,847 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).