Fedora ARM 12 on IGEPv2 (Beagle Board clone)
by Matthew Wilson
Hi all,
I would like to introduce myself to the group. I have recently
received an IGEPv2 board [1], 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
seem simple.
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
set variants).
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.6.31).
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 [2].
Does this, in any way, help with the compatibility of packages
targetting Cortex-A8?
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!
Kind regards,
Matthew
[1] http://www.igep-platform.com/index.php?option=com_content&view=article&id...
[2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344j/Beih...
7 years, 5 months
Regenerating the cross stuff
by Andy Green
Hi -
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:
http://ftp.linux.org.uk/pub/linux/arm/fedora/cross/latest/source/
I thought I would try first to recook
gcc-4.1.2-33.fa1.cross5.src.rpm
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
/projects/mips/cross/rpmbuild/SOURCES/gcc-4.1.2-20070925.tar.bz2
+ /bin/tar -xf -
+ STATUS=0
+ '[' 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):
+ /bin/cat
/projects/mips/cross/rpmbuild/SOURCES/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
gcc/config/rs6000/t-linux64.rej
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.
-Andy
12 years, 10 months
Kernels for common arm devices
by Peter Robinson
Hi All,
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.
Thoughts?
Cheers,
Peter
12 years, 10 months
Mybook World, old edition
by Henrik Nordström
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.
Regards
Henrik
12 years, 10 months
uaputl
by Bernhard Schuster
Please can anyone provide me the uaputl binary? I accidently erase the whole
nand and forgot to backup uaputl and I can not find it anywhere at
plugcomputer nor on the browsable net.
Regards
Bernhard
12 years, 10 months
Kernel failing to boot at guruplug
by Bernhard Schuster
Hi
I finally got a running kernel compiled, flashed it successfully and got it
to boot halfway. The only thing being missing is the console coming up. Here
is the boot sequenz, and I think the kernel lacks a driver, but I do not
understand which one is missing from that output.
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell GuruPlug Reference Board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttyS0,115200 ubi.mtd=2 root=ubi0:rootfs
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 256MB 256MB = 512MB total
Memory: 512304k/512304k available, 11984k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xe0800000 - 0xfe800000 ( 480 MB)
lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0028000 ( 128 kB)
.text : 0xc0028000 - 0xc0657000 (6332 kB)
.data : 0xc0680000 - 0xc06b2ca0 ( 204 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:114
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Kirkwood: MV88F6281-A1, TCLK=200000000.
Feroceon L2: Cache support initialised.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource orion_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NTFS driver 2.1.29 [Flags: R/W].
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
JFS: nTxBlock = 4002, nTxLock = 32019
SGI XFS with ACLs, security attributes, realtime, large block/inode numbers,
no debug enabled
Btrfs loaded
msgmni has been set to 1000
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
loop: module loaded
sata_mv sata_mv.0: version 1.28
sata_mv sata_mv.0: slots 32 ports 1
scsi0 : sata_mv
ata1: SATA max UDMA/133 irq 21
GPIO NAND driver, �© 2004 Simtec Electronics
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V
8-bit)
Scanning device for bad blocks
Bad eraseblock 132 at 0x000001080000
Bad eraseblock 3241 at 0x000019520000
Bad eraseblock 3494 at 0x00001b4c0000
Bad eraseblock 3850 at 0x00001e140000
Bad eraseblock 3884 at 0x00001e580000
Creating 3 MTD partitions on "orion_nand":
0x000000000000-0x000000100000 : "u-boot"
ftl_cs: FTL header not found.
0x000000100000-0x000000500000 : "uImage"
ftl_cs: FTL header not found.
0x000000500000-0x000020000000 : "root"
ftl_cs: FTL header not found.
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:50:43:67:64:06
net eth1: port 0 with MAC address 00:50:43:67:64:07
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
orion-ehci orion-ehci.0: Marvell Orion EHCI
orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mice: PS/2 mouse device common for all mice
rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: mvsdio driver initialized, lacking card detect (fall back to polling)
via_sdmmc: VIA SD/MMC Card Reader driver (C) 2008 VIA Technologies, Inc.
MV-CESA:Fallback driver 'hmac(sha1)' could not be loaded!
alg: hash: Failed to load transform for mv-hmac-sha1: -2
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
mmc0: new high speed SDIO card at address 0001
mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
ata1: SATA link down (SStatus 0 SControl F300)
mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: hardware counters not available
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: not present
rtc-mv rtc-mv: setting system clock to 2010-07-20 07:56:52 UTC (1279612612)
usb 1-1: new high speed USB device using orion-ehci and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.1: new high speed USB device using orion-ehci and address 3
scsi1 : usb-storage 1-1.1:1.0
scsi 1:0:0:0: Direct-Access Generic STORAGE DEVICE 9909 PQ: 0 ANSI: 0
sd 1:0:0:0: [sda] Attached SCSI removable disk
libertas: can't load helper firmware
libertas: failed to load helper firmware
libertas_sdio: probe of mmc0:0001:1 failed with error -2
VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available
partitions:
1f00 1024 mtdblock0 (driver?)
1f01 4096 mtdblock1 (driver?)
1f02 519168 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(0,0)
[<c002d64c>] (unwind_backtrace+0x0/0xe4) from [<c003e048>] (panic+0x68/0xf8)
[<c003e048>] (panic+0x68/0xf8) from [<c0008fbc>]
(mount_block_root+0x1c4/0x20c)
[<c0008fbc>] (mount_block_root+0x1c4/0x20c) from [<c0009194>]
(prepare_namespace+0x8c/0x184)
[<c0009194>] (prepare_namespace+0x8c/0x184) from [<c0008918>]
(kernel_init+0x118/0x160)
[<c0008918>] (kernel_init+0x118/0x160) from [<c00293dc>]
(kernel_thread_exit+0x0/0x8)
Any tipps?
Regards
Bernhard
12 years, 10 months
How to get started?
by Andrew van der Stock
Hi there,
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.
thanks,
Andrew
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.
12 years, 10 months
Fedora on NSLU2
by Eric Christensen
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
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?
Thanks,
Eric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJMO8J7AAoJEDbiLlqcYamxIqoP/100MVhVkRqnJKulwAAC6n7i
dnNtEL9zY7n2kfcjpdj3km3MiCe4KP8BrrL7AzjkhDcUC986owIn4ALnFNkCDYmm
U83h/+J+fp7Kzn4lJXfaCJM9ArPQe2nddae8K8ezyiDfXKubJ1hRIZXCGzXa5mX/
ggKSOZFW8+xzlMwr/5+zDRVpzEssiX9GmMOrWnnkery6cvq14ZZmAxBeFKuDrBSW
XXnk+W6svIH8h4XCbgHJqWDOOmdv1ZEi6cRH0EZf65BWI/3rhE877sFD6dNZK5IX
b4GHXzr+TPIioj5NlJjb/LL7Ha6mYS4HwNDYTnF7lGwdxiqw8qGuUlfsxXd5cXCP
2yvMiVwBLbiISkKdVkDpFAPWd1Ur19cbG1WCaYFRTPwgqX9Z//Dn6rrS5XJgAn3y
jP+thFAlVsbXLqxKOtt1u9iIQmK6tfoYsSBgBg8uVJX/qVp21fTPOi45vvzeBouM
NfQUUsgdZyyLL2BaTMt6tmpT+7hIqFAJzE58igDqNaXy1NCpkoR5vwHPQPeW5nEC
bNCo/5OrrJb3IxsUzUy+W8m1jExIipyy5O5XF1liC6DCTnOpl+Yl8Y/SggV32o4F
uVbcuxUHydgnaEJYqC1SV8dOT9fcrCU9owejvR6s4Ccl2Lo7uPPGEraoWZwGfeLB
r9mKUIAV3reMpb3XTEvf
=gnfx
-----END PGP SIGNATURE-----
12 years, 11 months