Category Archives: Raspberry Pi

Inferno-rpi-0.6 release

Releasing Inferno-rpi-0.6 Changes: * Added devi2c * Added devspi * Added devgpio (GPIO) * Minor changes/adjustements * Boot to kernel-nogui.bin by default. Change config.txt or enter ; wm/wm Download: * https://bitbucket.org/infpi/inferno-rpi/downloads/inferno-rpi-0.6.zip Installation: 1. Download latest zip package from https://bitbucket.org/infpi/inferno-rpi/downloads 2. Pepare SD card with first DOS partition with size less than 250 MB (vfat32 support […]
Also posted in Blog, Inferno OS, Projects, Release | 4 Comments

Inferno-rpi-0.5 release

Releasing Inferno-rpi-0.5 Changes: * Fixed wrong calculatons of memory pool sizes. * Support of Pi-1 models with 512MB RAM. * Update of sources from 9pi project: usbdwc, emmc, etherusb. * Added uartmini module from 9pi. * Use Mntgen by default for /n, /n/local, /n/remote * Boot to kernel-nogui.bin by default. Change config.txt or enter ; […]
Also posted in Blog, Inferno OS, Projects, Release | 2 Comments

Wrong size of memory pools – dumb

Occasionally I had a look at /dev/memory: What I saw there? ; cat /dev/memory 2282656 14018478 2314496 14149 6246 18 11735810 main 492768 7009239 499488 110133 106946 4 6516459 heap 4960 14018478 4960 8 1 1 14013506 image ; What? I run my Inferno just on 14+7+14 = 33MB memory? (yep and it still runs […]
Also posted in Blog, Inferno OS, Misc, Research | Leave a comment

Inferno-rpi-0.4 release

Releasing Inferno-rpi-0.4 Changes: * Significant performance improvement due to fixed error in process scheduling/idle * Boot time is about ONE second :) Download: * https://bitbucket.org/infpi/inferno-rpi/downloads/inferno-rpi-0.4.zip Installation: 1. Download latest zip package from https://bitbucket.org/infpi/inferno-rpi/downloads 2. Pepare SD card with first DOS partition with size less than 250 MB (vfat32 support is not complete) 3. Unzip all […]
Also posted in Blog, Inferno OS, Release | 1 Comment

Performance

I continue testing the performance. I made a SD card with 100MB partition and changed config.txt to boot directly kernel. And WOW! It looks like the whole OS is loaded up to wm/wm in just 1 sec! ps. for some reason mice does not work, probably need some adjustments for usb mice driver…
Also posted in Blog, Inferno OS, Research, Usb | Leave a comment

Performance, loop 4, solution

