Hi Jan, I feel kind of stupid but I can not find how to download a disk image to bootstrap... I don't see them on gitlab, could you give me a hint? :-) Thanks! Hernan. On Sat, Mar 18, 2017 at 8:30 PM, jan.struz <public+pharo@struz.cz> wrote:
Hi, 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:* https://gitlab.com/johnnyzz/dev-build
*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!)
enjoy
Jan Save The World!
------------------------------ View this message in context: [ANN] PharoNOS <http://forum.world.st/ANN-PharoNOS-tp4939247.html> Sent from the Pharo Smalltalk Developers mailing list archive <http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html> at Nabble.com.
-- *Hernán WilkinsonAgile Software Development, Teaching & Coaching* *Phone: +54-011*-4893-2057 *Twitter: @HernanWilkinson* *site: http://www.10Pines.com <http://www.10pines.com/>* Address: Alem 896, Floor 6, Buenos Aires, Argentina