PharoNOS - Pharo No Operating System

Do you remember Squeak NOS Project which aim was to run Squeak on a bare hardware? I liked the idea very much as Smalltalk always tends to provide self-sufficient system. However, I was not able to play much with it as it has very small hardware support. I was hardly able to use my mouse. Lately I had a thought: why not to use a linux kernel for driver support and use Pharo for everything else? Please welcome PharoNOS: a bootable Pharo which can be run on a "bare hardware" or as a Virtual Machine.

The ISO image consists of a minimal amount of utilities. The size of the distribution file is just 60 Mb! In the runtime Linux footprint is really small: around 60Mb of RAM. All other resources of a host system are dedicated for Pharo only.


You may download the latest ISO image of the project via this link:

Quick start

Installation process is very straightforward. Just boot up you computer (or VM) from the ISO image file. After the boot you should see the Pharo Image Launcher enviroment which is running on "bare hardware".

The startup scripts is written to automate most of the things so no installation wizard is needed. It automaticly configures the disk for persistance and uses DHCP to configure network interfaces.

Disk configuration finds a disk without a partion table and uses it to store user data. If no such disk can be found PharoNOS will work using RAM disk so no changes will be restored after reboot.

Booting the ISO may erase data from your disks without a prompt so please backup and use it carefully on real computers.

PharoNOS primary goal is to be run in a cloud envrionment so the priority is automation over the safety of a disk.


All available space is mounted under /mnt/universe/ folder and this is the place where all user files should be stored. Other folders are stored in memory so they are reset every reboot.

Nice side effect of this is an ease of update as you may just replace the ISO and you'll get the new version of everything (except for the image file of course).

The path to a default Pharo Image configured in /mnt/universe/image file. So if you upload you Image file to system you have to change this file in order to make system boot from it. In future I plan to add some more convinient mechanizm to run Image.


PharoNOS is loading PharoLauncher image by default. It allows you to manage images you have in your system. Every time you quit from your image the system will fall back to the Pharo Launcher.

Keyboard layout

If you want to configure non-US keyboard layout you can execute following commands with OSProcess package:

setxkbmap -layout us,de
setxkbmap -option grp:ctrl_shift_toggle

Those commands will add German layout to the system and you will be able to switch using ctrl+shift keys.


Here I'll putt the list of extensions I put to the ISO so you may know what to expect:

  1. Xlibs
  2. cairo
  3. sqlite3

Please try it and share your thouths on this with me :).

More on the subject

  1. Mailing list thread: