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

Re: Embedded Debian, the 5 lb bag.



On Sun Feb 01, 2004 at 06:46:57AM -0800, Dan Kegel wrote:
> Erik Andersen wrote:
> >>Stage 1: ptxdist or something similar to put together enough tools to 
> >>support building stage 2
> >>
> >>Stage 2: "core" set of Debian packages is built and installed, 
> >>definitely less than 100 components, some packages might be built with a 
> >>reduced feature set to limit dependencies
> >>
> >>Stage 3: build the remainder of the "buildable from scratch" packages 
> >>(500 - 1000) and rebuild the modified packages from stage 2.
> >
> >This is almost exactly how I put together my uwoody stuff with
> >uClibc.  For stage 1 I used buildroot.  For stage 2 I hacked up a
> >_ton_ of packages to break circular dependancies until I had
> >built a sufficient core of stuff that the system became usable.
> >I built everything by hand so stage 2 was very labor intensive.
> >By stage 3 I was able to rebuild almost everything (including the
> >packages I had formerly hacked) using stock debian source.
> >
> >...
> >Fully agreed.  The single most difficult task I had during stage
> >2 was trying to satisfy the dependancies of and build roughly 100
> >different documentation utility packages.  This proved to be a
> >surprisingly large amount of work.
> 
> I bet.  (I suspect you mentioned this before, but where can we
> get a look at your stage 1 hacks?  I just now peeked at
> http://people.debian.org/~andersee/uwoody/
> but didn't see doc or build scripts describing the hacks
> you had to do.)

Sadly, since getting the thing bootstrapped initially was such an
ad-hoc mess, I did not even try to script it or automate it.

I did it all by hand, as there was no easy way to automate it.
Basically, I first built and install dpkg.  Then I rebuilt and
everything I had built with buildroot for stage 1, and installed
then as .debs.  I then build and installed apt and its
dependancies.  Using apt, I then proceeded to build every 'base'
and 'required' package listed in /usr/lib/debootstrap/scripts/woody
using 'apt-get source <foo>'.

The current set of .deb files I built are those that were needed
to build the 'base' and 'required' packages, plus a few
additional ones I built to make the system more usable.
Initially I had to hack up most packages, disabling documentation
and such.  After getting several hundred packages built and
installed, things began to be much easier...  Along the way, I
was also finding a fixing some uClibc problems, as well as some
problems upstream.  So the whole process took me a couple of
months.

One I had the uClibc and package problems fixed up, had the
needed custom packages built, and had uClibc system built, I then
rebuilt most everything using stock debian sources, since the
circular dependancy problems had been solved.  I attempted to
setup an autobuilder for this, but wasn't able to make
wanna-build and friends work.  So I sortof scripted that using
something roughly like
    for i in $LIST ; do dpkg-buildpackage $i > ~/logfile.txt 2>&1 ; done
and then going back by hand to fixup the ones that had problems,

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--



Reply to: