[Pharo-dev] [ANN] PharoNOS

jan.struz public+pharo at struz.cz
Sat Mar 18 19:30:40 EDT 2017

I successfully ported SqueakNOS to Pharo, and want to share it with you! 
It works with Pharo 4.0 image, networking included, ping works!

What is different:
- I use my own CMake build file, with "out-of-tree" build support, instead
of "build.xyz" directories inside source tree + some template scripts to
build any VM type, but it is not complete...
- I use  MUSL <http://www.musl-libc.org/>   instead of GlibC,
cross-compiling GlibC statically on 64bit for 32bit seems impossible, but
anyway I use 32bit environment to build it
- It works with pre-opensmalltalk-vm migration directory structure, so the
"sync" with latest trunk remains #TODO, or maybe start a new branch again
from the latest upstream commit should work too
- freetype is included, but will not load any fonts, since the filesystem
driver is image-side... so you will need to make new fonts embedded, if you
want them
- known issues: image snapshot and fileout are not working, current
date+time hacked to make fat32 timestamps work
- revision needed: timer (heartbeat) vs. GC vs. interrupts enable/disable
- there are even some hacks to image-side methods

PharoNOS platform directory sources: [pharonos branch]
SRC: https://gitlab.com/johnnyzz/pharonos

VM sources: [dev branch]
SRC: https://gitlab.com/johnnyzz/pharo-vm
- added platform directory, build scripts and CMake templates
- added VMMaker configs

Build Environment (32bit) - Docker image repository, with CI:

PharoNOS CI (uses previous Docker image):
CI: https://gitlab.com/johnnyzz/pharo-nos-build

How to run it:
You can download fresh disk image from CI and then run:
(sudo) kvm -hda build/NOS.img -enable-kvm -cpu kvm32 -vga qxl -m 256 -netdev
tap,id=user.3,ifname=tap2,vhost=on -net nic,model=rtl8139,netdev=user.3
-global isa-fdc.driveA= -serial stdio

One more thing:
Statically linked Pharo Spur32 (headless) VM, with only one dependency -
Linux kernel:
CI: https://gitlab.com/johnnyzz/pharo-build-static
Size: 2,4MB (too big?, but Freetype included too!)



Save The World!
View this message in context: http://forum.world.st/ANN-PharoNOS-tp4939247.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20170318/26c62ec8/attachment.html>

More information about the Pharo-dev mailing list