From: Quentin Arce <qarce@yahoo.com>
To: Anthony Russello <arussello@rogers.com>,
gentoo-embedded@lists.gentoo.org
Cc: qarce@yahoo.com, Anthony Russello <arussello@rogers.com>
Subject: Re: [gentoo-embedded] PPC embedded base package
Date: Tue, 19 Apr 2005 12:43:58 -0700 (PDT) [thread overview]
Message-ID: <20050419194359.93382.qmail@web60810.mail.yahoo.com> (raw)
In-Reply-To: <20050419182004.23203.qmail@web88101.mail.re2.yahoo.com>
--- Anthony Russello <arussello@rogers.com> wrote:
> Hi Quentin,
>
> Thanks for getting back to me.
>
> Currently I'm working on the third option you listed
> below. I've actually been building a base system
> completely from scratch, utilizing busybox, glibc,
> boa, samba 2.2.x, and sysvinit for the core apps.
>
> What I was hoping was that there would already be,
> at
> the very least, a package that would contain the
> rootfs, device nodes, etc.
So you want the ppc stage1 or stage2 tarball for this.
It will need to be stripped out.... or you can just
setup a chroot build env... search for uclibc gentoo
in the forums or on the web. I don't see the webpage
still up... hmmm. must have closed it...
So, use a stage3 x86 tarball, untar into some big
devel space.
mount/bind proc & dev
fix up etc/mtab to be correct.
write a script something like
mount -o bind /dev /path/to/devel/dev
mount -t proc proc /path/to/devel/proc
chroot /path/to/devel /bin/bash
umount /path/to/devel/dev
umount /path/to/devel/proc
Perhaps add some locking to keep from running this
twice ;-)
once in devel space. emerge sync, emerge --update
--deep world. Build the cross compiler per cross
build howto which can be found in the forums.
setup your make.conf for the cross env or write a
wrapper script to emerge to set the
ROOT=/new/ppc/fs/relative/to/devel/rootfs
PATH=/path.../see/cross/build/notes emerge
baselayout-lite busybox boa foo
Have some lunch... check on the progress. Depending
on your build host, start testing or go home for the
day.
Come back, NFS mount and test your system. Write a
script to clone the rootfs you just built
rsync /path/to/devel/opt/ppcrootfs /tmp/scratchroot
rm somelistoffiles
(have a look at the Catalyst scripts and then add
some more as needed)
See how small of a fs you can get.
Don't forget to creat all of the symbolic links for
busybox. You may need to inject a package to fool
portage into thinking you have the basic unix utils
packages already installed.
Then you should be just about all set.
Note: you really want the baselayout lite as you don't
want to full runlevels system in an embedded app.
Just a simple set of init scripts. Note, you can also
use busybox for your init. This is what freescale
does.
>From there you can do almost anything.
Just remember to save all packages for the future.
You may need to re-create all of your work in say 2
years to fix a bug for a client. Backups are your
friend.
Have fun.
Q
> Also, I saw recent work on adding emerge to busybox,
> which would be handy during initial development
> (chroot'ing into the rootfs, and then using the
> busybox emerge to install some packages).
>
> Any thoughts on this?
>
> Thanks,
> Anthony
>
> --- Quentin Arce <qarce@yahoo.com> wrote:
> >
> >
> > Anthony,
> >
> > I have looked at this in my work and at home.
> Work
> > we
> > have used the 8248 and 8245. Home, I am working
> on
> > a
> > small x86 based system. Gentoo will work for your
> > target... but, you really want to think about if
> you
> > should. Think long term support. Also, think
> about
> > the build system, stability. In working on my own
> > mini x86 based linux distro based on Gentoo... So,
> > far... you can do it. You can cross compile it,
> > but,
> > there are still some packages that don't seem to
> > work
> > just yet. You want the base layout lite. And you
> > want a system based on Busybox for the size you
> are
> > targeting. Check out the portage profiles:
> >
> > /usr/portage/profiles/embedded
> > /usr/portage/profiles/uclibc
> > /usr/portage/profiles/default-ppc-2004.3
> >
> > I am now using the uclibc for my x86 project. I
> > used
> > the default-ppc-2004.3 to build a 8248 rootfs.
> The
> > size was way too big to be burned into the flash
> > though.
> >
> > You could come up with your own custom profile,
> > inject
> > any packages you need and then you could use
> > portage.
> >
> > OR
> >
> > You could use something like Debian to build a
> mini
> > root and strip it of all cruft. (hint, hint) You
> > could even do this on an x86 system and then write
> a
> > few scripts to fix the post scripts from the deb
> > install. (hint hint) Then just sync the built
> root
> > to
> > another directory, clean the clone and build a
> jffs2
> > image.
> >
> > OR
> >
> > You can go the full custom route via LFS or your
> own
> > home grown.
> >
> >
> > I have learned quite a bit since I started with
> ppc
> > embedded. I'm still learning with mini x86.
> >
> > Q
> >
> >
> >
> > --- Anthony Russello <arussello@rogers.com> wrote:
> > > Hi,
> > >
> > > Thanks for the reply, I'm sorry it took so long
> to
> > > get back to you, but
> > > I never received an email to me until the digest
> > > caught up.
> > >
> > > We're working on a small NAS-like device. Very
> > > light weight, and
> > > targetting to consumers rather than businesses,
> so
> > > everything will be
> > > pretty simple.
> > >
> > > I'm currently working on getting a 2.6.x kernel
> up
> > > on the early boards.
> > > Once that's up and running, I'll be working on
> the
> > > rootfs. I've been
> > > doing a lot of checking as far as dependencies
> go,
> > > and I've got the
> > > libraries narrowed down substantially. We're
> also
> > > using the 2.2.x samba
> > > branch, since the 3.x branch requires a large
> > number
> > > of libraries that
> > > we don't want to include.
> > >
> > > I've been ensuring that every binary going into
> > the
> > > image is stripped so
> > > far as well.
> > >
> > > I guess I was kind of hoping that the gentoo
> > > embedded group was working
> > > with small root filesystem sizes, and whether or
> > not
> > > there was a base
> > > layout package that would simply contain things
> > like
> > > pre-populated /dev,
> > > and other absolutely essential sources like
> that.
> > >
> > > Are there any plans for such a package? Perhaps
> > > with makefiles that
> > > would leverage cross compilers to create a base
> > > system for target X on
> > > host Y?
> > >
> > > It would make embedded development incredibly
> easy
> > > with cross compilers
> > > and base layout packages of that sort ready to
> be
> > > emerged into /opt or
> > > something like that.
> > >
> > > Thanks,
> > > Anthony
> > >
> > > On Tue, 2005-04-12 at 08:29 -0700, Quentin Arce
> > > wrote:
> > > >
> > > > One thing you may want to keep in mind when
> > > building
> > > > your system is to make sure all bins are
> > stripped.
> > >
> > > > Also, some embedded companies have tools which
> > > > determine which libs are being used on the
> > system
> > > and
> > > > remove all others from the final image. Just
> to
> > > > squeeze that last bit of space out.
> > > >
> > > > Also, don't forget to remove all other
> un-needed
> > > > files. Like /var/db, all man, etc.
> > > >
> > > > Q
> > > >
> > > >
> > > > --- Anthony Russello <arussello@rogers.com>
> > wrote:
> > > > > Hi All,
> > > > >
> > > > > I'm working on a base layout for an embedded
> > > system
> > > > > based on the
> > > > > Freescale 8241 chip, and was wondering what
> > > might be
> > > > > available in the
> > > > > world of gentoo for that purpose.
> > > > >
> > > > > Here are the requirements we've laid out:
> > > > >
> > > > > Read/write /etc (jffs2 filesystem)
>
=== message truncated ===
__________________________________
Do you Yahoo!?
Plan great trips with Yahoo! Travel: Now over 17,000 guides!
http://travel.yahoo.com/p-travelguide
--
gentoo-embedded@gentoo.org mailing list
next prev parent reply other threads:[~2005-04-19 19:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-19 17:49 [gentoo-embedded] PPC embedded base package Quentin Arce
2005-04-19 18:20 ` Anthony Russello
2005-04-19 19:43 ` Quentin Arce [this message]
2005-04-19 21:31 ` Anthony Russello
-- strict thread matches above, loose matches on Subject: below --
2005-04-12 15:29 Quentin Arce
2005-04-19 1:23 ` Anthony Russello
2005-04-12 1:43 Anthony Russello
2005-04-12 17:02 ` Ned Ludd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050419194359.93382.qmail@web60810.mail.yahoo.com \
--to=qarce@yahoo.com \
--cc=arussello@rogers.com \
--cc=gentoo-embedded@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox