[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: More problems with Ubuntu (was Re: Emsandbox in arm board)



On Thu, 20 Nov 2008 10:10:16 +0530
Sivakumar.R.J <rj.sivakumar@gmail.com> wrote:

>    after running emsetup successfully, it finishes like saying "Setup
> appears OK for Emdebian. Nothing to do". But i dont know where the
> toolchain have been installed and how i will make use of it to build
> our own filesystem.

Use --verbose and/or --report to see the packages. The toolchain has
been installed in the normal packaging places, as normal Debian
packages. Use dpkg -l 'gcc*'

You can use the cross-compiler using emdedian-tools (emsource and
emdebuild).

You can also use it in any package build using:
$ dpkg-buildpackage -aarm
which in turn calls
$ ./configure --host=arm-linux-gnu --build=
(where build is either the full i386 or full amd64 triplet)

> > What error? Be precise.
> >
> > Why are you trying to run emsandbox from a local directory?
> > Ensure that the emdebian-rootfs package is installed inside the
> > Debian chroot and run emsandbox from there.
> >
> > emsandbox does not run ./emsecondstage itself, it prepares the root
> > filesystem tarball and copies emsecondstage into it. You are using a
> > chroot inside a chroot to create a chroot inside a different
> > chroot. ;-) (It's probably easier to have a box that runs Debian
> > natively - Ubuntu complicates things unnecessarily, which is why I
> > asked for emdebian-tools to be removed from Ubuntu.)
> >
> > The Debian chroot runs emsandbox to create the root filesystem. You
> > copy that root filesystem out of the Debian chroot and onto the
> > storage of the target board. Then you run ./emsecondstage to
> > configure the installed root filesystem.
> >
> 
>     you totally misunderstood here, we have created that root
> filesystem (emdebian.tar.gz) in our chroot debian and then while we
> ran it in our arm target only we getting that error

Well, the reason comes directly from your original email:
"But when i try to run the ./emsanbox
in target its giving me some error"

emsandbox does not run in the target.

emsandbox runs in the Debian chroot to create the root filesystem which
is then decompressed to the target device.
 
> 1# ./emsecondstage
> ./emsecondstage: line 97:  1676 Illegal instruction     chroot

Disagreement between the root filesystem and the system / kernel
architecture. Sounds like you are using an armel system to execute ARM
binaries - whatever system you booted in order to run ./emsecondstage
was an armel system and the binaries being executed by emsecondstage
are ARM.
 
>    We are trying to install armel toolchain to  build our own
> packages.Anyway after long struggle we forced to try the emsandbox
> rootfilessytem for our customized debian base file system. is this
> possible in emsandbox?

Yes, it is possible to build armel packages. 

>    As i seen so far we didnt face any issue in chroot debian in
> ubuntu, only the emchain has given me the error of missing armel deb
> packages.But as you said emsetup only update the source.list and i
> dont know how to install the armel toolchain with emsetup.Can you
> show some light in this ?

If emsetup says everything is OK, it has found the toolchain.

> > 3. run the emdebian-rootfs scripts directly, not using some local
> > directory - emsandbox not ./emsandbox

emdebian-rootfs is a package - sorry, didn't mean to confuse.

> > 4. run emsandbox to create an ARM root filesystem tarball:
> > # emsandbox -a arm create
> >
> > 5. Back outside the Debian chroot, from Ubuntu, copy the root
> > filesystem tarball onto the target board storage.
> >
> 
>  I cant find anything like emdebian-rootfs executable in the machine
> after installing emsandbox.

emsandbox is a script in the emdebian-rootfs package.

> > 6. From ubuntu, boot the board and connect.
> 
>    how we will boot the board from ubuntu...we already running a
> minimal kernel and rootfilesystem which has been given by the board
> vendor.so, we are booting with their image and then trying the
> emdebian stuffs in that.

You have to connect a keyboard and monitor somehow, generally that is
via a serial connection to the bootloader and the Ubuntu system then
connects to the serial port and provides the interface, the connection.
I use screen, others would use minicom. 

> Do you have any documentation showing how to build our own filesystem
> using emdebian armel toolchain or to cross compile a package .that
> will be helpful to proceed my work hopefully.

http://www.emdebian.org/emdebian/tools.html
http://www.emdebian.org/docs/howto-2.html
http://wiki.debian.org/EmdebianQuickStart
http://wiki.debian.org/EmdebianQuickStart#head-5027867c39c4c2124918820fed116676e155dc9b

Cache files for armel are the same as for ARM and dpkg-cross already
provides the required values.

Another problem with your Ubuntu setup is how to manage clean chroot
builds - using a disposable chroot inside a static chroot can require
some fiddling, equally using a static chroot for all builds is going to
cause problems with dependencies and cross-dependencies being left
behind.

To use a disposable chroot inside your Debian chroot, use empdebuild to
create it, update it and build packages inside it.

Once you've built a few packages using emsource, emdebuild and
empdebuild, you can look at the autobuilder, em_autobuild.
http://www.emdebian.org/buildd/

You'll need to create a local repository using reprepro to contain the
packages and make that available to the machine running emsandbox.
Use the machine:variant support to set the mirror in
packages.conf.

http://manpages.debian.net/cgi-bin/man.cgi?query=emsandbox
http://www.emdebian.org/emdebian/customisation.html
http://www.emdebian.org/emdebian/machinevariants.html


-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpC2LBnmXK24.pgp
Description: PGP signature


Reply to: