Latest Entries »

Raspberry Pi and SD card file system corruption. I have been experiencing these issues and I can’t really pinpoint the source of the trouble. I decided to take one of my Raspberry Pi’s, install Raspbian on it, and then ISPConfig, to have a test server, with a similar configuration then the server hosting this blog, –production server– as you may. — anyhow — during the installation of some packages, the file system already got corrupted — therefore this was a never finished project.

At this point, I started to suspect the specific Pi. (I have two Model B revision 1 Pi’s) But, I cannot be sure. I have run the “Overclock stability test” script on both my Pi’s, on two different SD cards. Note: I am not overclocking, but it is a stability test, that reads and writes from the SD card. Everything seemed stable. (Also when I *did* overclock a bit)

One thing to notice about this test, it performs a series of sequential reads and writes. Perhaps that’s the difference. File system corruption occurs when writing to files. Keep in mind that SD cards are actually microcontrollers, and their programming might contain some FAT specific optimisations which cause corruption when running another file system. Keeping this in mind — the random writes method I have been suggesting earlier might not trigger the error. However… I am just speculating. In the end — it could be the power supply problem some people have been suggesting.

Anyway, enough about Pi’s, now it’s time for my ODROID U3 to do something: replacing my Raspberry Pi as NFS server. The Raspberry Pi has bad performance as an NFS server anyways. Therefore, in the past, I was about to replace it with my CubieBoard. Initial tests were promising, throughput was, –as far as I can recall– double the Pi’s. I went to sleep, to discover the next day, the CubieBoard was down. I assumed it crashed for some reason, and powercycled it. It didn’t come back up. No…. since that moment, I haven’t been able to get it to do anything. No boot from NAND or µSD card, nothing on the serial interface: it’s dead.

So… now it’s about time to replace my 8530w laptop — temporary playing server — with a more permanent solution: my UDROID-U3. I am not going to discuss the entire configuration. I have discussed configuring NFS servers before. However, there are a few things I would like to discuss. I problem I have encountered before: using new nfs-utils versions with older linux kernels. The kernel for the UDROID is 3.8.13.23-3-ARCH, which is rather old.

The problem is, when starting the nfs daemon, it requests the versions on NFS to use from the kernel. Starting at nfs-utils 1.2.9, it will include 4.1 in this request. Older kernels will not recognise this and generate an error. On my Pi, I reverted to nfs-utils 1.2.8, but now, I have a more permanent solution.

The problem:

[root@odroid andre]# systemctl status nfsd
● nfsd.service - NFS Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/nfsd.service; enabled)
   Active: failed (Result: exit-code) since Fri 1999-12-31 18:00:31 MST; 14 years 5 months ago
     Docs: man:rpc.nfsd(8)
  Process: 294 ExecStopPost=/usr/bin/exportfs -a -u (code=exited, status=0/SUCCESS)
  Process: 291 ExecStop=/usr/bin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)
  Process: 260 ExecStartPost=/usr/bin/exportfs -a (code=exited, status=1/FAILURE)
  Process: 233 ExecStart=/usr/bin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT (code=exited, status=0/SUCCESS)
 Main PID: 233 (code=exited, status=0/SUCCESS)

Dec 31 18:00:31 odroid rpc.nfsd[233]: rpc.nfsd: Setting version failed: errno 22 (Invalid argument)
Dec 31 18:00:31 odroid exportfs[260]: exportfs: Failed to stat /srv/nfs4/grassroot: No such file or directory
Dec 31 18:00:31 odroid systemd[1]: nfsd.service: control process exited, code=exited status=1
Dec 31 18:00:31 odroid systemd[1]: Failed to start NFS Server Daemon.
Dec 31 18:00:31 odroid systemd[1]: Unit nfsd.service entered failed state.


Note to audience: I have no battery connected to the RTC, so “Dec 31 18:00:31″ is a faulty date before it contacted an NTP server.
Note to self: image has an American default timezone: fix it! timedatectl set-timezone CET

The solution:
The configuration file for the nfs server is /etc/conf.d/nfs-server.conf. When you open time file, you see nothing that would suggest setting a version. No, the file only specifies command line options to nfs daemon. Putting NFSD_OPTS="-V 4" does the trick. You can specify multiple versions by comma separating them, for example NFSD_OPTS="-V 2,3,4", which would enable NFS version 2, 3 and 4.

Wishing everyone a happy midsummer!

From my previous post, you’re been able to read I am trying to cross compile and set up an AVR32 system. I have been trying some things and learning about cross compiling. I realise, last post was written from my notes, and may appear a little messy. I have make some progress, and learned how to do things, and realise I should have dome some things differently then my first attempt.

I have decided to create two kinds of posts for this topic. First will be a how-to guide. Just step-by-step guide to re-create the cross-compiler, the grasshopper root-fs, and possibly what I might create in my next steps. I am trying to set up a distcc based cross compile system, using ArchLinux’ pacman package manager and its package build utility makepkg, which has native distcc support. But it is still a long road before that works.

Apart from that, I will create a separate post with pitfalls. During this project I have come across certain error messages, which, of course, I have asked Google. Therefore I think it’s important to post those errors so it can be found.

Quite a while ago, I bought a Grasshopper. (a.k.a. ICnova AP7000 Base) I bought the thing and never even touched it… until recently. This little board has an AP7000 CPU. It’s architecture is AVR32. Not the most common thing. That’s why I bought it ;)

Well…. I have been playing around with it for the past week, or rather, some preparation to play with it, such as, a cross compiler. Since it’s a less common architecture, there are some oddities to overcome, but let’s begin. I will be using crosstool-ng to build the cross compiler. When building a cross compiler for ARM, it’s just setting the target and build, but for AVR32, the build process is not that straight forwards.

The first thing to encounter is the fact that “config.sub” doesn’t recognise the architecture, and so the build doesn’t even start. A simple “hack”, by replacing the content of “lib/ct-ng.1.19.0/scripts/config.sub” with

#!/bin/bash
echo avr32-unknown-linux-uclibc

The second thing to encounter, upstream binutils has never heard of the AVR32 architecture. Have I mentioned it’s a less common architecture?
Specifically, the Binary File Descriptor library, libbfd, misses the definitions for AVR32. ATMEL provides a
patch against binutils 2.22. It’s not the most recent version… but ok.

GCC also doesn’t know anything about the AVR32 architecture. I have found GCC 4.4.7 at the ATMEL site. There seems to be a binutils 2.23, but that gave compilation errors, so I stuck with 2.22 (at least, for now. I just want a working cross compiler)

The GNU C Library also doesn’t know anything about the AVR32 architecture. I have to use the uClibc C library instead. The crosstool-NG integration isn’t complete, as I need to provide an external configuration file for uClibc. But here I ran into a number of problems as well. First of all. I am using version 0.9.31. I haven’t got a later version to work.

During stage 2 of the C compiler compilation

[ALL  ]    In file included from /home/andre/x-tools-avr32/avr32-unknown-linux-gnu/avr32-unknown-linux-gnu/sysroot/usr/include/bits/uClibc_mutex.h:15,
[ALL  ]                     from /home/andre/x-tools-avr32/avr32-unknown-linux-gnu/avr32-unknown-linux-gnu/sysroot/usr/include/bits/uClibc_stdio.h:107,
[ALL  ]                     from /home/andre/x-tools-avr32/avr32-unknown-linux-gnu/avr32-unknown-linux-gnu/sysroot/usr/include/stdio.h:72,
[ALL  ]                     from /home/andre/cross/bin/.build/src/gcc-custom/libgcc/../gcc/tsystem.h:87,
[ALL  ]                     from /home/andre/cross/bin/.build/src/gcc-custom/libgcc/../gcc/libgcc2.c:29:
[ERROR]    /home/andre/x-tools-avr32/avr32-unknown-linux-gnu/avr32-unknown-linux-gnu/sysroot/usr/include/pthread.h:227: error: expected ')' before '*' token

The default threading implementation is “nptl”, when I set it to “linuxthreads”, the problem is fixed. The next problem:

[ALL  ]    avr32-unknown-linux-uclibc-ranlib libgcov.a
[ALL  ]    # If the gcc directory specifies which extra parts to
[ALL  ]    # build for this target, and the libgcc configuration also
[ALL  ]    # specifies, make sure they match.  This can be removed
[ALL  ]    # when the gcc directory no longer holds libgcc configuration;
[ALL  ]    # it is useful when migrating a target.
[ALL  ]    Configuration mismatch!
[ALL  ]    Extra parts from gcc directory: crtbegin.o crtbeginS.o crtend.o crten
dS.o crti.o crtn.o
[ALL  ]    Extra parts from libgcc: crtbegin.o crtbeginS.o crtbeginT.o crtend.o 
crtendS.o

requires yet another fix in a build script. Actually, I just commented out the part that checked for this configuration mismatch. The file that needs to be patched is “libgcc/Makefile.in” in the GCC files from the ATMEL site. (comment away lines 839-851)

I also ran in some problems with messages like

Error: .size expression with symbol `_init' does not evaluate to a constant
Error: .size expression with symbol `_fini' does not evaluate to a constant

For wich I found a solution here. Even though the solution at the said site is for PowerPC, the solution should apply to all architectures. The solution consists of removing two lines from a file. “.build/src/uClibc-0.9.31/libc/sysdeps/linux/$ARCH/crtn.S”, “.size _init, .-_init” and “.size _fini, .-_fini”.

With those patches, I managed to get a working cross compiler. From there, I was able to cross compile a linux kernel version 3.15. Compiling some other programs like busybox gave a few problems with the uClibc. As I mentioned, I need to feed an uClibc config file to the crosstool-NG. I had to enable certain options to make certain functionally available.

One of the problems I ran into was

loginutils/lib.a(getty.o): In function `getty_main':
getty.c:(.text.getty_main+0x42a): undefined reference to `usleep'

This site mentioned, I need to enable “SuSv3 legacy functions” to enable the build of usleep. As I was at it, I’ve enabled SuSv3 legacy macro’s and SuSv4 legacy functions as well. Just in case anything needs them. Anyhow…. I will stop writing here, as I am running into another subject. I will write more soon, as I have more to tell about the grasshopper, including issues regarding NFS booting. I needed this cross-compiled busybox, which gave me the SuSv3 problem, to use in the NFS root…. so strictly spoken, this last remark belongs in the next post :P

A friend of mine asked if I had a spare PC. Now, I had this PC, an old AMD Athlon, sitting in my storage. The PC had a Debian installation, installed for an event a few years ago, so, it didn’t contain any personal information. Anyways, I decided to re-install the machine. I decided to install Xubuntu. A “n00b-friendly” distro but with a sensible Desktop Environment.

While under Debian the machine worked fine, under Ubuntu, the first issue were graphical glitches and artefacts. The second problem is tha Flash refused to work. Firefox reported the plugin was installed, but it didn’t work. Chromium even refused to start up when the pepper version of the flash plugin was installed. *sigh*

So, I am installing Debian again. It’s a newer then the version that was previously installed, of course, but since Debian worked before, I guess it should work again.
Well…. nope… Under Debian I am having simular issues. Well… Ubuntu and Debian are related. Perhaps I should try something else. I mean… personally I would install ArchLinux, but since I will not be the user for that installation, it should be something n00b-friendly. However…. I might try my Arch installation from another machine, just as a reference. Just to rule our a hardware issue….

Oh my…. I haven’t written at all in this blog this year…
Anyhow…. I will report about a number of technical problems…
They always seem to come at the same time, don’t they?

