Arch Linux On The Pandora


wejp

Well-Known Member
Joined
Nov 14, 2005
Messages
1,475
Website
wejp.k.vu
Hello everyone!

I have been playing with Arch Linux (in its ARM flavor PlugApps) on the Pandora and have build a ready-to-run system that you can now download from my website, in case you are interested.

Arch Linux for the Pandora

I have preconfigured the system with X, the Slim login manager and Openbox+tint2. Besides that there aren't many applications preinstalled but you can easily install any application you like with pacman.
As I had to use a more recent kernel (2.6.37.2) than the default Pandora OS uses (2.6.27 is just too old), there are a few glitches here and there, e.g. Bluetooth does not yet work with that kernel, but most things work. Especially wireless LAN works pretty well.
 
Did you pull in libpnd to get pndnotifyd and all that, so pnd files run?

If not..
Make
Make deploy
Cp deployment/* to your build image
(more or less)

Jeffphone
 
Very awesome. I love arch on my desktop, and now the Pandora won't feel like a strange alien wasteland with no up-to-date packages. ;)

Many thanks for this.

The key repeat rate in X11 seems set quite high by default, though.
 
Thanks for this. :) I've never used Arch before, so this is certainly a different experience. I have a few things to learn.

Unfortunately I'm getting no response from nubs or touchscreen. USB mouse works, but only if it's plugged in at boot.
 
skeezix said:
Did you pull in libpnd to get pndnotifyd and all that, so pnd files run?

If not..
Make
Make deploy
Cp deployment/* to your build image
(more or less)

Jeffphone
It is not yet included, but I'll probably add it. :)

Gruso said:
Thanks for this. :) I've never used Arch before, so this is certainly a different experience. I have a few things to learn.

Unfortunately I'm getting no response from nubs or touchscreen. USB mouse works, but only if it's plugged in at boot.
I've written a little bit about nubs and touchscreen in my blog post. For the nubs, if they don't work basically try rebooting into the default Pandora OS once and then reboot into Arch. Most of the time it seems to work afterwards. As for the touchscreen, I simply did not yet configure it, but you could try for yourself, it should work. I just don't use it much myself.
 
Last edited by a moderator:
SOMEBODY BEAT ME TO IT!!! :D it's cool though... wish I had my Pandora so I could help you build for it... have you been in contact with the guys over at PlugApps about this? they have been interested in getting X up and running for Plugbox for QUITE SOME TIME now, but I think they have been lacking the time/manpower to do so. Also, have you made note of your work over on the Arch Linux forums? I've been in a general attempt to be active about Arch on ARM over there for a while now, but it seems like the general community for it has been really quiet for a long time. What you have is a breakthrough and news should be spread on all 3 fronts (but I won't take the glory away from you and go shout about it all over the place... I, instead, will let you do all that and get into some conversation with you on and off forum about helping you further develop things)... Glad somebody pulled it off! Now, time to get a real movement going behind it! :D
 
Custom Processing Unlimite said:
SOMEBODY BEAT ME TO IT!!! :D it's cool though... wish I had my Pandora so I could help you build for it... have you been in contact with the guys over at PlugApps about this? they have been interested in getting X up and running for Plugbox for QUITE SOME TIME now, but I think they have been lacking the time/manpower to do so.

Actually they finally did it. The reason why it took them quite some time was that they had to switch gcc to a more recent version (4.5). Also they were busy building their automated build environment, which helps them to keep their packages up-to-date.

Also, have you made note of your work over on the Arch Linux forums? I've been in a general attempt to be active about Arch on ARM over there for a while now, but it seems like the general community for it has been really quiet for a long time. What you have is a breakthrough and news should be spread on all 3 fronts (but I won't take the glory away from you and go shout about it all over the place... I, instead, will let you do all that and get into some conversation with you on and off forum about helping you further develop things)... Glad somebody pulled it off! Now, time to get a real movement going behind it! :D
Not yet, I just announced it here. But do not give too much credit to me. The PlugApps guys really did most of the work, with building packages and all. I just configured things for the Pandora, build a custom kernel and put together an image with all those things working together.
 
Last edited by a moderator:
This is awesome! I've been running Plugapps in a chroot on my Touch Book, and figured I'd do the same on my future Pandora. But this is even better!

But I notice that the kernel does not seem to be included in a package. I feel like there should be a "kernel26-pandora" package; that way, if your work can get merged into the main Plugapps, kernel updates can be delivered through pacman.

I don't like that it boots into X. I feel like Arch should generally come with as little pre-configuration as possible. I think this one should include the base group, pandora kernel, pandora drivers, and maybe X, but it shouldn't boot to X. Also, it shouldn't include a user account by default, but that's minor. Still, this is just my opinion, maybe others prefer it this way; I can certainly modify it as I want.

Also, making a PKGBUILD for libpnd should be trivial: as skeezix said, "make; make deploy; cp -r deployment/* $pkgdir", more or less. Even this, I think, should not be included by default, but should certainly be available. Also, there could perhaps be a "pandora-libraries" metapackage that depends on all libraries that are included in a standard Pandora install (including libpnd); that way, by just installing that metapackage, all PNDs should be able to work without modification.

I'm glad you're doing this, and I'm looking forward to getting my Pandora so I can help out :) .
 
MichaelXX2 said:
Does Audacity run on it? Please dear God say it does!
It's not in the Plugapps (ARM variant of Arch) repository, sorry.

MichaelXX2 said:
By the way, is Arch as fast as Angstrom is?
Speed is a nebulous concept. First, Angstrom has an advantage on compilation targets. I'm fairly certain that all Plugapps binaries are compiled for the armv5 architecture, whereas Angstrom binaries are compiled for the Pandora's armv7a. This allows Angstrom binaries to take advantage of advances in the processor architecture. But if you really want that extra speed in Plugapps, the Arch Build System (ABS) makes it easy to rebuild any package in a manner similar to Gentoo's portage.

Second, speed will be influenced depending on what background processes are running; Plugapps could have the advantage here. Arch Linux is a very minimalist distro; a base desktop install includes almost nothing beyond a basic command line (not even X). This allows you to build up a system with no extraneous software or unwanted background processes. As far as I can tell, OPT has done a pretty good job of keeping the Pandora firmware light, and users could certainly tweak it further, but I find it easier to build up a really minimal environment to get the best performance.

In conclusion: "which is faster" depends on the kind of work you want to put into making it faster.
 
Last edited by a moderator:
Tempel said:
This is awesome! I've been running Plugapps in a chroot on my Touch Book, and figured I'd do the same on my future Pandora. But this is even better!

But I notice that the kernel does not seem to be included in a package. I feel like there should be a "kernel26-pandora" package; that way, if your work can get merged into the main Plugapps, kernel updates can be delivered through pacman.
Yes, you are right. A kernel package would be nice and I'll probably create such a package once kernel configuration is somewhat final. Currently I'm still working on the kernel config and often it is pretty much a try and error approach, but I'm getting closer.

I don't like that it boots into X. I feel like Arch should generally come with as little pre-configuration as possible. I think this one should include the base group, pandora kernel, pandora drivers, and maybe X, but it shouldn't boot to X.
I was thinking whether or not I should run X on boot and finally decided to run X by default, simply because most people will probably want to run X on the Pandora anyway. If you don't like it, it is simply a matter of removing "slim" from the daemons list in /etc/rc.conf.

Also, it shouldn't include a user account by default, but that's minor. Still, this is just my opinion, maybe others prefer it this way; I can certainly modify it as I want.
I included a user account simply because that way people can play with the image without the need to configure lots of things themselves. So it gives you a basic idea of how one could configure a Pandora setup. If you don't like it, simply remove the user. Of course it would be possible to provide a really minimalistic image. Once all this is a little more mature, it is probably a good idea to provide such an image as well, but to get people started quickly I think it is a good idea to at least also provide a more fully featured image. Especially since the hardware of the Pandora is pretty much fixed, so most people are going to install many of the now included packages anyway. Don't get me wrong, I really like Arch's minimalistic approach.

Also, making a PKGBUILD for libpnd should be trivial: as skeezix said, "make; make deploy; cp -r deployment/* $pkgdir", more or less. Even this, I think, should not be included by default, but should certainly be available. Also, there could perhaps be a "pandora-libraries" metapackage that depends on all libraries that are included in a standard Pandora install (including libpnd); that way, by just installing that metapackage, all PNDs should be able to work without modification.
Yes, I'll create such a package soon.

I'm glad you're doing this, and I'm looking forward to getting my Pandora so I can help out :) .
You're welcome. :)
 
Last edited by a moderator:
Okay, those are good points wejp. I know there are several ways to start a login manager, but from the daemons array is probably the most straightforward to modify. My preference is a console login followed by "startx" in my bashrc, so I'll make it do that. Thanks again.
 
I've updated the kernel a bit. If anyone wants to try it, download the kernel, rename it to uImage and put it in /boot/ on the sd card. You might want to backup the existing kernel just in case.
The new kernel comes with touchscreen support as well as zram support.
The touchscreen's axes need to be inverted, which you can do by editing the /etc/X11/xorg.conf.d/10-evdev.conf file.
In the touchscreen section a few lines need to be added:

Option "InvertX" "true"
Option "InvertY" "true"
Option "Calibration" "100 3900 200 3800"


With zram one can create compressed block devices in RAM. This can be used for swap or the /tmp directory.

By default there is one zram device called /dev/zram0 . To use that device, it needs to be initialized first, like so:

# echo '67108864' > /sys/block/zram0/disksize

This sets its size to 64 MB.
Then you can use it as you would use any other disk, e.g. create swap:

# mkswap /dev/zram0 && swapon /dev/zram0
 
I have created an Arch package for the Gmu Music Player:

gmu-0.7.3WIP-1-arm.pkg.tar.xz

To install it, as root simply run

# pacman -U gmu-0.7.3WIP-1-arm.pkg.tar.xz

Then you most likely want to install some decoders, that are supported by Gmu, e.g. if you want to install the MP3 and the FLAC decoders you would execute

# pacman -S mpg123 flac

Currently there is no libvorbisidec (tremor) package available, which is necessary for Ogg Vorbis playback, but I'll create such a package later.

To be able to use the audio device with your normal user account you need to add the user to the "audio" group:

# usermod -a -G audio user

When you've done all that, you can run gmu by executing

$ gmu


I have also created a package for the Pandora helper libraries (libpnd etc.): pandora-libraries-1.0.1-2-arm.pkg.tar.xz
Currently, its use is somewhat limited, because many PND files seem to have unmet dependencies.
 
nice stuff, wejp... the unmet deps issue is most likely due to those deps being default packages in the Pandora OS... if you wanna gear your Arch Linux port to have as much of a plug-n-play capability as the standard OS and be able to run most PNDs, I'd suggest accounting for all the packages installed in the Pandora OS and finding their equivalents in the Arch repositories (standard and AUR) and installing them directly into Arch and rebuild your image to distribute...
 
Custom Processing Unlimite said:
nice stuff, wejp... the unmet deps issue is most likely due to those deps being default packages in the Pandora OS...
Yes, but unfortunately, there are some version mismatches, which means even when installing the required packages, some things still don't work as the PNDs expect different versions of certain libraries...

if you wanna gear your Arch Linux port to have as much of a plug-n-play capability as the standard OS and be able to run most PNDs, I'd suggest accounting for all the packages installed in the Pandora OS and finding their equivalents in the Arch repositories (standard and AUR) and installing them directly into Arch and rebuild your image to distribute...
..which is why this does not work. One way to solve that issue might be to figure out all the missing libs and create some sort of "compatibility package" containing those missing libs to be able to run PND files.
 
Last edited by a moderator:
hmm... sounds interesting... would the pnd's require alteration (to point to the proper libraries) or are you working to find something more transparent?
 
Back
Top