From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from web88111.mail.re2.yahoo.com (web88111.mail.re2.yahoo.com [206.190.37.232]) by robin.gentoo.org (8.13.4/8.13.4) with SMTP id j3JLVQl2016189 for ; Tue, 19 Apr 2005 21:31:26 GMT Message-ID: <20050419213125.14757.qmail@web88111.mail.re2.yahoo.com> Received: from [69.157.15.192] by web88111.mail.re2.yahoo.com via HTTP; Tue, 19 Apr 2005 17:31:25 EDT Date: Tue, 19 Apr 2005 17:31:25 -0400 (EDT) From: Anthony Russello Subject: Re: [gentoo-embedded] PPC embedded base package To: Quentin Arce , gentoo-embedded@lists.gentoo.org Cc: qarce@yahoo.com, Anthony Russello In-Reply-To: <20050419194359.93382.qmail@web60810.mail.yahoo.com> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-embedded@gentoo.org Reply-to: gentoo-embedded@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Archives-Salt: a59cc877-72ec-4ac4-a19e-b5bb53ce5bda X-Archives-Hash: 71e7456df9f23915a67442676157a440 Hi Quentin, Thank you very much! I'll give this a try tonight to see how well I can do with it instead of my home rolled stuff. Cheers, Anthony --- Quentin Arce wrote: > > --- Anthony Russello 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 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 > 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 > > > 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