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

Re: diskles-image-*



Brian May <bam@debian.org> writes:

> My diskless package aims to work for any Debian version, past and
> future (although past versions may have problems with NFS, hence this
> is not recommended).

> This is done, by the base image that comes with Debian, eg
> base2_1.tgz. My scripts will automatically uncompress this image and
> attempt to configure it into a bootable system.

> However, now that boot disks for potato have been produced, I guess
> they have introduced incompatibilities since the last version. I am
> not sure how to fix these without making my package specific to potato
> (although that would be better then the current situation where it is
> specific to slink).

Well, you can work with us (debian-boot) and we can try to make sure
that base2_2.tgz is what you need...

> In designing my postinst script, I had to do all tasks that are
> required in order to make the NFS-image bootable, that aren't done by
> the image itself.
> 
> For slink, this was (simplified, comments removed):
> 
> if [ -f /sbin/unconfigured.sh ]; then
>    /var/lib/dpkg/info/timezones.postinst configure
>    #create /etc/init.d/network file that configures localhost
>    chmod 755 /etc/init.d/network
>    chmod go+w /tmp /var/tmp
>    cd /dev; /dev/MAKEDEV generic
>    rm /sbin/unconfigured.sh
> fi

Hmm... These are pretty much all things which are currently handled by
dbootstrap.  I think we should make an effort so that base2_2.tgz,
even w/o dbootstrap's "configure base system" option, is in some sort
of reasonable state.  Should we provide defaults for all of the above?
Would you be willing to patch against our CVS's basefile.sh and get it
done that way?

> (also, my configuration utility creates/overwrites:
> /etc/fstab /etc/resolv.conf /etc/hostname - sometime if/when
> I get a chance I hope to replace this bit with calls to debconf)
> 
> _All_ of this is an ugly hack. However, every step is required (at
> least for slink), as the base2_1.tgz wasn't intended to be a complete
> bootable system. Perhaps I am wrong, and none of the above needs to be
> done for potato (I haven't had a chance to check yet).

Well, the question is how *should* it be, and how best to make it so.

> The base2_2.tgz file should be easy to fix, I am not sure
> what the significance of the numbers mean, but I can just
> check for any files that match base*.tgz (for instance).

The numbers represent the major and minor Debian release numbers.
Slink was 2.1, hamm was 2.0, potato is 2.2.  Woody may be 2.3 or 3.0.

> The only real solution I can think of is to have a file
> on the base2_2.tgz that does configuration automatically.
> So then my script would look like:
> 
> if [ -f /sbin/configure-image ]; then
>    /sbin/configure-image
>    rm /sbin/configure-image
> endif
> 
> Which would mean that all the messy, version specific code, is where
> it belongs, within the base image. The same script, could be used when
> installing from the boot disk, too. However, this affects packages
> outside my own, so I thought I should post here to get the opinion of
> other developers.
> 
> Any ideas? What should I do?

I think you're right that this would be the best thing to do.  That
just means that someone should take the configuration stuff, and port
it *out* of dbootstrap, and into something else (either C code using
newt like the new tasksel, or else debconf-tiny compatible stuff --
debconf-tiny is probably going to be pushed into base).

-- 
.....Adam Di Carlo....adam@onShore.com.....<URL:http://www.onShore.com/>


--  
To UNSUBSCRIBE, email to debian-testing-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: