On Monday 16 February 2009 13:56, Praveen A wrote:
2009/2/15 jtd jtd@mtnl.net.in:
I think I understand. If you don't mind letting me know,
Heck why would i "mind" letting you know. I am happy to talk all day about something technical.
I'm a bit confused here too. I hope you are not confusing it with emdebian (from what I read so far, you seem to have good experience doing it, may be I'm not able to understand it). I have had worked on armel earlier and we sed to crosscompile (used scratchbox also) then.
do you intend installing the Armel distribution in a virtual machine to build software, or do you have hardware on which you can install it?
You install on a standard x86 or x86-64 machine , in a chroot.
But don't you need qemu to run the armel binary? Or you could use crosshurd kind of thing if it there (last time I checked it allow you to install hurd-i386 and kfreebsd-i386).
You have to use qemu.
How do you get over the need to cross compile by using the armel architecture distribution?
The $CROSS-COMPILE env variable is set. so gcc $CROSS-COMPILE - usually set in your makefile - will crosscompile for you specific arm variant. Also gdb for arm is installed, so you can debug with gdb and openocd over jtag.
does apt allow one to install debs of other architectures?
Yes but if you do that without taking extreme care you will be in a mess. Which was one of the problems that bitbake etc tried to solve.
For cross compiling you need cross compilers built for i386, right?
Yes. To clarify a cross toolset will run on X86 but use libs for arm to generate arm binaries. Thus you have two sets of libs one for the native arch and one for the cross arch and both these must be kept separate.
How is armel binaries helping here?
it is not just armel binaries, there are also crosstools too. But for packages already in armel just download and install in your arm rootfs, then burn rootfs to flash / microsd etc. Or even better on your arm machine (eg a780) apt-get install something. Unlike earlier, download source and compile for every package.
Either you have to use cross compilers on i386 or you have to use armel binaries on native or emulated setup.
I'm comfused about the chroot thing? Does qemu allow one to boot from chroot?
Afaik Yes. But i have never used qemu. I have real hardware to test on and can use jtag and printf on serial. Now i will start using gdb.
Once you have done the above you can create debs of your package, do an install on a microsd, usb pendrive or nfs disk and boot. Then dpkg -i yourprog.
- Praveen
-- പ്രവീണ് അരിമ്പ്രത്തൊടിയില് <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call, if you are unable to speak? (as seen on /.) Join The DRM Elimination Crew Now! http://fci.wikia.com/wiki/Anti-DRM-Campaign