Arch Linux ARM fresh rootfs


Tempel

Active Member
Joined
Dec 30, 2008
Messages
670
Age
37
Website
randy.heydon.selfip.net
I've put together an up-to-date rootfs of Arch. It's nothing you haven't seen before, but given how I struggled to get a proper Arch install, I thought others might find this useful. The heavy lifting was done by Cloudef, who built the Pandora-specific packages used here. His PKGBUILDs are on Github, and his binary repository is already included in the pacman configuration of this rootfs.

I tried to keep this as minimal as possible so you can build it up however you like. The only user is root, with no password required to log in. Included packages are only what's needed to run the hardware (though some might be unnecessary - let me know). The only services enabled are also hardware-related. Installed top-level packages:

  • base (the group, excluding kernels for all the other devices Arch ARM supports)
  • wpa_supplicant
  • wireless_tools
  • xf86-input-joystick
  • xf86-input-keyboard
  • xf86-input-mouse
  • xf86-input-synaptics
  • xf86-input-void
  • xf86-video-fbdev
  • xf86-video-modesetting
  • xorg-xinit
  • xorg-server
  • xorg-server-utilsPandora-specific, from Cloudef:
  • linux-pandora
  • pndevmapperd
  • powervr-sgx-5x
  • ti-wl1251-firmware
  • xf86-video-omapfb-pandora
  • xorg-conf-pandora
To use, format an SD card with a single ext2 partition, and unpack into it, then reboot while holding the right shoulder button to get the boot menu. Different partition layouts are left as an exercise to the reader, but shouldn't be hard (mostly a matter of copying and editing boot.txt, I would think). After that, you should create a password for root, update your packages, create a new user, and install and configure the window manager/desktop environment of your choice. Note that, if you use an .xinitrc, it needs to source the Pandora xorg configuration files; if you copy /etc/skel/.xinitrc to create your .xinitrc, it automatically sources all those files. Of course, you can also use it in a chroot fairly easily.
Known issues:

  • Not all keys register properly in a virtual console. So far, I've noticed : and _ fail, though everything works in X. If you use Vi, that can be trouble, but know that you can save and exit with ZZ.
  • SGX works only in framebuffer, not X, so you don't get full acceleration.
  • Any software compiled for Zaxxon is unlikely to work, as Zaxxon uses software floating point (softfp), while Arch uses hardfp.
  • Therefore, no support for PNDs, obviously. libpnd and friends could be built for Arch, but very few existing PNDs would run.
I hope that's helpful. Let me know if I've done anything stupid.
 
Last edited by a moderator:
First of all, thank you Tempel for the rootfs.

I have it working at I find it is of excellent quality.

One thing I would add to it is dialog so that wifi-menu works out of the box. It just makes connecting to install packages much easier.

I took the liberty of making the AUR packages of pandora-misc and pandora-libraries(libpnd).

They work for the most part. Loading PNDs doesn't work across the board, naturally, but I have had some success with gngb.pnd

No automatic discovery, yet and no GUI for loading the PNDs. I was just having fun getting it to work.

You can get a PND running with the following command, (note that you must be in root or use sudo):


# pnd_run /path/to/package.pnd

On another note, has anyone been able to get the desmume package running on Arch?

I am getting a segfault from libusbx:


$ desmume
Slot 2: NONE
Microphone successfully inited.
DeSmuME 0.9.9 svnr0 ARM NOSSE
libusbx: debug [libusb_get_device_list]
Segmentation fault (core dumped)

Does anyone know how I can debug this? If not, who should I send a bug report to? Is this a problem with the custom kernel, libusbx, desmume, archarm?

Thank you and keep up the good work!
 
Last edited by a moderator:
The software compiled for default OS is softfp, archarm here is hardfp. It will not work without including all the softfp libraries of original OS and sandboxing the pnd's. 

Note that, if any of your packages provide pndevmapper, or whatever it was. You should make it conflict with the pndevmapperd here: https://github.com/Cloudef/archlinuxarm-pandora/tree/master/extra/pndevmapperd

Also, if you still find the PND stuff useful, I can take them into archlinuxarm-pandora git, and compile them later into the binary repo (updating the old recipies as well at the same time)

On another note, I'm quite busy with many stuff.

But I would really apperiacate, if someone got omapdrm working with GLES acceleration.

So far X works with omapdrm, however there are minor problems with it choosing TV-OUT resolution (and multimonitor).

(NOTE: you will need 1ghz pandora, the newer hardfp SGX drivers only work with it's GPU)

To compile kernel with omapdrm, you need to cherry-pick:

1. cd5351f4d2b1b884d8c21a7636d5c0ea3b69d123

2. e2fb50521c3811eddd60d911bc6d4d191f5d6e61

(If these don't work ask notaz for details, it's been quite time I last worked on this.)

 

When booting pandora, you will get black screen, because the display is not enabled by default. So you will need SSH access (or you are really good at blind typing)

echo 1 > /sys/devices/omapdss/display0/enabled

To use omapdrm with X11, you need to compile the xf86-video-omap

I think it had AUR PKGBUILD.

The resolution is width of pandora, height of tv-out (stupid multimonitor)

There was way to fix the resolution, but I don't remember it anymore.

(ompadss/display1 is the tv-out though)

I dint have time to test getting the GLES acceleration working through sgx userspace libraries however.

If someone manages to get these work, and tell the steps, I'll make recipe for the the omapdrm stuff.

I have some interest in getting wayland related deveploment going on Pandora (plus it would be great to have GLES working on X11 as well through DRI2)
 
Last edited by a moderator:
I'm looking at installing Arch on my ghz.

 

My plan is like this:

Create an Ext4 partition on a 16GB SD card - I want journaling because I've lost big bits of my filesystem due to a graphics related hang

Extract the tarball into the partition

Boot (hopefully)

Update the packages and fix the /bin changes manually

Install i3 and things, start having a bit of fun...

 

Is there anything there that is going to break?

Will X work?

 

I've had OpenGL software hang Super Zaxxon 1.54 very regularly so I'm  not bothered about OpenGL, but I like Mtpaint and Mplayer, and I'd really like to be able to use TV out too. Is this possible with the current state of the driver packages?

 

Thanks for putting the work in to building a rootfs and packages!
 
I've had OpenGL software hang Super Zaxxon 1.54 very regularly so I'm  not bothered about OpenGL, but I like Mtpaint and Mplayer, and I'd really like to be able to use TV out too. Is this possible with the current state of the driver packages?
omapfb should work with tv-out, however, I'm not sure if my backport works with latest xorg anymore. Might need to be updated since omapfb is no longer developed.

(you can still use fbdev, if omapfb fails)
 
Last edited by a moderator:
Back
Top