On Thu, May 27, 2004 at 11:14:40AM -0500, John Goerzen wrote: > On Wed, May 26, 2004 at 04:01:55PM +0200, Sven Luther wrote: > > On Wed, May 26, 2004 at 08:20:06AM -0500, John Goerzen wrote: > > > I forgot to CC this list on two recent ITPs I've made, both of which are > > > now in incoming: > > > > > > 1. Cash, the Caml Shell system. > > > > > > 2. dfdsbuild, an OCaml app that builds Debian From Scratch ISO images. > > > > > > All code of any significant size in this app is written in OCaml, and > > > I have a statically-linked ocamlopt-generated binary for /bin/init > > > on the initrd that is generated for the system. > > > > John, could you comment more on the functionality of this second package ? > > > > Is it a debian installer like thing, or some process for generating > > 'Debian from scratch' iso images ? Depending from where you group the > > words, there could be more than one interpretation about it. > > dfsbuild is a package that generates the Debian From Scratch ISO images.
Ok, i almost thought this was it, the other interpretation would have been a debootstrap/debian-installer reimplementation or something. > The resulting images, if the default configuration is used, contain a > very complete live rescue filesystem as well as enough to use > cdebootstrap to install the base system of all three current i386 trees > and amd64 sid. Sounds very nice, i wonder if a powerpc version of this would be easily possible, mmm, ... > dfsbuild itself is highly configurable, letting the user control what is > put on the CD, what mirrors are used to obtain packages, what kernel > images are used, etc. > > Two programs that go on the CD are also written in OCaml. The first, > /sbin/init on the initrd (initial ramdisk) is responsible for > discovering which CD-ROM drive holds the DFS CD and mounting it. The > second, startup, takes control immediately after the DFS CD is mounted > and root is pivoted. It prepares /etc/fstab and the runtime ramdisk, > then finally passes control to the real /sbin/init to bring up the > system. Both of these two are statically-linked ocamlopt-generated > binaries. They are statically-linked because we don't know at compile > time what version of libc the user is going to have installed on the CD > (you can pick which Debian dist you want on there; if dfsbuild was > compiled on unstable but the user is building a testing CD, then the > resulting binary may not work.) Very cool indeed. Friendly, Sven Luther

