From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from web60810.mail.yahoo.com (web60810.mail.yahoo.com [216.155.196.73]) by robin.gentoo.org (8.13.4/8.13.4) with SMTP id j3JJhrCq032365 for ; Tue, 19 Apr 2005 19:43:54 GMT Received: (qmail 93384 invoked by uid 60001); 19 Apr 2005 19:43:59 -0000 Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; b=yTXIJHGxF/MQr312gMPUQvkvN/VXN7ewPy743yetKGx5h06fqHGwjn8zz/lo3+3c0tWMAtnho7l+g3xZ8UbQsyRpJxl0qW8V6DlyMcHPU1PM5l7un6YUeTFQ0qTblBU6R/tF4X5xdozOAgIbCxjvDfpIrCi0z9BRy4EjB0xuczk= ; Message-ID: <20050419194359.93382.qmail@web60810.mail.yahoo.com> Received: from [192.18.43.5] by web60810.mail.yahoo.com via HTTP; Tue, 19 Apr 2005 12:43:58 PDT Date: Tue, 19 Apr 2005 12:43:58 -0700 (PDT) From: Quentin Arce Subject: Re: [gentoo-embedded] PPC embedded base package To: Anthony Russello , gentoo-embedded@lists.gentoo.org Cc: qarce@yahoo.com, Anthony Russello In-Reply-To: <20050419182004.23203.qmail@web88101.mail.re2.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: f77e272f-db4e-4c16-bb04-c9405966d949 X-Archives-Hash: 09a21e81ef3d87070ef83bee67fdfc39 --- 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