Category Archives: DE

lynxis: Bisecting coreboot with LAVA

Since long time ago I was inspired of the features of LAVA (Linaro Automated Validation). Lava was developed by Linaro to do automatic test on real hardware. It's written in python and based on a lot small daemons and one django application. It's scheduling submitted tests on hardware depending on the rights and availability. Setting up an own instance isn't so hard, there is an video howto. But Lava is changing it's basic device model to pipeline devices to make it more flexible because the old device model was quite limited. Our instance is available under https://lava.coreboot.org. Atm. there is only one device (x60) and we're looking for help to add more devices.

coreboot is under heavy development around 200 commits a month. Sometime breaks, most time because somebody refactored code and made it simpler. There are many devices supported by coreboot, but commits aren't tested on every hardware. Which means it broke on some hardware. And here the bisect loop begins.

Lava is the perfect place to do bisecting. You can submit a Testjob via commandline, track Job and wait until it's done. Lava itself takes cares that a job doesn't take to long. To break down the task into smaller peaces:

  • checkout a revision
  • compile coreboot
  • copy artefact somewhere where Lava can access it (http-server)
  • submit a lava testjob
  • lava deploys your image and do some tests

Git itself supplies a command for bisecting and can run a certain script. So git-bisect does the binary search for the broken revision, checks out the next commit which needs to be tested. git bisect run a small script and uses the return code to know if this is a good or bad revision. Or if the compilation fails, skip revision.

Before the bisecting can begin, it needs a Lava Test Job written in yml. Under https://github.com/lynxis/coreboot-lava-bisect is my x60 bisect script together with a Lava Test Job for the x60. It only checks if coreboot is booting. But you might want to test something else, is the cdrom is showing up? Is the wifi card properly detected? Checkout the lava documentation for more information about how to write a Lava Testjob or a Lava Test.

To communicate with Lava on the shell you need to have lava-tool running on your workstation. See https://validation.linaro.org/static/docs/overview.html

With lava-tool submit-job $URL job.yml you can submit a job and get the JobId. And check the status of your job with lava-tool job-status $URL $JOBID. Depending on the job-status the script must set the exit code. My bisect script for coreboot is https://github.com:lynxis/coreboot-lava-bisect

cd coreboot
# CPU make -j$CPU
export CPU=4
# your login user name for the lava.coreboot.org
# you can also use LAVAURL="https://$LAVAUSER@lava.coreboot.fe80.eu/RPC2"
export LAVAUSER=lynxis
# used by lava to download the coreboot.rom
export COREBOOTURL=https://fe80.eu/bisect/coreboot.rom
# used as a target by *scp*
export COREBOOT_SCP_URL=lynxis@fe80.eu:/var/www/coreboot.rom
git bisect start
git bisect bad <REV>
git bisect good <REV>
git bisect run /path/to/this/dir/bisect.sh

lynxis: Bisecting coreboot with LAVA

Since long time ago I was inspired of the features of LAVA (Linaro Automated Validation). Lava was developed by Linaro to do automatic test on real hardware. It's written in python and based on a lot small daemons and one django application. It's scheduling submitted tests on hardware depending on the rights and availability. Setting up an own instance isn't so hard, there is an video howto. But Lava is changing it's basic device model to pipeline devices to make it more flexible because the old device model was quite limited. Our instance is available under https://lava.coreboot.org. Atm. there is only one device (x60) and we're looking for help to add more devices.

coreboot is under heavy development around 200 commits a month. Sometime breaks, most time because somebody refactored code and made it simpler. There are many devices supported by coreboot, but commits aren't tested on every hardware. Which means it broke on some hardware. And here the bisect loop begins.

Lava is the perfect place to do bisecting. You can submit a Testjob via commandline, track Job and wait until it's done. Lava itself takes cares that a job doesn't take to long. To break down the task into smaller peaces:

  • checkout a revision
  • compile coreboot
  • copy artefact somewhere where Lava can access it (http-server)
  • submit a lava testjob
  • lava deploys your image and do some tests

git-bisect does the binary search for the broken revision, checks out the next commit which needs to be tested. But somebody have to tell git-bisect if this is a good or bad revision. Or you use git bisect run. git bisect run a small script and uses the return code to know if this is a good or bad revision. There is also a third command skip, to skip the revision if the compilation fails. git-bisect would do the full bisect job, but to use lava, it needs a Lava Test Job. Under https://github.com/lynxis/coreboot-lava-bisect is my x60 bisect script together with a Lava Test Job for the x60. It only checks if coreboot is booting. But you might want to test something else. Is the cdrom is showing up? Is the wifi card properly detected? Checkout the lava documentation for more information about how to write a Lava Testjob or a Lava Test.

To communicate with Lava on the shell you need to have lava-tool running on your workstation. See https://validation.linaro.org/static/docs/overview.html

With lava-tool submit-job $URL job.yml you can submit a job and get the JobId. And check the status of your job with lava-tool job-status $URL $JOBID. Depending on the job-status the script must set the exit code. My bisect script for coreboot is https://github.com/lynxis/coreboot-lava-bisect

cd coreboot
# CPU make -j$CPU
export CPU=4
# your login user name for the lava.coreboot.org
# you can also use LAVAURL="https://$LAVAUSER@lava.coreboot.fe80.eu/RPC2"
export LAVAUSER=lynxis
# used by lava to download the coreboot.rom
export COREBOOTURL=https://fe80.eu/bisect/coreboot.rom
# used as a target by *scp*
export COREBOOT_SCP_URL=lynxis@fe80.eu:/var/www/bisect/coreboot.rom
git bisect start
git bisect bad <REV>
git bisect good <REV>
git bisect run /path/to/this/dir/bisect.sh

Elektronenrad: Cargo Circus 2016!

Ab März ist der Cargo Circus wieder regulär geöffnet. Wie gewohnt gibt es feinstes Lastenrad am Stück.

Zur Probefahrt in unserer Filiale in Berlin stehen bereit:

  • KIFFY Fix Nummer 1
  • eBullitt Shimano STePS mit Alfine 8 DI-2 und BionX P-Serie mit Deore
  • Urban Arrow Family mit aktuellem BOSCH active Motor
  • BULLITT Race Alfine8 mit Gates Carboon Drive CRX und Pepper XT(!)
  • Bicicapace Speciale ala Sig. Francesco
  • und NEU 2016 ständig ab Lager verfügbar: All Colors, all Extras!!!

Elektronenrad: Cargo Circus 2016!

Elektronenrad: Cargo Circus 2016!

ESP – Party! 1.3.’16

hi all,

nächsten dienstag 17:00 Uhr wollen wir zusammen unsere ESP 8266 zum rennen bringen

kommt alle.



mitbringen:
- ESP 8266
- breadboards
- 3,3 V quellen
- FTDI 232 USB - seriell adapter
- jumper wires

the internet of all the things!

ESP - Party! 1.3.'16

OWASP Treffen & Vortrag: Ein lustiger Jahresrückblick: Die kuriosesten und spannendsten Webapp-Security-Funde eines IT-Sicherheitsunternehmens.

Gut Ding will Weile haben, „wenn mer Äbbes machet, no mach mers rächt“ und das dauert manchmal. Nun endlich am Montag, den 07. März 2016 ab 18:30 Uhr. der nächste Stammtisch Stuttgart.

Christoph Ritter wird uns mit dem Vortrag „Ein lustiger Jahresrückblick: Die kuriosesten und spannendsten Webapp-Security-Funde eines IT-Sicherheitsunternehmens.“ erfreuen.

Kurzfassung: Christoph Ritter hat die absonderlichsten und spannendsten Ergebnisse von Penetrationstests des letzten Jahres zusammengetragen. Dabei sind manch kuriose aber auch beeindruckende Funde zusammen gekommen. Ein Jahresrückblick der besonderen Art.

Event auf Xing.

Zum Event:
Eintritt frei! (Spenden an shack e.V. sind gerne gesehen) Jeder ist willkommen!
Datum: Montag, 7. März 2016 ab 18:30 Uhr
Anfahrt: U4/U9 Haltestelle “Im Degen”, Ulmer Straße 255, Stuttgart Wangen (gegenüber Kulturhaus Arena)

OWASP Treffen & Vortrag: Ein lustiger Jahresrückblick: Die kuriosesten und spannendsten Webapp-Security-Funde eines IT-Sicherheitsunternehmens.

Die Gentrifizierung der Hacker und Maker Szene

Der Hessische Rundfunk - eine der millionenschweren öffentlich-rechtlichen Landesrundfunkanstalten in Deutschland, macht diese Wochenende einen Hackaton. In den Infos dazu heißt es: "Es geht nicht darum, dass der hr sich billig gute Projekte liefern lassen will".

Der Kongress des CCC hatte 2015 über 10.000 Teilnehmer, die Hackerszene franst an den Rändern ganz enorm aus in die Makerspaces, in die Fablabs und auch in Startup-Inkubatoren wie das Betahaus.

Wieso nur hat diese Kommerzialisierung einen so unappetitlichen Beigeschmack?

Die umgedeutete Definition des StartUp Unternehmers im Technologiebereich zu einem "Hacker" ist Teil eines entstehenden Systems eines Silicon-Valley Doppeldenks, schreibt Brett Scott in seinem Text "The hacker hacked - The hacker ethos is wild and anarchic, indifferent to the trappings of success. Or it was, until the gentrifiers moved in".

Eine Parallelität sehe ich z.B. in der Entwicklung von gratis-Übernachtungsbörsen zu Game-Changern im Übernachtungsgewerbe wie AirBnb. "Sie werden assimiliert, Widerstand ist zwecklos" ist das implizite Motto des Kapitalismus. AirBnb treibt beispielsweise in Berlin die Gentrifizierung voran.

Uber frißt das Taxigewerbe, und was im Internet ursprünglich mit einer Ausschaltung der profitierenden Mittelsmänner begann, endet in einer Auflösung von geschützten und geregelten Arbeitsverhältnissen im großen Stil.

Vorerst empfinde ich nur Beunruhigung und Irritation - ich habe Sorge, dass der "Hacker" sich vereinnahmen läßt und hilft, das Internet (und unser System) weiter umzubauen - von einem Ort der ein gesellschaftlicher Gegenentwurf war (wie naiv auch immer), zu einem Marktplatz gieriger Turbokapitalisten und einer bizarren protofaschistischen Überwachungsmaschine.

Es liegt an uns. Ist es unser System? Hacking, then, looks like a practice with very deep roots – as primally and originally human as disobedience itself. Which makes it all the more disturbing that hacking itself appears to have been hacked. (Scott)

Workshop: User Interfaces mit React & Virtual DOM

Am Samstag den 13. Februar 2016 um 14 Uhr freut sich shackspace einen Workshop zum Thema User Interfaces mit React & Virtual DOM anbieten zu können.

Im Rahmen des Workshops wird mit Hilfe von React und Virtual DOM eine Bentuzerschnittstelle implementiert. Voraussichtliches Ende: 18 Uhr.

Der Workshop richtet sich an alle Interessierten, auch und speziell an komplette React-Neulinge.

Bei Fragen zm Workshop, wendet euch an Joachim.

Zum Event:
Eintritt frei! (Spenden an shack e.V. sind gerne gesehen) Jeder ist willkommen!
Datum: Samstag, 13. Februar 2016 ab 14 Uhr
Anfahrt: U4/U9 Haltestelle “Im Degen”, Ulmer Straße 255, Stuttgart Wangen (gegenüber Kulturhaus Arena)

Workshop: User Interfaces mit React & Virtual DOM

Arcade-o-mat

Project: Arcade-o-Mat

Early 2012

The story starts with resident hacker Micha who found 2 arcade cabs sitting next to some “Sperrmüll”.
He went the proper route – asking the shack plenum – instead of just dropping some “still useful stuff” (aka: a pile of rubbish).

The story gets quite funny with a police patrol, two uniformed policemen in total, joining Micha and meeting up with the whole libanese familiy of the owner to verify the origin of the cabs. Micha even knows the Pizza place where the two arcade cabs previously resided.

Next up he starts hacking one of the cabs – and as also happens a lot of the time – the two cabs start gathering dust for almost a year.

Sometime around 2013

Long absent hacker wookie proposes to get one of the boxes up and running and makefu and exco agree to help get it done.

exco has acces to cnc machines and designs and machines the button panel from aluminum for the exact fit into the cabinet.

Arcade-o-mat
wookie orders the buttons/joysticks and makfu starts with an arch install on the netbook destined to be at the heart of the cab running some mame system.
If you want to machine the button becel for your hellomat you can build on this file.
(lasercutting it from 3mm acrylic is probably a lot easier/faster/cheaper than machining it from aluminum)

Arcade-o-mat

November 2013

The Game Controller Manager is the cheapest from our favourite china retailer aliexpress.
Unfortunately the controller didn’t work out of the box for some software reason and again a lot of effort had to be spent to build a custom kernel.

We decided to put mame at the cabs heart and not to build on dedicated cab hardware and thought the most convenient solution would be to use a laptop as we would only need a VGA to something converter to hook up to the tube.

Thus we set out to build this adapter.

VGA -> Scart adapter

Timm joined in and etched the board, after exco organized all the parts and Phrewfuf ended up soldering it.

Arcade-o-mat

Unfortunately we couldn’t get it to work (spending already 2+ afternoons on it) and because we couldn’t bother to invest any more time we ended up buying a VGA -> Scart adapter.

Arcade-o-mat

Next exco bought a suitable Sony Trinitron 21” tube TV off of quoka. A bigger tube won’t fit Arcade-o-mat
We picked it up while going to the movies – phrewfuf as the driver and since it didn’t fit in his Subaru’s boot –
ended up being transported on Nadka’s lap – riding shotgun.

Wookie’s drive and Timm’s help as well as exco’s attention to the details ended up in a well mounted tv pcb and the tube in place.

Arcade-o-mat

In between Jules, roy and wookie decided it was a good idea to replace the laptop with a personal computer. Spoiler: it was not.

Makefu was not amused to have to fix an arch installation again.
Well, at least the controller seemed to be working … not!
Time to dig for the custom kernel makefu built for the laptop on the laptop. At least the installation was smooth thanks to flawless documentation. We are still looking for it under the couch. It has to be somewhere!

Sometimes you have to move 2 steps back, right?

As we were having difficulties with the VGA -> Scart adapter to give a clear picture.
Trying for hours with modeline magic – exco gave up on this approach and decided to just buy a pci-e graphics card with dedicated composite output.
By now – 2016 – we know how modelines and old monitors work.

The bonus hack which makes the TV run in AV-mode on powering the TV.

Arcade-o-mat

MAME

Our fancy Arcade now was in need of a fancy interface for choosing one of the 900 mame games.
The interface of choice quickly became Wah!cade because it … well worked at least. A lot of abandoned projects linger around the net. Wah!cade is actually still supported – Original Page.

Arcade-o-mat

You can get ALL THE GAMES at archive.org but be aware that some of the games still hold copyright even though they are considered “abandonware”.

Arcade-o-mat

^ some of the games we have in our own phyiscal library.

Web Interface

Wah!cade is quite a nice piece of software but managing lists of deployed games is not that easy. At first makefu used a simple shell script to deploy new games but as more people wanted to have new games added the original, high-maintenance shell-script didn’t scale for this use case anymore.

That’s when makefu and exco started building a web interface for easy game management in late august 2015. A month (or around 8 evenings of work) later arcadeomat.shack (shackspace intranet only) is up and running.

You can get the sources from github/ultimate-arcadegames-webserver

Arcade-o-mat

What unfortunately happens a lot of the time – projects don’t get finished.
There is a fine line not to let it become “work”.
As an alternative – treat it as a process (that in contrast to a project: doesn’t have an end!)
You still have to document your doings so that you/others can benefit from the experience.

Also – writing it down makes it science!

project owners: makefu, exco

2do

  • wahcade 720×576 layout impro fix
  • custom shack arcade artwork – to replace:
    Arcade-o-mat

Arcade-o-mat

Samstagsvorträge #1: ESP8266 Debugging

Am Samstag, dem 6.2.2016 um 19 Uhr starten im shackspace in Stuttgart wieder die beliebten Samstagsvorträge.
Dieses Mal hält slaff einen Vortrag zum Thema „Debugging ESP8266 devices“.

ES8266 ist die aktuell beliebteste Platform um günstig Internet der Dinge zu entwickeln. Wie man Probleme auf dieser Platform behebt, lernt ihr in diesem Vortrag.

Eine Demo zum Thema gibts im folgenden Video.
Wir freuen uns über Besucher!

Zum Event:
Eintritt frei! (Spenden an shack e.V. sind gerne gesehen) Jeder ist willkommen!
Datum: Samstag, 6. Februar 2016 ab 19 Uhr
Anfahrt: U4/U9 Haltestelle “Im Degen”, Ulmer Straße 255, Stuttgart Wangen (gegenüber Kulturhaus Arena)

Samstagsvorträge #1: ESP8266 Debugging

Smartphone Stativ-Halterung / Tripod Mount aus Foldback Clip



Material:
- Foldback Clip 32 mm x 15 mm
- Multiplex 9,5 mm (Siebdruckplatte o.ä.)
- 1/4 Zoll Mutter
- Schrumpfschlauch

Den Clip mit zwei Flachzangen soweit überbiegen, dass der Anpressdruck für das Fon nicht zu groß ist. Ein Loch für die Stativschraube mit einem konischen Schleifer hineindremeln (Bohren ist wegen des gehärteten Federstahls schwierig).

Das Holzklötzchen fräsen. smartphone-halter00.dxf. Der G-Code ist für einen 3 mm Fräser: smartphone-halter00.nc. Und hier noch das Estlcam - File dazu: smartphone-halter00.e25. Das Klötzchen etwas abschrägen, damit es gut in den Clip paßt. Die Mutter (Habe ich aus einer Webcam aus dem Kaffeeladen geerntet) in das Klötzchen kleben (Zweikomponentenkleber).

Griffe aus dem Clip nehmen, Schrumpfschlauch über die Backen des Clips. Mit einem Seitenschneider Löcher fur die Griffdrähte in den Schrumpfschlauch knipsen, und die Griffe wieder einsetzen. Zack-Bumm-Return: Fertig. Gesamtkosten < 1 EUR.