I decided to make some simple and temporal solution (but maybe permanent? :) ) In os/port/dis.c in vmachine() have static var indicates when GC was completed last time and start new routine of GC only when at least 500 msecs passed: void vmachine(void*) { Prog *r; Osenv *o; int cycles; static ulong lastgcmsec =0; startup(); […]
Also posted in Blog, Inferno OS, Research | Leave a comment

Performance, loop 3

When look deeper into tracing what happens when print() is casted I tried to minimize all codes – copied code of sieve into rpiinit.b, removed everything extra, so whole rpi start does only math/sieve. Then if press ^T^Tp (Ctrl+T,Ctrl+T,p) I see in console list of processes (not dis progs, but processes): idleticks:0 f3e148: 1: interp […]
Also posted in Blog, Inferno OS, Research | Leave a comment

Performance, loop 2

There are still problem with performance, after some experiments i distilled it to next case: Execution of time math/sieve 1000000 >/dev/null takes about 170 secs Execution of modified math/sieve with commented print() takes only about 3 secs. So there is a real problem of using syscalls which operates with filesystems. (because even print()/fprint() leads to […]
Also posted in Blog, Inferno OS, Research | Leave a comment

Problem with dossrv

Just made new attempt with new SD card and found that with defaults: 4GB dos formatted (full sd) is not mounted during boot. With booting kernel-nogui.img I got a console and had a look. Looks like dossrv has problems with supporting large partitions. So for now if you would like to boot 0.3 release please […]
Also posted in Blog, Inferno OS | 1 Comment

Inferno-rpi-0.3 release

Releasing Inferno-rpi-0.3 Changes: * Enabled JIT * Included recent updated of Inferno-Os * Memory split 240/16 * devcons is added Download: * https://bitbucket.org/infpi/inferno-rpi/downloads/inferno-rpi-0.3.zip Installation: 1. Download latest zip package from https://bitbucket.org/infpi/inferno-rpi/downloads 2. Pepare SD card with just one DOS partition (just format into the dos) 3. Unzip all files to SD (boot.scr, kernel.bin, … – […]
Also posted in Blog, Inferno OS, Projects, Release | 2 Comments

JIT is ON

My research about JIT in inferno-rpi is ended. The cause was obvious but until you does not know about and search through sources, doing debugging, tracing, experimenting – you would not know what it is. So it is simple – DIS op codes are compiled into ARM machine routines and when compilation is finished it […]
Also posted in Blog, Inferno OS, Research | Leave a comment

JIT is off

I decided to have a look at the problem of speed – it is really visible that inferno os on raspberry is slow. My fisrt opinion was about probably disabled caches, but I was wrong – it works fine. After keeping searching I realized that Inferno-Rpi is actually has JIT off. Oops! That is controlled […]
Also posted in Blog, Inferno OS, Research | Leave a comment

Inferno-Rpi: project moved

Due to the closure of google code, the project is now moved to: https://bitbucket.org/infpi/inferno-rpi Also added some minor changes and merged with latest inferno-os codebase changes. So returning a little to the project activity and think to keep the project based on dos partition which will be very simple for demo purposes. Also think to […]
Also posted in Blog, Embedding, Inferno OS | Leave a comment

Inferno-Rpi boot from dos partition

Just to simplify installation I decided to put all needed files onto fat partition and bind them in init script. So everything is much simple as all your files are on fat partition and easy accessible if you put SD into another computer to copy move etc files. No need to play with partitions and […]
Also posted in Blog, Inferno OS, Release | 2 Comments

Inferno raspberry pi image – beta release (beta1)

We are happy to announce the beta release of native port of Inferno OS to Raspberry Pi. There are some important points reached for this stage: 1. Mouse driver 2. Working wm/wm 3. Default memory split 240/16 4. A lot of small fixes and polishing Download Link (~23MB) Repository: http://code.google.com/p/inferno-rpi/
Also posted in Blog, Inferno OS, Release, Research | 10 Comments

Inferno raspberry pi image – alpha release (alpha1)

So, we reached the point when we are able to package some small distribution. It can: 1. Boot Kernel 2. Mount file system (kfs) 3. Init Usb subsystem 4. Load Keyboard driver (usb) 5. Load Ethernet driver (usb) 6. Initialize Net subsystem, obtain IP via DHCP 7. Start ndb/cs 8. Launch shell – console It […]
Also posted in Blog, Inferno OS, Misc, Projects, Release, Research | 2 Comments

Lab 26, floating point

In Lab 19 we found a problem that kernel raises exception “Undefined instruction” and stops working. It happens on running JIT arm codes produced by Dis. Now it is time to have little review. In Lab 19 I just added sources used in 9pi for handling floating point exceptions but commented real call fpemu() – […]
Also posted in Blog, Inferno OS, Research | Leave a comment

Lab 25, network, part 2

After the Lab 24 when we prepared the layout I took serious study of the ways to implement the ethernet driver. And I found that there is actual convergence of 2 ways of implementation that I saw in previous lab. Comparing to implementation of ethernet driver in C (ether.c, smsc.c) it is enough to have […]
Also posted in Blog, Inferno OS, Projects, Research, Usb | 3 Comments

Lab 24, network, part 1

This lab will be short; we will add all network modules needed for network layout and make a roadmap how to make the Raspberry Pi ethernet driver. First have a look at other ports and inferno and find what is needed to compile with network support.
Also posted in Blog, Inferno OS, Research | 1 Comment

Lab 23, hard disk or SD card

Before this Lab, the only way to bypass information to our Raspberry Pi machine, was the TFTP which downloads kernel from development machine (used Mac). Because kernel also includes root filesystem, we can embed some files there to have minimal read-only filesystem which allows to run dis files and do some testing, like experimenting with […]
Also posted in Blog, Inferno OS, Research | 2 Comments