Archive for the ‘Uncategorized’ Category

Pandaboard and Gentoo: Part Two (Running Gentoo!)

November 27, 2010

Hi,

This is the second post on Pandaboard and Gentoo, after the first one with the unpack and specifications. In this one i’ll speak about putting Gentoo on it.

First i’d like to announce the guide for installing Gentoo on the Pandaboard. Check it out at: http://dev.gentoo.org/~armin76/arm/pandaboard/install.xml and feel free to send corrections to my way, either by mail or by putting a comment on this post.

I’d like to thank my coworker Jordi Inglés for providing me an 8GB SDHC to use with the pandaboard.

Secondly here are my impressions about it. Installing Gentoo on it was easy as always, one of the first problems i encountered was that there was no information about what x-loader/uboot/kernel should everyone use, as the vanilla kernel.org doesn’t work yet(or thats what i’m being told).

After i found the correct/updated x-loader/uboot/kernel i was able to boot gentoo on it, using 1GB of RAM. After doing some heavy compiling, for example when building gcc, i encountered random segfaults and sigbuses. Of course, this wasn’t documented either(Ubuntu is not Linux). There’s a bug in the kernel for the pandaboard, which gives those issues when using more than 716MB of RAM, check this link.

Regarding the hardware provided by the pandaboard, here’s what i got:
-Audio(non HDMI): Works fine with an updated kernel
-Bluetooth: Needs external tools to be able to use it.
-Wifi: The pandaboard uses a TI WL1271, but the driver in the mainline kernel doesn’t support the pandaboard yet. For now you need to use an external driver and external tools(to load the firmware) which i haven’t been able to do yet.
-Video: Haven’t had time to test it, obviously needs an external driver for full acceleration.
-SD slot: Works fine
-Ethernet: Works fine

Regarding the buildtimes, i compared it with the other Cortex A9 hardware i have, which is the Nvidia Tegra2 devkit. I used an 8GB USB stick(with an ext2 filesystem) to do the “benchmarking”, using the same stage3 and portage snapshot on both boards. The results are the following
-glibc: 1h24m <- the tegra was 13 minutes faster
-gcc: 2h6m <- the tegra was 15 minutes faster
-binutils: 12m7s <- the tegra was 5 seconds slower
-portage: 1m10s <- the tegra was 8 seconds faster

Also i'd like to announce the pandaboard overlay, for all the stuff needed to use the hardware integrated in the pandaboard. Please keep in mind that for now i've only got bluetooth to work.

Have fun!

Pandaboard and Gentoo: Part one (unpacking and specs)

October 28, 2010

Hello,

Like i did with the Nvidia Tegra2, i’m going to talk about the Pandaboard which i received two days ago.

The story begins at late september, once the brand-new Pandaboard got announced. Before it was announced how much it would cost and before you could buy it, the Pandaboard Early Adopter Program (PEAP) was available. This program allowed(the two phases are now over) developers to submit their project and be allocated a Pandaboard if the project was among the most voted ones. The first phase selected the top5 projects and the second one the top10.

I submitted my proposal for the first phase, and luckily enough my project and another one were tied with 5 votes, which was the maximum any project achieved.
My project is mainly about documenting the installation of Gentoo on the Pandaboard and provide everything needed to install it. Also to help users install it as well. After i have done everything, the board will be used to test/build packages and keep testing new kernels/applications made by OMAP developers.

Let’s go with the specs. The Pandaboard has a OMAP 4430 Dual-Core ARM Cortex-A9 processor @ ~1GHz, 1GB of DDR2-800(400MHz) RAM, audio input/output, Bluetooth(through TI WiLink 6.0 solution), 802.11b/g/n Wi-Fi(through TI WiLink 6.0 solution), 10/100Mb USB-based ethernet(SMSC LAN95xx), HDMI, DVI-D(using an HDMI port), 2 USB ports, 1 USB OTG port and 1 SD slot. You can expand the specs in their official webpage: http://pandaboard.org/content/platform

One of the things i should add regarding the specs, is that there are two revisions publicly available to the board: the EA1 and A1. The EA1 are the boards that were available through the PEAP program i talked above, the A1 are the ones that you can buy. The difference between them is that the EA1 boards use 2.0 silicon and the RAM is clocked at 200MHz(DDR2-400). The A1 boards use 2.1 silicon and are clocked at 400MHz(DDR2-800). That means that you can’t compare any benchmark i can do, since the RAM of my panda is slow compared with a panda you can buy, which after all is the real product.

Here’s the cpuinfo:


Processor : ARMv7 Processor rev 2 (v7l)
processor : 0
BogoMIPS : 2013.49

processor : 1
BogoMIPS : 1963.08

Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc09
CPU revision : 2

Hardware : OMAP4430 Panda Board
Revision : 0010
Serial : 0000000000000000


dmesg is here

For more information you can check the official webpage and the wiki page made available for it. Until i create the documentation for installing Gentoo, you can install either Ubuntu, Android, or a minimal Angstrom distribution following the instructions in the wiki. Obviously you can also install Gentoo by yourself :)

Have fun!

New ARM CFLAGS/CXXFLAGS on Gentoo

October 9, 2010

Hi everyone,

Keeping with the previous post, i’m announcing the following changes for ARM stage3s.

The optimization flag on the default CFLAGS/CXXFLAGS will be changed from -Os to -O2 as of this month stage3.

This is a change we’re doing so we don’t hit bugs undiscovered until we hit them like bug 331641 which only ocurred when using -Os and was reported by Gentoo users. Also that way we use the same optimization flag used on the rest of the arches and distributions.

If you still want to use -Os you’re free to do so, like whatever CFLAGS you want to use.

New ARMv7 CFLAGS/CXXFLAGS on Gentoo

October 4, 2010

Hello everyone,

From this month(October) the default ARMv7 CFLAGS/CXXFLAGS used to built ARMv7 stages are going to change from:
CFLAGS="-Os -march=armv7-a -mfpu=vfp -mfloat-abi=softfp -pipe"
to
CFLAGS="-Os -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -pipe"

The vfpv3-d16 option was included in gcc-4.4, and since thats what its stable, we’ll change the CFLAGS. This doesn’t affect current installations, but users are recommended to change their CFLAGS and rebuild the system.

Of course like always you’re free to use any other CFLAGS that suit better your system. You can use vfpv3 or neon if your system has those options. Those CFLAGS i mention is just for the armv7a stages we build, which target the “worst” possible armv7 processor.

Architectures and Gentoo (Part 1)

October 3, 2010

Hi,

In gentoo we support 13 different architectures: alpha, amd64, arm, hppa, ia64, m68k, mips, ppc, ppc64, s390, sh, sparc and x86. Although amd64 and x86 are the most common and popular, they are only 2 architectures of the total 13 we support, so i thought i could write about the rest of the architectures and their status on Gentoo.

I’ll do it in parts because i’ll get burned out too easily!

I think its sad to see a lot of that architectures that were so popular being discontinued, but i guess thats whats the progress is about :) The main problem of arches getting discontinued is that the hardware is slow compared with new hardware, less users because they replace their old alternative architecture computer with an standard amd64/x86 PC. That makes that there’s less users of said architecture, which makes less interesting for linux distributions to support them, then there’s no developers…and then the architecture really dies. IMHO its sad, but thats the way it is.

Alpha

The alpha processor was phased out by Compaq in 2004, being replaced by ia64. That means that you can’t buy any new hardware that has alpha processors(as to my knowledge). Of course there is some alpha hardware that wasn’t ever used, so you can say there is ‘new’ hardware, as in unused, but there’s no alpha processor manufactured after 2004. There were both workstations and servers.

The alpha status on Gentoo is good, there is three developers on the team: Tobias Klausmann (klausman, Blackb|rd on IRC), Matt Turner (mattst88) and myself. There was a lot of distributions supporting alpha back in 2001, when alpha was well and alive. But as of today, Gentoo is one of the few distributions that support it officially(guess we’re crazy :D).

AMD64

Well, i don’t think i need to comment on this one…

ARM

ARM is one of the architectures that its level of activity is the same as amd64/x86 thanks to its fast-growing use on embedded devices. You can even find notebooks with ARM processors(called smartbooks), phones and NAS(Network Attached Storage) running Linux, WinCE and Android. Everytime they are getting more powerful, at the moment you can find dual-core processors at 1GHz, and thats not going to stop.

The status of ARM on Gentoo is good. We’re five developers: maekke, xmw, dagger, vapier and me. Also there are some users on #gentoo-embedded(irc.freenode.net) which are really helpful. We provide stage3s for a handful of CHOSTS: armv4l, armv4tl, armv5tel, armv6j and armv7a. Which covers most of the devices available. One of the bad things of ARM is that every device available is almost completely different, that means we can’t have install guides of each device if we don’t have the device itself…

HPPA

HPPA is another of the dead architectures that we support at Gentoo. It was an architecture designed by HP, and was phased out in 2008. It was replaced by ia64 as well. There was both workstations and servers.

The status on Gentoo is good. There is two developers: jer and GMsoft. I can’t speak too much about it because i’m not in the team, but i know its supported and doesn’t have too many issues(at least gentoo-related).

Hope you liked the first part :)

Nvidia Tegra2: Getting wifi(atheros 6002) working

May 24, 2010

Hi,

So i finally got working wifi(yay!) on the Nvidia Tegra2 250 Developer board.

I found this atheros ar6k repository by mistake, so i decided to try if i was able to compile the driver and get it working. It works, but you need to modify the sourcecode to replace the paths of the firmware, since they are defined for android, before compiling the driver. I’m also writing this post so i don’t forget how i compiled the driver :)

So let’s start supposing you’ve followed my tegra2 Gentoo installation guide or you at least have an ARM crosscompiler, know how to use it, and you use it to compile your tegra2 kernel.

  1. First you need GIT in your system *AND* a compiled kernel source(and an ARM crosscompiler).
  2. Then checkout the ar6k repository from here:
    # git clone git://nv-tegra.nvidia.com/3rdparty/atheros.git
    This will checkout the repository into the directory you are right now.
  3. cd into the atheros/ar6k_sdk/host directory, and fix the firmware path:
    # cd atheros/ar6k_sdk/host
    # sed -i -e 's:/system/lib/hw/wlan/:/lib/firmware/:g' os/linux/ar6000_drv.c
  4. Now we compile the module, but you probably need to change the variables definitions to suit your system. For example in my case, the compiled kernel source is at /root/tegra/linux-2.6/ and my crosscompiler is called armv5tel-softfloat-linux-gnueabi-

    # make ATH_LINUXPATH=/root/tegra/linux-2.6/ ATH_CROSS_COMPILE_TYPE=armv5tel-softfloat-linux-gnueabi-

If everything went right, you now have a file called ar6000.ko in your os/linux/ . Copy it to your nvidia tegra board.
You’ll also need to copy the firmware files located in atheros/ar6k_sdk/target into the /lib/firmware directory on your tegra system.

Once you’ve copied everything, you can do a ‘insmod ar6000.ko’ in your tegra2 board and some messages will show up on dmesg and a wlan0 interface should appear.

The driver seems to work fine, i was able to connect to my WPA/WPA2 802.11g AP.

Have fun

Update:
Magnus Damm on the comments commented about getting the driver to compile with a >=2.6.35-rc kernel. He says that you need to have CONFIG_WIRELESS_EXT enabled and he also thinks that CONFIG_WEXT_PRIV is also needed.
Thanks Magnus!

I can’t try it since the tegra kernel is stuck on 2.6.29, but its good to know :)

Request for a S390 VM for Gentoo

May 20, 2010

Hello everyone,

This is a post for s390 users to help Gentoo. Since some months ago the S390 VM’s we were using for maintaining the s390/s390x port were stopped due to a problem with the air conditioner on the room where the machine was running.

So if you or your company are able to provide us an S390 VM, it would be greatly appreciated by the s390 team.

We would need the following:
- SSH access
- At least 10GB of disk space

Thanks

PS: The Hercules emulator is NOT an option, so please don’t suggest that.

Update: I’ve added the requirements we need.

New sh4/sh4a stages available

April 4, 2010

Hello everyone,

Just wanted to let you know that i’ve put new sh4/sh4a stages on the mirrors. You can find them at http://distfiles.gentoo.org/releases/sh/autobuilds/current-stage3/

The last ones date from last year, and i didn’t update them until now since i had some troubles with upgrading to gcc-4.3, then with glibc-2.9. Had to check that everything worked fine after both upgrades. Had to fight with stuff that broke after upgrading gcc, then rebuild world, then update glibc, rebuild gcc(takes 1 day), rebuild world again, and rebuild again to make sure everything worked fine.

The problem is that it takes almost one week to build the two stages, so that delayed me a lot.

Have fun!

Nvidia Tegra2 and Gentoo: Part Two (Running Gentoo!)

April 3, 2010

Hi,

This is the second post on Nvidia Tegra2 and Gentoo, after the first one with the unpack and specifications. In this one i’ll speak about putting Gentoo on it, and results about it.

First i’d like to announce the guide for installing Gentoo on the Nvidia Tegra 250 Developer kit. Check it out at: http://dev.gentoo.org/~armin76/arm/tegra2/install.xml and feel free to send corrections to my way, either by mail or by putting a comment on this post.

Its been a week already since i’ve been testing the Nvidia Tegra 250 Developer kit, and i can say its pretty rock solid. The only issues i’ve had are USB issues(which i guess my 8G USB stick is to blame), and that the stable Xorg server(1.6.5) didn’t work. I tried the unstable Xorg and that one worked fine. I need to say that i’m not a video person. Mainly because i don’t have a spare monitor or KVM(i should get one…as this not the first time i’ve needed something like that. Are there cheap USB+VGA KVMs?), so if i have serial, that makes me happy enough.

Regarding the hardware integrated on the board, this is what i’ve got:
-Audio: Gets detected(check dmesg), but doesn’t work(driver not working/broken?)
-Wifi: Uses Atheros 6002, no driver available for Linux yet.
-Bluetooth: Uses CSR BC6, haven’t got it to work(not detected?)
-Video: Only fbdev works, no Xorg driver. Check Xorg.0.log for more info. VGA works fine, don’t have HDMI to test.
-SD/MMC slot: Both external/internal slot detects an SD card
-Ethernet: Works fine.

So, regarding Gentoo, it was really easy to boot Gentoo, the only difficult part is getting a kernel to boot :) Apart from that, its pretty much the standard way to put Gentoo on this kind of devices.

Let’s talk about the compile times, this is by far the most fast ARM device i’ve seen. Its obvious, with its 2x1GHz cores.

Here are the buildtimes, compare them with the buildtimes page:
gcc-4.3.4: Mon Mar 29 10:49:06 2010: 1 hour, 51 minutes, 49 seconds
binutils-2.19.1-r1: Sun Mar 28 19:10:15 2010: 9 minutes, 59 seconds
portage-2.1.7.17: Sun Mar 28 18:07:56 2010: 1 minute, 36 seconds
glibc-2.10.1-r1: Mon Mar 29 08:42:44 2010: 1 hour, 19 minutes, 32 seconds

Hope you appreciate this information :) Let me know if you have any question.

Nvidia Tegra2 and Gentoo: Part one (unpack and specs)

March 27, 2010

Remember the post i wrote about ARM SoCs? Back in the day I said i wouldn’t comment on Nvidia Tegra since they said they weren’t interested on Linux. Although i updated that when they said they were working on support for it.

Well, that has changed after Google Android has developed so well. Nvidia now officially supports both Windows CE and Android. Since the Linux support is in the works, we already can see some bits, like the kernel on Nvidia’s GIT.

Fortunately i got ahold of a Nvidia Tegra 250 Developer kit, and it has arrived today. Its a pretty nice board, has Dual-Core ARM Cortex-A9 processor @ ~1GHz, 1GB of DDR2-667 RAM, 512MB NAND, audio input/output(Wolfson WM8903 L Codec), Bluetooth(CSR BC6), 802.11g Wi-Fi(Atheros 6002, so that means the ar6k driver, which isn’t on kernel upstream), 10/100Mb USB-based ethernet(SMSC LAN9514, still no Gigabit ethernet on ARMv7 except Marvell Dove), VGA, HDMI, 3 USB, 2 SD slots, 2 mini PCI-e and USIM slot. It can have a lot of optional stuff I don’t have. Anyway, you can find all the features here: http://tegradeveloper.nvidia.com/tegra/tegra-devkit-features.

On this post I’ll talk about the specifications.

Cpuinfo:

Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 1998.84

processor : 1
BogoMIPS : 1998.84

Features : swp half thumb fastmult vfp edsp thumbee vfpv3 vfpv3d16
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc09
CPU revision : 0

Hardware : Tegra generic
Revision : 0000
Serial : 0000000000000000

Regarding missing NEON on features…here’s a reason: http://tegradeveloper.nvidia.com/tegra/forum/tegra-250-devkit-hw-documentation#comment-546

dmesg is here

Fore more information you can check Nvidia Tegra Forums and the Linux subforum.

One of the bad things at the moment is that it doesn’t use U-Boot, so you need to use fastboot to put the kernel on it.

On the next post i’ll provide some more info like what devices got it working, build times, and putting Gentoo on it. Meanwhile, you can check how to put Ubuntu(putting another Linux distribution is exactly the same way) written by ianr on the Tegra forums: http://tegradeveloper.nvidia.com/tegra/forum/workaround-run-ubuntu-now.

Have fun!


Follow

Get every new post delivered to your Inbox.