[Wylug-discuss] Postscript: On Having Built Linux...

Towle, William william.towle at eldon.co.uk
Tue Jul 11 10:40:11 BST 2006


  Some easter eggs, oversights, resource list/slides links from my
talk last night:


Easter Eggs. Did you notice:

- The main shell and 'chroot' jail in demo announced "In Jail" and
"Just Passing"
- Two consecutive slides formed the misquote "To insanity ... and
beyond"

Oversights:

- the base system on the laptop
  This built from scratch with the scripts-based version of the build
system mentioned; STUBS (as it's called) is available at the web site
given in my resources, and I may give a talk on it at some future
time (when parts of it are worthy of version numbers nearer 1.0).

- uClibc, busybox, choice of kernel
  The official line on uClibc and v2.0.x kernels is "completely
unsupported", and the developers are quite adamant about this. I'm
using uClibc 0.9.20, which predates recent kernels and compilers, and
is (accordingly) more version-agnostic. The same goes for busybox.
  Busybox 'vi' really does have undo completely missing, it's not
something I (accidentally) compiled out (anyone motivated to add
'undo' support? It's still on the TODO list for the latest version)

- what I learnt?

  I'm definitely a better (shell) progr^H^H^H^H^Hhacker. STUBS has
build wrappers for so many different packages, and the ways these
scripts have developed show how I've slowly integrated lots of nice
little hacks as I've learnt how to do them - however, if some package
author doesn't subscribe to "release early, release often", it tends
to retain the old-style hacks in the way I build it. I'd like to
boast of the number of packages I've got to work, but the lack of
consistency across my build system as a cogent whole stops me. For
the sake of answering the question (but not boasting about it), it's
a few hundred.

  I find it surprising that linux is famous for being ported from a
386 to practically everything else, yet it's not seen as important
that programs doesn't "just" cross compile. I have to conclude the
majority of large distributions are built with the previous version
of that system, on that system (which suggests any "start small,
work towards bigger" build-your-own approach is preferable to one
that wants specific functionality at the end).
  Maybe I shouldn't be as surprised: The Unix Haters' Handbook claims
that Unix came about because Thompson, Ritchie, and Osanna wanted an
OS that one piece of working source for something else (Space
Travel/War [it's not consistent on the right name, hmmm]) would just
build on *in order not to* have to use a cross compiler and then
transfer binaries.

- current applications.
  Some of these work courtesy of "misfeatures" in the build system
rather than good design (forthcoming STUBS releases will make this
distinction clear), but I've built working versions of:

Games:
	ctris/bastet/seatris, frotz (since I have Infocom's
	Hitchhiker's Guide on the DOS partition)

Disk management:
	GrUB, makebootfat, lilo, parted, syslinux

Networking:
	dropbear, nc, tftp-hpa

Miscellaneous:
	bios/cmos tools, various archivers, linuXtree, cfe (console
	font editor), elvis, vifm, and zsh.

- future applications

  Once I'm happier with calling STUBS and its configuration files
version 1-point-something, I'll be looking at cross compiling X.
This is another thing that's got more feasible the longer I've
left it.


Resources:
	Busybox: www.busybox.net

	uClibc: www.uclibc.org

	Source code*. Guidance on request:
	http://www.angelfire.com/linux/wills/tcdev-0.4.3-0707.tgz

	Slides*:
	http://www.angelfire.com/linux/wills/talks-html.tgz

	STUBS home page:
	http://www.angelfire.com/linux/wills/stubs.html

	Freshmeat project page:
	http://www.freshmeat.net/projects/freglx/

* Should work, seemed to upload OK but untested - our proxy's playing
up.

HTH,
  Wills.



More information about the Wylug-discuss mailing list