Let’s see, my raspberry pi server, down again. So… what I did in the past, I moved the root file system to an external hard disk, since I was suffering from file system corruption on the SD card. This week, file system corruption also occured on that external hard disk. Last week, the raspberry pi crashed, and when I rebooted it didn’t come up. It couldn’t find the root file system. Powercycling the hard disk containing the root file system fixed the problem. Seeing the problem I had last week, I blaim faulty hardware for the problems I’ve been experiencing. Now, I come to a point where I suspect the SD card I used before to be faulty as well. I am thinking ways to test that SD card. Perhaps I could create a script that writes random data to random positions, both on the SD card and in an image file, and comparing both in the end.

My dedicated server, which hosts this blog, also encountered a problem. A problem simular to a problem I’ve been experiencing with my previous server. It ran out of memory and killed amavis, virtually disabling the email subsystem. Now, I have configured the OOM to be less likely to kill amavisd-new or clamd, to be less likely to be killed in the event the system runs out of memory. For now, only a single instance. Let’s have a look at the /proc filesystem. In there we see a directory per running process.

Say, the pid of clamd is 12345, then we can set the killing likelyness from -16 (unlikely) to 15 (very likely) like this:

# pidof clamd
12345
# echo -15 > /proc/12345/oom_adj
#

Well… having that said, the issue still is, the system ran out of memory. Now, I have to say, this machine was pre-installed by OVH using their default ISPConfig configuration. The machine has 3 GB of RAM installed, and was configured with 1 GB swap. Now, the rule of thumb is to have twice as much swap then ram. So, I guess that’s the cause of the problem. Now, I would like to increase the swap, but I cannot repartition a running system. And even if that wasn’t an issue, the system is running a software raid.

# blkid
/dev/sda3: UUID="8199facf-617b-475a-9874-79f017193cce" TYPE="swap" 
/dev/sdb3: UUID="366beea7-8e2f-457b-b184-78c811df7d07" TYPE="swap" 
/dev/sda1: UUID="9cf67138-a39d-3a3f-a4d2-adc226fd5302" TYPE="linux_raid_member" 
/dev/sda2: UUID="f8058e35-2dec-e859-a4d2-adc226fd5302" TYPE="linux_raid_member" 
/dev/sdb1: UUID="9cf67138-a39d-3a3f-a4d2-adc226fd5302" TYPE="linux_raid_member" 
/dev/sdb2: UUID="f8058e35-2dec-e859-a4d2-adc226fd5302" TYPE="linux_raid_member" 
/dev/md2: LABEL="/var" UUID="f8893706-4d3c-45aa-af84-b302221f3bd7" TYPE="ext4" 
/dev/md1: LABEL="/" UUID="4903b0b6-3e50-4fc9-bb0b-1ab3e6c505b7" TYPE="ext4" 

So, I guess I’ll solve it by creating a swap file instead. The system is paritioned to have a small root file system, and a huge /var file system. Therefore I’ll create the swap file in /var

# fallocate -l 6G /var/swapfile
# chmod 600 /var/swapfile 
# mkswap /var/swapfile 
mkswap: /var/swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 6291452 KiB
no label, UUID=74989c54-dc14-4b65-8577-13b356ca79c8
# swapon /var/swapfile 

And add the swap file to the fstab.

Checking the swap status:

# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda3                               partition	525308	254816	-1
/dev/sdb3                               partition	525308	16488	-2
/var/swapfile                           file		6291452	0	-3

Well… I guess this solves the memory problem. I might have a closer look at some logs, but so far I haven’t seen any task using suspecious amount of resources. I guess 3 GB of RAM + 1 GB of swap just wasn’t enough.

Het jaar 2013 is ten einde, en 2014 is beginnen. Een gelukkig nieuwjaar iedereen. Zoals elk jaar, weer een terugblik op het afgelopen jaar.

Het jaar 2013, wat was er ook alweer allemaal gebeurd in mijn leven. Het lijkt allemaal alweer zo lang geleden. Ik weet dat ik ergens in het voorjaar nog zei “Ik moet er nog aan wennen dat het 2013 is”. Maar wat kan ik over 2013 vertellen?

2013 was natuurlijk het jaar van Snowden. Het jaar van de onthullingen over de NSA. Big Brother is watching you. En ergens wisten we toch al lang dat Big Brother meekeek, nu het officieel is, staat de wereld natuurlijk op zijn kop. Maar zoals ik eerder al een keer gezegd heb, we leven in een tijdperk van verandering. Vorig jaar was het 2012… een veelbesproken jaartal. Maar ik heb destijds al gezegd, het is geen tijdstip, maar een tijdperk. Zoals we in 2011 de Occupy beweging zagen, en nu, in 2013, zagen we Snowden. Een held, die alles heeft opgegeven om de praktijken van zijn regering aan het licht te stellen.

Je hoort sommige mensen wel zeggen, “ik heb niks te verbergen”, mijn antwoord is “ik wil niks hoeven te verbergen”. Ik was bij een lezing van Studium Generale, waar een vrouw van de AIVD haar verhaaltje kwam vertellen. Ze vertelde ons “Denk maar niet dat je niet interessant bent. Geheime diensten zijn geïnteresseerd in jou”. Nou… als de geheime diensten geïnteresseerd zijn in een stelletje studenten…. als ze daar tijd genoeg voor hebben… dan vraag ik me af of er wel terroristen bestaan.

Er komt steeds meer aan het licht over wat de NSA afluistert. Windows foutrapportages, USB stekkers, noem het maar op. Ze weten alles van je, óók je PIN-code. Dit is een gevaar voor de vrije samenleving. Het gegeven dat Big Brother overal mee zit te gluren heeft als gevaar dat dit kan leiden tot conformistisch gedrag. De angst om opvallend te zijn, om anders te zijn. De angst, die kan leiden tot het leven volgens de standaard van de maatschappij, om maar niet op te vallen. Het jezelf ontzeggen van je vrijheid, uit angst. Dat is het grootste probleem. Ik zeg, ook al zit Big Brother mee te kijken, doe wat jij vind dat goed is, bewandel je eigen weg. Misschien juist omdát er meegekeken wordt, als protest. Want dat is hetgeen dat tot verandering leidt, de ene, die zich niks van de status quo aantrekt, en zijn eigen gang gaat.

We leven in een tijdperk van verandering. Ik heb al eerder gezegd dat ik nooit heb geloofd dat de wereld op 21 december 2012 patsboem plotsklaps zou veranderen. Nee, ik heb altijd al gezegd dat dit een tijdperk betreft. En als ik terugkijk naar afgelopen jaar, dan zeg ik, we zitten er nog steeds middenin. En toch… toch… zei ik ik het begin van deze post dat ik toch even aan 2013 moest wennen. Misschien dat ik ergens, tegen beter weten in, hoopte, dat er toch iets bijzonders was gebeurd op die datum.

Beginhoven, de stadslandbouwvereniging waar ik de secretaris van ben, is in 2013 weer een stuk dichterbij een lap grond gekomen. De onderhandelingen met de gemeente verlopen voorspoedig en het ziet er naar uit dat in januari een handtekening gezet gaat worden. De schop kan in 2014 de grond in. Ik ga hier momenteel niet verder op in, omdat er nog niks getekend is. Hoe gaat dat spreekwoord ook alweer, je moet het vel niet verkopen voordat de beer geschoten is.

Mijn studie, tja, vorig jaar had ik het dus over dat vak Algebra, met een andere vakcode, maar inhoudelijk hetzelfde, Discrete Structuren. Algebra was deze tentamenperiode niet ingeroosterd, maar de 3-studiepuntenversie van Discrete Structuren wel nog. Ik heb dit vak dus nogmaals gevolgd en met een 7 afgesloten. Dat betekend dat ik nu in principe alle verplichte vakken heb en mag gaan afstuderen. Ik heb hierover al enkele gesprekken met mijn professoren gehad en ik ga bezig met UCON en XACML. Verder heb ik ook afgelopen jaar filosofie gevolgd, Moderne Wijsgerige Stromingen, Filosofen over Vrijheid, en Filosofische Thema’s in films.

En nu, nu staat een nieuw jaar voor de deur. Wat gaat er in 2014 allemaal gebeuren? Ik januari ga ik met mijn afstudeerproject beginnen. En daarna? Dat is nog maar de vraag. Ik zal in ieder geval moeten verhuizen aangezien ik via Vestide gehuurd zit, alleen voor studenten. Dat weet ik wel, maar verder? Dat zullen we wel zien. Nog iets van goede voornemens? Iets van eens van mijn luie reet afkomen en niet de ganse dag op Facebook, Tumblr en Tweakers zitten? Ik heb zat leuke projectjes bedacht de afgelopen jaren, maar ik voer ze verdomme nooit uit. Daar moet eens verandering in komen.

Maar goed, dat was mijn verhaaltje dan. *knuf* Gelukkig 2014!

Those of you who have been following my blog for years know what my Christmas blog post will be about. I’ve been reading my previous Christmas posts, looking back on what I wrote in previous years, thinking about what my life used to be like, back then.

Christmas… and that fat guy dressed in red… Santa, the symbol of the Commercial holiday Christmas. I have been telling this every year… what makes me sad is seeing Christmas being an economically event. It’s just about the presents, the food, etc. etc.

I plead for a different kind of Christmas. I don’t care about presents or special food, no thanks. What I want for Christmas is that people start caring for each other again.. and not only at Christmas. What I wish for… a new world… a world where everyone can be happy… that’s my dream. I wish people would truly care about each other again, for people to respect each other’s opinions and lifestyles.

I dream of a world without hate. I know what it is like to be done wrong, and I know how easy it is to hate the ones that did you wrong. But I have realised, if I ever want to find peace within myself, I have to forgive. I’ve come to the believe that forgiveness is the only way to peace, not just within me, but in the world as well. Therefore, I ask you, please be forgiving.

I wish for everyone to be happy.  I wish for those who are going through a hard time they’ll find happiness again. For the lonely and depressed, that better times are ahead. For those who spend Christmas alone, either physical or emotional, to find someone that takes away that loneliness. I wish for everyone to be happy.

*hugs* love ya all!

Merry Christmas
God Jul
Vrolijk Kerstfeest

Ik heb een HEEMAF type 1955 gekocht op Marktplaats. Dit is een bakkelieten draaischijftelefoon, uitgebracht in het jaar 1955 door de Hengelosche Electrische en Mechanische Apparaten Fabriek.

heemaf type 1955Heemaf type 1955, onderkant

De telefoon is in november 1964 geproduceerd. Het apparaat is dus 49 jaar oud. Helaas was het snoer eraf geknipt, dus moet ik er een nieuw snoer aan zetten. Een origineel snoer zou natuurlijk veel authentieker zijn geweest, maar ja, er moet dus een nieuwe kabel op. Daarvoor moet bij open. Hij zit dicht met drie schroeven op de onderkant.

heemaf binnenkantheemaf kiesschijf

Op de binnenkant van de deksel staat het schema van de telefoon. Helaas heb ik deze (nog) niet duidelijk op de foto kunnen krijgen, maar een online versie is hier te vinden. De kiesschijf zit in de deksel gemonteerd. Op deze kiesschijf zit geen omhulsel zoals we dat bij bijvoorbeeld te T65 aantreffen.

heemaf condensatorheemaf spoel

Hierboven zien we de condensator en de spoel.

heemaf aansluitingen heemaf nieuwe kabel

Hierboven zien we het oude afgeknipte snoer, en het nieuwe snoer gemonteerd. Een telefoonsnoer met trekontlasting van bij de Praxis anno 2013 past prima in de bijna 50 jaar oude telefoon. Alleen hadden ze enkel witte kabels, geen zwarte. Ik overweeg de kabel zwart te spuiten voor een ietwat authentieker gezicht. Afin, het aansluiten van de telefoon, let op de kleuren! Tegenwoordig gebruikt men een ander kleurenschema als destijds. Ik heb niet kunnen achterhalen uit welke standaard de nieuwe kleuren stammen, maar ik neem aan dat dit mogelijk een internationale standaard is. Ook vanwege het feit dat deze kleuren vermeld stonden in allerlei talen op een doosje RJ-11 blokjes.

Aansluiting PTT kleuren Moderne kleuren
A Rood Groen
B Blauw Rood
Aarde Groen Geel
EB / EW Geel Zwart

E.W. staat voor Extra Wekker. E.B. staat voor Extra Bel. Als men vroeger een extra wekker/bel installeerde, werd deze in serie met het telefoontoestel geplaatst. Dit is dan ook de reden dat, als er geen extra bel/wekker aanwezig is, de B en EB aansluitingen moeten worden doorverbonden in de stekker. Dit wordt ook vermeld op het schemaatje in deze telefoon.

Desondanks heb ik deze telefoon nog niet aan het rinkelen gekregen. Een nummer draaien gaat zonder problemen. Ik heb echter alleen mijn GSM nummer gedraaid, dus ik kan geen vermelding doen of de gesprekskwaliteit voldoende is. Maar rinkelen, ho maar! Is dit een defect aan de telefoon, of scheelt er nog iets aan de bedrading? (Mogelijk de polarisatie?)

Dusch…. dat zal ik later nog eens moeten uitzoeken.

Back in 2011 I used to trade some bitcoins at an exchange called Bitcoin7. This exchange got hacked and I lost all my bitcoins and euros in my account over there and I lost my interest in cryptocurrencies. However, since the exchange rate of the bitcoin got a lot higher then back then, I’ve decided to take a look at it again.

I’m also thinking about doing a bit of mining. I mean… there is a fancy graphics card in my laptop, and I am no gamer, so, mining is the only purpose of the damn thing. However, getting OpenCL working using free software only (free, as in open source. not using proprietary binary blobs as driver) is not a trivial task. The open source nvidia driver, nouveau, does not support OpenCL at all, therefore my HP EliteBook 8530w is out of the question. My HP EliteBook 8570w however, got an ATI/AMD graphics card. With this card, OpenCL should be able to work. However, support is not included in the mesa package available in the repository. In the AUR repository there is a package mesa-cl, however, it fails on compiling a dependency, the libclc-svn package, also from AUR. As I look at the build instructions for GalliumCompute, it seems they compile a llvm/clang with experimental r600 support. I suppose the repository version of llvm/clang misses this configuration option, which may be the cause of this build failure.

Therefore, I am compiling some stuff manually, according to the instructions on http://dri.freedesktop.org/wiki/GalliumCompute/. I usually prefer not to install software which is not managed by pacman. Having files floating around in my root file system that are not managed by any packet seems a little messy to me.

Anyhow. mining… I might have a look at mining both bitcoins and litecoins. Possibly other cryptocurrency as well later, but for now, bitcoins and litecoins will be the thing I will look at. I might possible also have a look at an ASIC for bitcoins. I am considering ordering an USB Block Erupter.

However… synchronising with the bitcoin and litecoin networks takes forever.

buy amoxil so music shown well buy flagyl online balanced sativa forum buy kamagra without prescription placing true enjoy! buy cipro BCIA meat lefty foundation buy celexa online remarks bored true buy lipitor without prescription retrieve Really exposed buy tetracycline whom Sarahs Victims buy acomplia online sight battle dissociative