I would like to introduce myself to the group. I have recently
received an IGEPv2 board , which is based on the Beagle Board, but
with wifi, bluetooth, ethernet, and more RAM. I'm still at the "wow,
it's tiny and it runs Linux" stage. I should get a bit more time over
the next month and Christmas to play around properly with it.
I'm new to embedded development, but neither new to Linux nor ARM
(writing my first ARM assembly some 15 years ago). However, for the
past 6 years I've not even built a Linux kernel, preferring to use the
default kernel in Fedora for simplicity :)
Firstly, a thank you to those involved in Fedora ARM for getting it to
this stage. If I get the time, I'd really like to contribute some
(probably small) effort to help get Fedora ARM working well on the
IGEPv2 and Beagle Board. As I progress, I'd like to know what I can
do to help.
In the meantime, I have some questions. Apologies in advance if these
1) There are various different kernels from different sources. I'm
used to there being a small set of "right" kernels (that is, Fedora's
idea of "right") for x86. I fully appreciate that different ARM-based
boards are quite different in capabilities (like different instruction
a) Is there likely to be some standardised vanilla Fedora ARM kernel
source? (Or is that simply the source RPM available for Fedora?)
Then patches /could/ be offered for the more common systems (e.g.
Beagle Board & clones, SheevaPlug).
b) Would it then make sense to offer these as pre-built RPMs for common systems?
c) Is there any guidance on which version is good to use as a base?
I've seen quite different kernel versions being used (from 2.6.27 to
2) I understand a little bit about the different calling conventions,
FP differences (e.g. soft FPU versus VFP), and instruction set
differences (v5 versus v7).
a) Can the kernel can be safely built with a different instruction set
targeted? (I know there are different optimisation options passed to
GCC. Apologies if this seems a bit newbie-ish.)
b) For FP-heavy programs (e.g. ogg encoding), is it possible to build
the packages with VFP/NEON but still get them to work in a soft FPU
system? I'd imagine any call to an external library would have to
somehow be defined to use a different calling standard.
3) There seem to be some missing dependencies in the packages in the
current Fedora ARM repository. For example, emacs is requiring
libotf, which doesn't seem to be there in the repository. And
likewise with the xorg-x11-font* packages needing ttmkdir. I'm
confused as to how the RPM could have been successfully built without
it. What am I missing?
4) I see there has been some discussion over unaligned data access.
(Oh, I remember that from the ARM2 days.) It seems as if the
Cortex-A8 cores allow unaligned data access when set up to do so .
Does this, in any way, help with the compatibility of packages
5) I've managed to get various source packages missing from the Fedora
ARM repositories to compile successfully (natively). I guess there is
a reason why there are not in the repos right now -- is that reason
down to time and priorities, or is there some blocking bugs with many
of these packages?
I look forward to being able to contribute something back into Fedora!
I'm interested in regenerating the cross compiler packages, first just
as it, then maybe uplevelling it and eventually to use the same
technique to get a set of packages for MIPS cross compile.
I found some SRPM goodies here:
I thought I would try first to recook
without changes as a sanity check using this rawhide x86_64 laptop.
First it wanted firefox-devel that doesn't exist any more, but I did the
rebuild with --nodeps (all other deps are there) and build_java=0 to get
around that for now.
The build chokes out with:
warning: line 168: prereq is deprecated: Prereq: /sbin/install-info
warning: line 352: prereq is deprecated: Prereq: /sbin/install-info
warning: line 417: prereq is deprecated: Prereq: /sbin/install-info
warning: line 429: prereq is deprecated: Prereq: /sbin/install-info
warning: line 494: prereq is deprecated: Prereq: /sbin/install-info
warning: line 530: prereq is deprecated: Prereq: /sbin/install-info
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Vh8YUW
+ umask 022
+ cd /projects/mips/cross/rpmbuild/BUILD
+ cd /projects/mips/cross/rpmbuild/BUILD
+ rm -rf gcc-4.1.2-20070925
+ /usr/bin/bzip2 -dc
+ /bin/tar -xf -
+ '[' 0 -ne 0 ']'
+ cd gcc-4.1.2-20070925
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #1 (gcc41-ice-hack.patch):'
Patch #1 (gcc41-ice-hack.patch):
+ /bin/cat /projects/mips/cross/rpmbuild/SOURCES/gcc41-ice-hack.patch
+ /usr/bin/patch -s -p0 -b --suffix .ice-hack~ --fuzz=0
+ echo 'Patch #2 (gcc41-ppc64-m32-m64-multilib-only.patch):'
Patch #2 (gcc41-ppc64-m32-m64-multilib-only.patch):
+ /usr/bin/patch -s -p0 -b --suffix .ppc64-m32-m64-multilib-only~ --fuzz=0
1 out of 1 hunk FAILED -- saving rejects to file
error: Bad exit status from /var/tmp/rpm-tmp.Vh8YUW (%prep)
Well, quite possibly I am missing the point badly, for example I don't
know why there are three SRPMs for everything in that dir.
If anyone has any tips or knowledge to share I would love to be able to
uplevel and use this stuff with MIPS.
With the ARM secondary arch slowly ramping up and more cheap arm
devices becoming available I think it would be useful to provide some
ARM kernel images for some common devices out there to make it easier
for developers and testers to get involved without having to compile
their own kernel first. How hard would this be to do, sort of like
i386 provides a PAE and non PAE kernel.
I think the 3 devices that would be a good start are the ones that are
already running in the koji instance as they are commonly available
and someone has obviously done the work to work out what is needed.
>From there the other devices that come to mind are the Nokia n900
(should be able to borrow the kernel config from MeeGo) and
BeagleBoard (I think MeeGo has one for this too). It might even be
possible to use the MeeGo kernels with a Fedora rootfs.
Trying to get Fedora running on an old Mybook World, but can not seem to
get it to run at all..
>From what I understand this is the same that Peter Lemenkov successfully
got Fedora 11 running on some time ago, but I only get "illegal
instruction" when trying to run anything..
I am using the original kernel shipped by WDC.
I've offered to help with the OLPC ARM port for OLPC 1.75. Obviously this hardware doesn't exist yet, so I have a few questions.
I've just installed x64 F13 and got a Fedora account.
1. How is the best way to get started?
2. Should I get a cross-compiler going, and pick a package to port? Obviously, I'd prefer to work on the packages that OLPC 1.75 will need, but am happy to work on anything you need.
3. How can I test the resulting RPM?
4. I'm going to be in the US next week for OSCON. I will try to pick up a Beagle Board or GuruPlug, but it seems like supply is severely constrained for any / all of the suitable ARM boards. As the OLPC 1.75 and XO-3 will use Marvell parts, will ARM-A8 boards be a suitable target, or should I go with a Marvell based device?
I have long lost experience with kernel programming (porting Reiserfs and other ports to Alpha back in 2000 or so, when LP big endian 64 bit was very rare), X11 drivers (Matrox cards) for XFree86 back in the 1990's and pnm2ppa - a printer driver for HP's worst ever printers.
p.s. I have three XO-1's, but obviously these are not that useful for this effort unless parity is achieved for the OS with the 1.75.
-----BEGIN PGP SIGNED MESSAGE-----
I'm trying to get Fedora installed on my NSLU2 but I'm not really sure
what I need to do to make that happen. I'm currently running what I
think is a Debian OS that a friend setup for me. But that OS isn't
updated that often and I find it very difficult to work it when trying
to do anything that I'm used to doing in Fedora.
Can anyone point me in the proper direction?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
-----END PGP SIGNATURE-----