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

Re: Platform-specific bootstrapping packages?



On Mon, 15 Mar 2010 10:08:18 -0500
Bill Gatliff <bgat@billgatliff.com> wrote:

> Today I use debootstrap to create a basic root filesystem for a foreign
> architecture, and then manually tweak the fstab and inittab files before
> booting into that filesystem to run --second-stage. 

Umm, why didn't you use multistrap which is designed for this purpose?

The problem of configuring the packages after installation will still
be an issue with foreign architectures. Generally you need to run 'dpkg
--configure -a' on the real system. It could be possible to do that as
a first-boot system.

> One obvious approach is to hack the main repo packages, and then
> distribute them from a platform-specific repository. 

Hack in what way? To not require on-board configuration? It is possible
to pre-seed debconf to avoid questions being asked and then provide the
files that debconf would have created (or cdebconf to avoid perl).

Whichever way you do it, it is not safe to just "trick" dpkg into
thinking that packages are configured when the postinst itself has not
been run.

> That makes it
> certain that the hacks won't be distributed in any other way, however,
> e.g. the main Debian repositories.

... like Emdebian Grip ...
 
> Another idea is to have a platform-specific package that performs the
> tweaks to fstab, inittab, etc., and then include that package in the
> debootstrap first-stage step. 

or as can be done with multistrap ....

> If that package's preinst could do
> everything, then what would be left at the end of first-stage would be a
> truly bootable filesystem.  Such a package could be distributed in the
> main debian repositories, because it wouldn't require changes to the
> main packages.

Having those things as packages *is* a problem because you then have to
handle updates to that package which dpkg then handles by carefully
removing your /etc/fstab and /etc/inittab - whoops. 

> Anyone have any ideas and/or suggestions? Is there some obvious reason
> why having a platform-specific package to feed through debootstrap
> _wouldn't_ work?

Because deboostrap won't be changed to support that kind of operation.
debootstrap has a specific purpose - debian installer - and that
doesn't include (bizarrely) making a bootable bootstrap, especially
for foreign architectures. 

Multistrap has been designed with this in mind and future additions
will move closer to the goal. However, it is already a vast improvement
on debootstrap.

Try multistrap and come back to me with what it still needs to do.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpqaHjTX4fVM.pgp
Description: PGP signature


Reply to: