Archive for November, 2012


More ARM

Well…. the Raspberry Pi Spawns Competitors, so says the article on OSNews. I have been looking at the ArchLinuxARM website for a while, and I have noticed the number of supported boards to rise. One particular SoC that drew my attention was the Allwinner A10. The specs of this SoC seem nice, and so I was considering buying a device based on this SoC. An example of this was the Mele A1000. Another variant of this is the Mele A2000. Another interesting fact these devices have a SATA HD dock. The Mele A1000 is cheaper on DX.com. Also note the shipping on AliExpress appears to be pretty expensive, while DX.com has free shipping.

This device is sold as a media player, but are advertised as “hackable device”, so it seem cool to play around with. Interesting fact is this media player has a VGA output, something which both the BeagleBoard and the Raspberry Pi lack. Then I read the OSNews article, mentioned above. In one of the comments, a link to the Cubieboard. So, it’s sold as just a board, like the BeagleBoard and the Raspberry Pi. Interesting fact is this board has 1 GB of RAM, compared to 512 MB of the Mele A1000/A2000. There is no VGA connector on the Cubieboard, but on the I/O header there is a VGA output. It also offers a SATA port. Sooo… it looks like an interesting board. Also note this board is funded though crowd funding.

Another chip I have my interest in is the Loongson. This is not an ARM chip, but a MIPS chip. I just have my love for exotic hardware. Lemote sells laptops and PC’s based on their CPU. I know only about one webshop selling them, the earlier mentioned AliExpress. However, it mentions only one model, while their sites mentions four models of the Mini-pc.

So, the Raspberry Pi is a British computer. It is ARM-based. Since we’re using UK hardware, let’s use some UK software as well. I am thinking about the operating system RISCOS.

RISC OS is a computer operating system designed in Cambridge, England by Acorn. First released in 1987, its origins can be traced back to the original team that developed the ARM microprocessor.

So, one could say, this is *the* OS that *should* run on ARM-based machines, like the Raspberry Pi. And since both are from the UK… do I need to say more?
Installing…. well… just download and extract the image and write it to the SD card. It’s a quite trivial task, right? Well…. I did something stupid there, well, with the ArchLinux image. I wrote it to the wrong SD card….. the SD card in my BeagleBoard in stead of my laptops SD card. Oops.

However, that’s out of scope regarding to this post. RISCOS, so, just writing the image, put it in the Pi and turn it on. On first boot, the font cache is being built, which may take a while. Also note a little configuration is required. The screen for example, the right resolution has to be chosen. On first boot, it looked like “letterboxed” and a rather low res. The screen type was set to “auto”, which apparently doesn’t have the desired effect. The dropdown boxes for choosing resolution etc. are grayed out. One has to select the monitor mpdel (I am using Generic) then the colours (I love to see UK spelling for that word in software) (“16 million), and then resolution and frame rate (refresh rate) can be chosen.

Another thing to note is the fact the network is disabled per default. One got to enable it before one can use the internet. After clicking to enable the internet, the system got to reboot. I must say the browser shipped with it, NetSurf, cannot handle some websites. It appears to be lacking JavaScript support, and for some reason I am unable to log in to this blog using that browser.

In the software repository, available through the package manager “Packman”, I have found a firefox port. However, it’s rather outdated (Bon Echo) and it is very slow. I must say, except for that firefox port, the system feels pretty responsive. But that firefox port is so slow it’s unusable.

I still need to play around with it some more, get to know the operating system, as it is different from what I am used to. This OS is around since 1987, one of the surviving operating systems from those days… less known… not running on x86 hardware. Interesting part here… it’s source has been released under a “shared source” license. “shared source”, as in, not an approved open source license. This is due a rather remarkable condition, the OS is only allowed to run on ARM hardware. It may not be ported to other architectures.

Well… I guess I will report some more about it later, but for now, I should get ready for class. Also, the Raspberry Pi, I should get ArchLinux running on there, and configured. This Raspberry Pi was going to replace my BeagleBoard anyways… and since I accidently overwrote the BeagleBoards SD card… I need to get the Raspberry Pi running… (especially since the BeagleBoard is unstable… and will not be able to reboot since I overwrote its SD card)

Just a fun fact, from wikipedia: RISCOS line endings are LF+CR (as compared to DOS/Windows CR+LF) Also… I am still looking for a way to get screenshots out of there… I don’t know what software can handle it’s file format for storing images. At least there is an NFS server for RISCOS.

So, as mentioned before, time to fix the ArchLinux installation on my desktop “Blaatkonijn”. The problem is a broken initramfs, so it doesn’t boot up. As the initramfs is system-specific, just copying a working initramfs from a different machine doesn’t work. Therefore, my idea is to install another ArchLinux on the same machine, and use its initramfs to boot my old installation.

I have tried that approach a while ago. Back then I did not succeed. Well… the installation of ArchLinux did not succeed. There were some problems upgrading the installation. ArchLinux has gone through a couple of changes lately. The guide I wrote for installing ArchLinux on my laptop… well… none of it applied anymore, that I can tell you. I guess, I have used that same cd for that attempt, but I am not sure. Anyhow…. it appears the cd was old compared to the repository, requiring some manual action to let it upgrade. For just creating an initramfs… too much touble.

So… today I downloaded and burned the current installation image. It was fresh, released this month. Cool! But everything has changed. No more installer! Just a tool to create a root fs. So, the installation is just, install root fs, install boot loader, done! (ok, over-simplified…. you do have to set passwords etc.)

There is also a command arch-chroot. Which does a chroot, but also automatically mounts the API file systems. This is to be used during the installation. However, it appeared my old installation was too old for this tool to work with. Creating the initramfs is also a part of the installation procedure. So, I just created the initramfs, and copied the content of /boot over to my old installation, and ran grub-install on the partition of the old installation. (The old installation did not have a separate /boot partition) Also, I copied the content of /usr/lib/modules to the old installation, as the new kernel of course needs the corresponding modules.

Please note, grub2 is now the default boot loader, no longer grub1. It even appears grub1 has been removed from the repository. I am used to grub1 installations. Also note the previous attempt used grub1 in a dedicated boot partition. It seems, a dedicated boot partition is no longer an option in the current ArchLinux installation procedure. With the installer, one could define a separate boot partition. Of course this can be done manually, but that’s now out of scope of this post.

So, on the new installation, after installing the root fs, I had to install the boot loader, so, grub2. This installer created an example config file. As I am copying it over to the old installation I have to change the partition to boot. The config file uses the parition UUID to identify the partition. using the command blkid one can determine the UUIDs for the partitions. Changing this made the system boot.

Upgrading the system…. as the system was out of operating for a few months, there are off course many many updates available. Please note, removing the copied modules again, otherwise the kernel upgrade will fail over the file conflict, as it will attempt to install those. Other errors, which I have met the recent months, such as the /etc/font/conf.d/* exists, resolved my renaming that directory, also appeared again.

Another problem appeared when trying to upgrade glibc. As I have been attempting to resolve the problem, I do not have the exact error message anymore. Something like not overwriting dir lib with file. Therefore, I figure this is caused by the changed in the filesystem, changing the directory /lib to a symlink /usr/lib. Doing this on a live system required calling ld-2.16.so manually, as, after renaming the /lib, running dynamically linked binaries, of course, fail.

[root@blaatkonijn /]# mv lib lib_
[root@blaatkonijn /]# /usr/lib/ld-2.16.so /bin/ln -s /usr/lib /lib

After this, the glibc package installs…. and after waiting for over 500 packages to install, we’re done. Rebooting the system… which succeeds… however, I see a text login, my graphical login doesn’t start. But this is another known issue, which I was still to report about.

The problem is rather simple… and if one would read all the messages during the upgrades, one would have noticed. However… when a lot of packages are being installed, such a notice is snowed under quickly. As mentioned, many things have changed in the ArchLinux world. The sysvinit has been replaced by systemd. To boot correctly, one is supposed to add systemd to the init= kernel parameter. From the pacman logs on my laptop:

[2012-09-04 18:09] :: Append 'init=/bin/systemd' to your kernel command line in your
[2012-09-04 18:09] bootloader to replace sysvinit with systemd

So… now, the system is working correctly again. I should add that sound card again and verify it works with ArchLinux, so I can say for sure Windows sucks!.

First of all, I have a confession to make. I occasionally use Microsoft products. On my desktop computer I have installed various Operating Systems, including Microsoft Windows XP SP3.

My ArchLinux installation on this system is broken after a kernel upgrade. During kernel upgrades, a new initramfs is being built as well. There is something wrong in my installation causing the resulting initramfs to be broken. So, I decided to use Windows XP in stead.

When I attempted to boot Windows XP, I encountered a BSOD during boot. The message was INERNAL_POWER_ERROR. I have not encountered this BSOD before. After looking around on DuckDuckGo, it appears to be related to the power managemant subsystem. Even booting in safe mode resulted in the same error.

BSOD: INTERNAL_POWER_ERROR

So, what was the cause of this problem? Well… before I continue, I wish to show the answer Microsoft showed after I was able to boot the system again.

HP Memories Disc Creator. This has been installed with either my printer or my scanner. However… a program to burn a CD with photos, how can it cause a BSOD. Looking at the functionality, it should be a userspace application, and so it should not be able to cause an BSOD, especially when this application was not running at all! Is Hewlett-Packard doing something fishy behind my back? Or did Microsoft fail at pointing out the cause of the problem? And how is updating Windows going to help with a problem caused by a third-party product?

Well…. let me disclose some more details on the cause of the problem. I recently added a sound card to the system. This sound card appeared to operate fine on other Operating Systems. (Even though, I haven’t checked if it actually functioned. I hadn’t connected the cables yet) However, this sound card, or rather, its driver, seemed to be the cause of the INTERNAL_POWER_ERROR.

The sound card, a Creative Labs ES1370, an old sound card I still had lying around somewhere, is supposed to work out-of-the-box on Windows XP, but somehow, its driver causes the BSOD. I have verified it by renaming the driver file, and Windows booted fine. Putting the file back, and activating the device caused Windows to freeze, to BSOD again on next boot. Therefore I have removed the card.

Besides, there are some more computer problems I should write about…. and I should have written about them right after they happened, as I am forgetting the details about the problems…

But some questions remain? Is the sound card broken, or is this a pure driver issue? Perhaps it used to work fine under xp gold, but due some kernel changed it stopped functioning… I have seen this before with some driver. Or perhaps there is really a problem with this HP stuff, causing a conflict with the sound driver, even though…. that would be rather weird, wouldn’t it? Another possibility is that this driver doesn’t play nice with other sound card drivers….

Still…. it remains a strange error for a faulty sound card driver…. however, hibernation is only working when all drivers on the system support it. Once an NT4 driver is installed, or the video runs in VESA mode, Windows XP will disable hibernation. Therefore, I suppose every driver must have some interfaces to the power subsystem. If this driver was reporting some faulty data to the power subsystem it might have caused the error.