PandaBoard.org and Early Adopter Program

Today it was finally released the new PandaBoard website, showing everything you wanted to know about the new community oriented OMAP 4 board.

If you are already used with BeagleBoard, Panda should be similar in some way, but now deploying the latest OMAP 4 SoC and tons of new stuff.

What you can find at the PandaBoard:
– Dual Core ARM Cortex™ A9 powered by OMAP4430
– 1GB LPDDR2 SDRAM
– PowerVR SGX 2D/3D Graphic Accelerator
– WLAN, BT and FM by WL1271
– DVI-D and HDMI support
– 2x USB Host + Ethernet by LAN 9514
– Mini USB with OTG support
– SD/MMC
– JTAG
– RS-232 UART
– LCD and Generic Expansion and more

Software Support:

Another good thing is that much of the software support is already available at omapzoom, like Kernel, X-Loader and U-Boot. Upstream kernel is still missing some patches, but there’s a lot of work going on linux-omap, so expect at least basic support from upstream soon. For bootloader you can already use U-Boot from upstream, as Sakoman did an awesome work doing the Pandaboard and OMAP 4 support.

Early Adopter Program:

While PandaBoard is still not out for general public you can already participate at the Early Adopter Program and luckly get a board for free (and first than everyone else)! All you need to do is go to http://www.omappedia.org/wiki/PandaBoard_Early_Adopter_Program and propose a cool open source project that could take use of it. The board is really small and powerful, think about running Ubuntu, MeeGo or any other distro and getting 3D support, 1080p video decode and more! Lots of ideas, for sure.

If you’re interested don’t waste your time and join the still small PandaBoard community, joining the mailing list and IRC channel #pandaboard at FreeNode.

Happy hacking!

Ubuntu Maverick on ARM (Beta Released!)

For Maverick Meerkat we’re continuing improving the ARM support for Ubuntu. With Lucid we got the first release optimized for ARMv7 (Thumb2 and SoftFP but not NEON), and for Maverick the plan is to keep the same ARM optimizations as base, but improving board support and user experience.

Currently the main target boards are the ones based on OMAP 3 and OMAP 4, like:
BeagleBoard (C4 preferred)
BeagleBoard xM
PandaBoard (still to be released)

The main decisions to support these boards are basically the upstream support, solid community around them, easy hardware access and CPU power (standard Ubuntu is quite heavy, so we need a good and powerful machine).

At the moment we already got a good support for them, and the Beta release is somehow usable already! There are some development on-going to have a full working 3D interface (unity) for OpenGL ES much the same way we have for normal OpenGL devices. The only bad thing is that currently most of the 3D drivers for ARM (if not all) are closed source, so the development is a little bit harder than the usual.

If you just got your BeagleBoard xM, or want to try Ubuntu on your C4, please give it a try. For Maverick the idea is to give the users a pre-installed image, that you just need to ‘dd’ to your SD card, boot and adjust the environment.

Here are the instructions needed to get Ubuntu up and running at your OMAP device: https://wiki.ubuntu.com/ARM/OMAPMaverickInstall

In case you don’t have any of these boards, but want to use Ubuntu with different devices remember you can always try to build a ‘rootfs’ with RootStock. You’ll only need a working and compatible kernel and boot-loader.

And please, in case of you find any bug, want to help testing and getting Ubuntu better on your ARM device, just poke us at #ubuntu-arm (freenode). We’ll for sure be happy to assist you with any problems you may find.

Note for Beagle xM users: in case you find that your Maverick Beta image doesn’t boot with your board, please check bug https://bugs.launchpad.net/bugs/628243. This means that you have a Numonyx memory chip, and unfortunately the fix didn’t make Beta. To work around it just mount the first partition of your SD card (after giving ‘dd’) and replace your MLO with http://people.canonical.com/~rsalveti/maverick/boot/xM/MLO. After this just umount the partition, put it at your board and boot it.

New Job

It’s been a while since I don’t post anything, and the main reason is that I just got a new job and I’ve being pretty busy with it 🙂

After working at INdT for more than 2 years, I decided that it was time to move on, get back to Campinas, get closer with friends and family and start looking for a new job.

I had a quite good time at Recife, working with Mamona, Maemo and MeeGo, mostly helping bring up different ARM platforms to be used by the Institute in many different projects. The work was nice, but Recife can be hard to get through over the time. I’ll for sure miss the nice work place we’ve built, and the nice people I worked with.

About the new job, I’m quite happy to announce that I’m now working as a Software Engineer at Canonical. My main objective now is to help bringing Ubuntu into different ARM platforms, like beagleboard and the new pandaboard.

Canonical is awesome, and the people from the Ubuntu Platform Team is even greater. Had the opportunity to meet most of the people at the last Ubuntu Platform Sprint that was held at Prague, and it was awesome to see so many skilled and fun guys working together to improve Ubuntu.

That’s it, now it’s time to get back to work because we have a huge pile of cool and fun things to work on 🙂 If you’re interested in understading, helping and participating on what we’re currently doing, get at #ubuntu-arm, freenode, and ping me (rsalveti)!

STE U8500

One of the latest board we’ve been playing with is the new STE U8500.

The U8500 is a smartphone platform created by ST-Ericsson, offering a dual ARMv7-A Cortex A9 core, with strong hardware decoding power and ARM Mali 400 GPU.

More about it’s features:
* Full HD 1080p camcorder, multiple codecs supported via OMX (H264 HP, VC-1, MPEG-4)
* High-resolution, touchscreen display support up to XGA
* Simultaneous dual display support
* High performance 3D graphics, support for OpenVG 1.1 and OpenGL ES 2.0
* Dual camera support with Integrated ISP 18 Mpixel and 5 Mpixel
* Wi-Fi, Bluetooth and GPS enabled platform
* Built-in USB 2.0, HDMI out

And technology:
* Highly efficient, low-power ARM dual Cortex™- A9 processor
* Dual multimedia DSP for low-power, flexible media processing
* High-bandwidth LP-DDR2 interface
* ARM Mali™ 400 GPU and NEON®CPU extensions

U8500 with Ubuntu Lucid

U8500 with Ubuntu Lucid

Now, about the things that interest me the most, the current status in Linux in general:

Kernel:
The kernel we’ve been working on is a vendor’s based one, using 2.6.29 as base. With this kernel we have many features implemented, like blitter support, framebuffer, hdmi output and many more.

At upstream side, the code is just starting to be merged, and you can see already some basic commits going on linux-2.6, like commits 1, 2, 3, 4 and 5. STE seems to be doing a great job on getting the changes upstream, since it’s the only feasible way to make it supported in mid, long term in linux. So expect more changes at 2.6.34 and 2.6.35.

U-Boot:
Similar with the kernel, we’re also using a custom vendor’s version. They’re just starting to make the support upstream, and you can find the patch series here.

Once we get the basic U-Boot and Linux support upstream, we can start working directly with mainline, fixing and improving it when needed.

U8500 - Connectors

Connectors - HDMI, uSD, Headset and micro USB.

Our work:
Since we got the board we’ve been playing on supporting many different Linux platforms, and optimizing the basic Linux OS core to be commonly used by different distros.

We started with Maemo 5, as a proof of concept, and we got it up and running with a very good performance and hopefully soon we’ll be able to share more details.

OE Angstrom/Mamona is very easy to support, since we just need to create the machine configuration and use the same compilers already used by other ARMv7 architectures.

Personally I started testing Ubuntu Lucid release, and just got the very basic support, with a custom and simple image. Ubuntu is now a very good option since it’s targeting ARMv7 platforms, with compiler optimizations and Thumb2 support. NEON support is not included by default, but you can support it by compiling specific components by hand. For more information please check at ubuntu wikipage.

Meego also boots and runs fine at this platform, but since it’s just a basic OS ATM (armv5 only), doesn’t have anything interesting to play with.

Besides platform support, we’ve been working on creating the hardware accelerated X server video driver, to use EXA, DRI2 and Xvideo with overlay. Once we get it all running we can easily use it in any Linux distro we want, and X we’ll be accelerated by default.

U8500 Connectors

Connectors - RJ45, Uart and MIPI34, for debug.

Now the important question, where’s the code?
STE still didn’t deliver the main software in public, so we can’t just release the Kernel, U-Boot and other development that requires support from these software components. But this is changing, and I believe that very soon we’ll be able to get most of the things in public, so others can download and test if needed.

In the next posts I’ll be showing more about the status of these distros on this hardware, also showing the performance and demonstrating it.

Board I’ve being playing on:

root ~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 1 (v7l)
processor : 0
BogoMIPS : 1199.30

processor : 1
BogoMIPS : 1199.30

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

Hardware : ST Ericsson U8500 Platform
Revision : 0000
Serial : 0000000000000000

Links and videos about U8500:
* ST-Ericsson U8500
* ST-Ericsson U8500: PlayStation controller, PlayStation grap
* U8500 3D Video

BOSSA’10 – Presentation submission deadline extended

Bossa Conference 2010

After some people’s requests, it’s nice to hear that the BOSSA committee decided to extend the call for presentation to January 17, 2010.

This is the first year that the conference is doing a call for presentation, so if you are working with free and open source technologies related to mobile embedded platforms, please submit an abstract of your presentation at http://www.bossaconference.indt.org/.

The conference will be held in Manaus, Amazonas – Brazil, a different city from the other years. As always, it’ll be an awesome conference, having lots of interesting talks and people, and also the opportunity to hack and discuss new ideas 🙂

If you have something with Qt, WebKit, Android, OpenEmbedded, Linux Kernel, Maemo, etc, please, go there and try it out, I guarantee that if accepted, you won’t regret!

See you there!

Yet another another FISL 10 report

So, as I told at the previous post, I went to FISL 10 last week, also with the opportunity to give a presentation about OpenEmbedded and Mamona.

The conference was quite good this year, not because the level of the technical presentations, but because a lot of important people from many communities went there also. The talks after the presentations, and also at the bar, were the most productive part of the event 🙂

My presentation was actually quite cool, with many people interested in OpenEmbedded and also how to hack those Nokia Tablet Devices.

For those who can read portuguese, follow this link to get the presentation.

Some photos (Copyright from Otubo):

In the future I guess FISL will also let the videos of all presentations, so you can download it and see how it went.

Let’s see how the next FISL is going to be, but for sure I’ll try to participate again 🙂

OpenEmbedded and Mamona at Fisl 10

For those who are going to FISL this year, I’m going to make a presentation about OpenEmbedded and Mamona, showing how the OE woks and also how OE can support so many different machines, distros and packages.

The presentation is going to happen this wednesday (24/06) at 17h. If you are planning to understand more about how the embedded environment works, learn about it’s problems and how OE is handling that, you can’t miss it 😉

Besides the presentation I’m quite happy that I’m going to meet some good old friends. Hopefully we’ll learn more about what each other are doing and also to drink some beers together 🙂

See you all there 🙂

Mamona Gentoo Overlay

At this weekend I finally had some time to work on something that I was in debt for a while, a gentoo overlay for Mamona.

If you’re a Gentoo user and want to test and run Mamona at your favorite distribuition, you now just need to install Mamona overlay and emerge mamona-installer.

For installation procedure just access Mamona Gentoo Overlay wiki page.

List of ebuilds at the moment:

  • cdebootstrap
  • mamona-installer
  • reprepro
  • 0xFFFF
  • mic
  • libdebian-installer (required by cdebootstrap)

Code at http://rsalveti.net/git/?p=mamona-overlay;a=summary

Network Manager, hal 0.5.11 and Gentoo

In case you’re using Network Manager at Gentoo, with a wireless driver using phy80211, you’ll probably notice that with a more recent kernel version your wireless device started showing itself as a wired one at Network Manager.

This happens basically because hal 0.5.11 has a bug that it shows the wrong information about the device, and Network Manager believes in hal.

To fix this just apply the patch showed at bug #246026. I made a backport of 2 patches from latest hal version so I could still use hal 0.5.11 with my ath9k driver.

Hopes that this gets into Gentoo soon.

News from Mamona and myself

It’s been a while since I don’t post anything here. At this time I’ve been working hard at some internal projects inside INdT (also enjoying a small vacation seeing some old good friends 🙂 ).

Today we just merged a lot of patches at Mamona tree, getting the most we can from other projects and pushing them upstream, so everyone could enjoy the work done.

Differences you’ll notice at the head revision:

  • Network Manager 0.7
  • New netm-cli version supporting NM 0.7
  • New revisions for e-wm and efl
  • Boot time improvements
  • Image size improvements
  • Lots of small improvements and bug fixing

Now (finally!) the next move is getting all patches and moving them to another branch, so we can push them to OE. It’s been a while since we want to work on this, let’s see how it goes now.

Will post here when we’ll start the work, so you can help us if you want 🙂