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

debian-installer: a demo system

Well I have something interesting to show. It's just a demo system, not 
a complete system yet (it uses libc and some shell commands from the real
Debian system), but I have a retriever controller[1], a very simple
retriever[2], the main menu, and udpkg, all working together.

If you grab
http://people.debian.org/~joeyh/debian-installer/demo1.tar.gz, and
unpack it there's a little demo system in there. Cd to into the demo
directory and run:

PERL5LIB='.' debconf-loadtemplate var/lib/dpkg/info/*.templates
	/usr/share/debconf/frontend usr/bin/main-menu

You'll see the main menu, though there are only two menu items[3] on it --
pick "Finish setting up the Debian installer".

This will make the file retreiver be used to get a Packages file and
parse it and install all the .udeb's in it. The Packages and udebs are
located in the debs/ directory, which imulates a CD rom drive or
something that we have already mounted (this is just a demo ;-). There 
are just two packages in the Packages file, ethdetect and sndetect. 
Ethdetect registers itself on the menu, so you immediatly get another 
menu with ethdetect added to it. And if you look at the
./var/lib/dpkg/status file before and after, you can see the packages get

The demo system was created by simply unpacking four udebs. Then I had
to add some hacks involving debconf. Those hacks should go away in the
next few days, since Randolph Chung has almost gotten cdebconf into a
usable state. At that point, we'll be at the milestone of having all the
key tools that form the core of the new installer written and working

I hope this helps show how the core system fits together. You can
build more udebs and install them into the system with the udpkg

joey@kite:~/tmp/demo>udpkg -i debs/memdetect_0.0.5_i386.udeb 
(Reading database...)
(Updating database...)

So if you want to experiment with building udebs that implement menu 
entries, you can do that now and test them in this demo system.

Of course, this is only a demo. It depends on the debian system you
unpack it on for debconf, a shell, and lots of other stuff. I hope to
morph it into a self-contained chrooted system fairly quickly though.

see shy jo

[1] I've named it anna -- anna's not nearly apt (but it'll do).
[2] Equivilant of apt's file:/ method; 5 lines of shell script.
[3] Only one of them does anything, but if I just had one menu item,
    deconf would optimize it away, so I threw in a second dummy item.

Reply to: