[fedora-arm] Working on Fedora-arm "port" for Allwinner A10 based devices

Hans de Goede hdegoede at redhat.com
Thu Dec 20 10:40:04 UTC 2012


Hi All,

Mini self intro for those who don't know me. I'm a long time
Fedora Contributor (since day 1), working for Red Hat for 4
years now. I've worked on a lot of stuff, notably are my work
on anaconda, usb webcam kernel drivers, hwmon kernel drivers,
usbfs kernel interface and usb redirection / emulation in qemu.

I'm very interested in fedora on arm, and as such I've started
a "little" hobby project to get Fedora-arm up and running
on allwinner a10 boards.

After 2 weeks (mostly weekends) of fiddling and writing
some kernel patches (more to follow). I've fedora-arm
up and running nicely on an mk802-II "hdmi-stick", but it
still needs some polishing before I can make images available.

It also runs on the gooseberry board Spot gave me at
Fudcon Paris, but the hdmi out of that board is having
issues...

My work is based on:
-f18arm-latest-armhfp-xfce.tar.xz
-https://github.com/linux-sunxi/linux-sunxi  (3.4 branch)
-https://github.com/linux-sunxi/u-boot-sunxi

So all 100% open (not all upstream / mainline, but a group
of people is working on that).

Besides announcing my work I also have a bunch of questions:

1) Does anyone know a good place to host images, IE can I
create a fedorahosted page for this and/or abuse
fedorapeople.org for this?

2) There are many A10 based devices (I've 3 more coming
from china / hong kong), and all of them have different
board-configs.

The good news here is that the A10 boot setup involve
something called a "fex" file, which is a config file which
tells the kernel about which parts of the A10 are used on
a board and which gpio pins are connected to what.

So all a10 boards share a common kernel-build, they
just need a different fex file, and a different u-boot.

AFAIK for F-18 the same is done for some supported boards,
where there is a single kernel, which gets configured through
devicetree for specific boards. Ideally the A10 (sunxi)
kernels should move over to devicetree too, but that will
be a while, and won't really change the problem.

So now we finally get to the question, how to deal with
the situation where we can, and want to, support many
boards, all with the same image, except for the need
of a different u-boot and a small config file in /boot.

One option would be to create 8 almost identical images,
but that seems like a bad idea to me. What I'm currently
thinking about is creating 1 4GB image for all A10 devices
and configure it by default for the MK802 (version 1),
but include compiled u-boot "images" and fex files
under /boot, together with a small .sh script using dialog
which allows the user to change the selected board-config.

The user can then dd the image to an sdcard, mount it
and then run the sh script to select the board model he
wants to use it with. The sh script will be written so
as to run on any architecture and distro.

It could even be run on an actual A10 device, assuming the
device is compatible with the MK802 revision 1, which most
are (they need there own u-boot + fex to enable usage of
1G versus 512 MB ram, extra USB ports, etc.).


So summarizing I'm looking for suggestions for:
1) Where to host Fedora-18 images for A10 based devices
2) How to deal with having board-specific u-boot + fex file
without multiplying the number of images.

Regards,

Hans


More information about the arm mailing list