Skip to content
Henryk Paluch edited this page Jul 28, 2024 · 2 revisions

OmniOS

OmniOS is minimal (Open)Solaris based system - it installs on ZFS. To quote homepage: https://omnios.org/

The Open Source Enterprise Server OS with just the features you need.

Please note that OpenSolaris community is centered around several projects:

Tested:

Tested as VM under Proxmox (1 CPU, 2GB RAM), BIOS mode, SPICE graphics (actually used just VGA text mode, but it is required to enable Spice console in Proxmox)

Also tested on bare-metal on MSI-7250 (MCP55 Force chipset with AMD X2 CPU).

WARNING!

When booted in GUI mode (default) I was unable to see menu entries (they were very dark blue on black). I resolved that problem by switching mode to text in OS Loader menu.

  • when graphic loader appears press 5 -> Configure Boot Options
  • press 8 -> Graphical Console: Off

Please see

Note: In my case I disabled ZFS compression in Setup menu, because I have only 2 cores at 2GHz so each CPU cycle counts. Even worse - on VM only 1 core is available in my case (because Hypervisor needs at least 1 core to handle system tasks)...

To list all available packages try:

pkg list -a

Important: If you update system with pfexec pkg update - you should reboot before installing anything with pkg install ... - otherwise packages will be installed to old (currently running) system and will be lost after reboot (!).

Tip: there is no top utility on default install (can be installed with pkg install top) - you can use similar prstat. To get administrator access you should use pfexec COMMAND (similar to sudo on other systems).

Tip: Messages (including some kernel boot messages) are in file /var/adm/messages.

Tip: Solaris abandoned clear and reliable init scripts with something called smf(7) - you can see services with svcs(1) command and logs are in /var/svc/log. Services use XML manifests, for example /lib/svc/manifest/network/ssh.xml.

My impression is similar to SystemD - there were many critical bugs when Sun Portal Server 7.1 moved to SMF - for example SMF killed Sun Directory servers with -9 signal too soon causing massive corruption of LDAP databases (using infamous BerkeleyDB backend) - after system reboot one has often to restore LDAP databases from backup (or from LDAP replica).

Similarly SRAP smf scripts were completely rubbish - they just checked for running java process to detect if service is running. But Sun Portal 7.1 used many java processes - so typically SRAP did not start because there was already another java process running...

Hopefully current SMF will work better...

Also I installed mc using pkg install ooce/application/mc

I was unable to test virtualization support:

  • did not find kvmadm anymore
  • bhyve does not support my CPU (AMD Opteron X2), because there is no "nested paging" support

NVidia MCP55 LAN driver

Under Linux Network card is visible as:

lspci -s 00:08 -nnv
00:08.0 Bridge [0680]: NVIDIA Corporation MCP55 Ethernet [10de:0373] (rev a2)
	Subsystem: Micro-Star International Co., Ltd. [MSI] MCP55 Ethernet [1462:7250]
...

Good News! Under OmniOS installer LAN card is visible as ngeX (I was not expecting that because there is no nge(4d) manual page....

Not needed - 3rd party LAN drivers:

Thanks to already included nge driver that works fine I don't need to use 3rd party driver below. Following text is just for reference for curious users.

There exist 3rd party drivers on http://freenicdrivers.la.coocan.jp/ - with "nfo" drivers - but not sure if there is also my MCP55 card supported. I did not test it yet...

Looking into 3rd party driver source (in Linux):

curl -fLO http://freenicdrivers.la.coocan.jp/taiyodo/nfo-2.6.6.tar.gz
tar xvzf nfo-2.6.6.tar.gz 
cd nfo-2.6.6/
fgrep '0x10de, 0x0373' nfo_gem.c 

0x10de, 0x0373, "type15 (nForce570 Ultra, 680a, MCP55)",	CAP_MCP55,

So it should work - but we have to boot OmniOS in VM and build driver...

Trying to follow https://omnios.org/info/getstarted.html to install development environment:

$ pkg list -a 'developer/gcc*'

NAME (PUBLISHER)                                  VERSION                    IFO
developer/gcc10                                   10.5.0-151050.0            ---
developer/gcc12                                   12.3.0-151050.0            ---
developer/gcc13                                   13.2.0-151050.0            ---
developer/gcc7                                    7.5.0-151050.0             im-

$ pfexec pkg install developer/gcc7 system/header

Preparing source on OmniOS:

gzcat nfo-2.6.6.tar.gz | tar xvf -
cd nfo-2.6.6
ln -sf Makefile.amd64_gcc Makefile
ln -sf Makefile.config_gld3 Makefile.config
rm obj
ln -s amd64 obj
# command below is needed to really do build, because there are
# pre-made binaries from 2011 year.
/usr/ccs/bin/make clean
/usr/ccs/bin/make

NOTE: I will not install driver, because it is not needed in VM, but I have to copy out to another computer compiled driver: amd64/nfo

tar cvf ~/nfo.tar amd64/nfo
# and copy ~/nfo.tar to another computer

Here are files that I put to floppy drive (will be used to transfer them to OmniOS without network access):

ls -lR

...

./omnios:
total 288
-rwxr-xr-x 1 root root 250325 Jul 28 06:52 nfo-2.6.6.tar.gz
-rwxr-xr-x 1 root root  44078 Jul 28 06:52 nfo.tar.gz
Clone this wiki locally