Software

11 Beiträge

VenusOS on BananaPI

During my journey to fix the Greenrock Carbocap Batteries I don’t want to directly mess with the VenusOS installed on the „Greenrock Controller“, so I wanna install a fresh device from the RaspberryPI images but… I only have a BananaPI BPI-M5 at hand, so let me see if I can get it running on that:

Successfully unboxed the BananaPi-M5

Downloaded image from here: https://wiki.banana-pi.org/Banana_Pi_BPI-M5 and installed the BPi-tools and wrote the image to an microSD card:

$ apt-get install pv
$ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
$ sudo bpi-copy xxx-bpi-m5-xxx.img.zip /dev/sdX

For more details see the docs. After ejecting the SDCard from the PC booting the BananaPI from it, and move the image to the EMMC, after login in to the BananaPi

$ apt-get install pv unzip
$ unzip -p xxx-bpi-m5-xxx.img.zip | pv | dd of=/dev/mmcblk0 bs=10M status=noxfer

And now add the Victron packages as documented

OK, I give up. The achritecture used by the BananaPi is not supported and I failed to do it in a multi-arch way – was some ARM 32 vs 63 bit issue, but it was not worth the effort, so I went bach to the beaglebone, that anyhow comes with the Greenrock. Tata, booting from the SDCard and adjusting the root password makes is easy going. Just take care about the right partition – the backup rootfs from the last firmware upgrade is still around.

Being root makes it easy to unlock the VRM remote console and we are free to configure what we want.

Liberty Eiffel

Habe ich schon mal erwähnt, dass ich währen meines Studiums einigen Kontakt mit der Programmiersprache Eiffel hatte und mich dann recht früh für den freien Compiler SmartEiffel interessierte? – Lieder ist dieser mittlerweile mehr oder weniger tot und wird nicht mehr gepflegt. Die Interessen der Autoren haben sich wohl etwas von SmartEiffel abgewandt.
Liberty Eiffel Logo
Ein kleines Team hat sich dann entschieden auf der Basis von SmartEiffel einen neuen Eiffel Compiler LibertyEiffel zum Leben zu erwecken. Das ist nun gut 3 Jahre her und es ist viel passiert, auch wenn es bisher noch kein release gab – was aber so wie es aussieht in nächster Zeit geschehen wird. LibertyEiffel implementiert einen etwas anderen Dialekt als der kommerzielle Marktführer ISE – man könnte ihn traditioneller nennen – und gerade das mag ich an dieser Sprachvariante.

Die Ziele einen komplett neuen Compiler „from scratch“ zu schreiben sind zwar mittlerweile erstmal auf Eis gelegt und man pflegt die SmartEiffel-codebasis noch etwas, trotzdem ist Liberty auf dem Weg ein gebührender Nachfolger von SmartEiffel zu werden. Es wäre doch schade, wenn GNU keinen lebendigen Eiffel compiler mehr hätte.

Gallery: notice: Undefined index: dynamicLinks

Nach einem Serverupdate hatte ich das Problem, dass die Foto-Links in meiner Galerie nicht mehr funktioniert haben und stattdessen auf „notice: Undefined index: dynamicLinks…..“ gezeigt haben. Der PHP-Code der Gallery2 scheint hier nicht ganz rein zu sein und die Umstellung der Variable „error_reporting = E_ALL & ~E_DEPRECATED“ in der php.ini führte dazu, dass die Verwendung eines nicht existierenden keys in einem hash die PHP-notice generierte. Da ich die Gallery nicht bereinigen wollte stellte ich kurzerhand error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE und es lief problemlos.

Im Errorlog des Webservers sah das übrigens etwa so aus:
PHP Notice: Undefined index: dynamicLinks in /var/g2data/smarty/templates_c/%%626616196/ramack_public/%%99^994^994B9C9C%%album.tpl.php on line 83, referer: ...

What is a compiler?

A compiler is a tool to protect a programmer from himself

Yes, I do like statically typed languages like Eiffel and use perl only if there is some project requirement that forces me to do so.