/srv/irclogs.ubuntu.com/2010/01/31/#ubuntu-arm.txt

who_Is there anyone that can talk to me briefly about cross compiling on 9.10(x86) for 9.10(arm)?16:01
who_Specifically, I want to know if there's an established toolchain/way to setup the codesourcery toolchain.16:02
loolwho_: The codesourcery toolchain can be used as usual16:11
who_lool: as usual doesn't mean a huge amount to me ;) it's not something I 'usually' do.16:11
loolwho_: What's your overall goal?16:12
who_I have an IGEP2 board (like a beagle). I have made myself a 9.10 rootfs, and I want to be able to compile some apps not in the repositories for it16:12
loolI would recommend you do native builds then16:13
who_I don't want to have to compile on the hardware and I because of the 256mb mem requirment on qemu (as far as I can see) - it's pretty slow16:13
loolI wrote some patches to qemu to be able to use more than 512m16:13
loolIt's usually enough16:14
loolAnother route you might follow is using qemu syscall emulation to build under x86; this is very fast, much faster than qemu machine emulation16:14
loolIn this latter case, you can have as much as your host, but probably limited to 4GB; didn't try it out16:14
who_lool: that sounds more like what I'm looking for16:15
who_lool: so I could, for example, point it at my rootfs and get it to link against that?16:15
who_lool: the packages in the repositories: how are they built?16:16
loolWe build natively, on real hardware16:17
who_lool: out of interest, do the qemu patches need to be applied to qemu and to the kernel I want to use with qemu? and are they in some rcs somewhere?16:17
loolwho_: You could point at your rootfs and link against that16:17
who_lool: sounds excellent.16:17
loolIf you want to use the patches, these are for machine emulation; they target the realview and versatile boards16:17
loolWe actually some of the versatile ones to our Ubuntu versatile kernel16:18
loolBut I didn't get that kernel to work yet16:18
loolWe actually *applied16:18
loolBut you don't need any patch for syscall emulation16:18
who_lool: okay, I guess I'll try that route first16:19
loolThe only thing to keep in mind is that it's a very unperfect emulation; stuff might or might not run and your software might detect host features which your target doesn't have16:19
loolBut when it works it's the best option16:19
who_lool: any reason you suggest that over codesourcery?16:19
who_or, in fact, some other cross compilation system?16:19
loolIf you're using karmic, just install the qemu-arm-static package, and copy /usr/bin/qemu-arm-static to your rootfs' /usr/bin, and you're done16:20
loolCross compilation is harder to get to work with Debian/Ubuntu packages16:20
who_lool: at first, I will probably be just compiling new code I'm writing or things I'm porting...16:21
loolIt creates many issues of its own which you wont get without xcompilation, and the output is not identical to native compilation16:21
loolbasically, cross-compilation adds a layer of complexity and uncertainty and degrades output slightly16:21
who_lool: thanks. that makes sense.16:22
who_so what _is_ qemu-arm-static?16:22
loolA package shipping a static binary of qemu-arm, that's the syscall emulation one16:23
who_sorry, I mean, /usr/bin/qemu-arm-static - what is in that file an for what purpose do I need it on my rootfs? I assume it only needs to be there for when I'm running on the x86 machine, not that any applications compiled using syscall emulation actually require it to be there?16:31
who_lool: also - can you tell me anything about this supposed xcompile toolchain? http://alone-in-the-light.zenvoid.org/2009/11/cross-toolchain-for-arm-ubuntu-910.html16:32
loolwho_: It only needs to be there while you're using the rootfs on your x86 host; it's needed for binfmt16:34
loolwho_: First time I see that link, no idea what's in there16:34
who_lool: okie :) I'll have a bit of an explore myself. I'm in that stage where I don't yet quite know enough to assess these things/avoid naive mistakes :S. I'm sure I'll get there16:35
loolTry the simple instructions I mentionned earlier, it should get you started immediately16:37
who_lool: you're referring to the instructions about copying qemu-arm-static to the rootfs and using qemu syscall emulation? That's what I think I'll try first.16:40
loolYes16:41
who_thanks very much for your help :)16:46
who_some questions in passing. Are there arm builds for ppas?16:46
who_and what hardware do you use for the compilation of the entire repositories!?16:46
loolwho_: We don't have public armel PPAs; I'm not 100% sure about current hardware, but I think only Freescale i.MX51 based boards are in use ATM16:53
who_lool: so I assume then most people using ubuntu-arm 'in anger' are compiling natively and/or using only things int he repositories? One thing I'd like to try on by board but don't really want to have to compile is Chrome (the browser) - know if there are any packages around? google doesn't seem to have helped me.17:02
loolwho_: https://launchpad.net/ubuntu/+source/chromium17:03
loolISTR it requires NEON though17:03
who_that one's a game not a browser "Chromium is a top down fast paced high action scrolling space shooter which uses the SDL libs."17:04
who_https://launchpad.net/ubuntu/+source/chromium-browser seems to be built for Lucid though...17:05
who_when I get to my desk tomorrow I'll see if it depends on things I don't have...17:06
loolwho_: Oh sorry17:08
loolwho_: https://launchpad.net/ubuntu/+source/chromium-browser17:09
loolwho_: But you can see it's built for x86, x86-64 and ARM17:09
who_yea, I found that (see above), hopefully the lucid package will work on Karmic without too much trouble :S?17:10
who_lool: otoh, it's not that important - just an experiment really.17:11
armin76hahaha17:50
armin76lool: so a game, uh? :D17:50
=== Guest57357 is now known as davidm
pdxsporkHey, I have a couple questions if anyone is around and wants to humor me22:20
pdxsporkI have a beagle board that I have used rootstock to build a 9.10 image for. Most stuff works pretty well but I need access to GPIOs and UART2 on the expansion connector, the later requiring changing the way the OMAP has the pins muxed. What is the best way to change the pin muxing?22:20
pdxsporkIt looks like my options are to recompile either uboot or the kernel, however it does not seem that the process for building an ARM kernel on my x86 machine is going to be too much fun.22:21
pdxsporkSecondly, I get a "Permission denied" error when attempting to access the GPIOs (user LEDs to be specific) on the OMAP. Even as root. Is this a kernel issue or am I just doing something wrong?22:22
loolpdxspork: You could build the kernel natively; it might be painful once, but if you use ccache the next builds should be ok22:24
loolpdxspork: Otherwise, you could build within a qemu-syscall chroot or cross-compile22:25
pdxsporklool: Yeah, I'm looking towards using a cross-compile22:47
pdxsporkI have a lot of x86 horsepower, no reason to wait an eon for the beagle to compile it when I've got a dual xeon box sitting here22:48
loolpdxspork: Cross-building the kernel is probably easiest then; just add it to you path and pass CROSS_COMPILE=your-compiler-binaries-prefix- to the build23:14
loole.g. CROSS_COMPILE=arm-linux-gnueabi-23:14

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!