emrootfslibemrootfslib3EMDEBIAN-ROOTFSEMDEBIAN-ROOTFSemrootfslibCommon functions for Emdebian root filesystemsDESCRIPTIONemrootfslib is intended solely for use on
the build machine. Do not use these functions in second_stage_install !
emrootfslib requires perl!
There should be no need to call pbuilder code within scripts that
generate a root filesystem and bash code must not be used in
emrootfslib.basic_etc_fstabRemoving packages from the normal Debian debootstrap set can
mean that certain critical files can be omitted. basic_etc_fstab
creates a basic version of $TARGET/etc/fstab where it does not
already exist.
basic_group_setupRemoving packages from the normal Debian debootstrap set can
mean that certain critical files can be omitted. basic_group_setup
creates a basic version of $TARGET/etc/group where it does not
already exist.
basic_passwd_setupRemoving packages from the normal Debian debootstrap set can
mean that certain critical files can be omitted. basic_passwd_setup
creates a basic version of $TARGET/etc/passwd where it does not
already exist.
busybox_inittabNote: this function overwrites an existing $TARGET/etc/inittab
busybox does not support runlevels and so the /etc/inittab
file needs to be modified to support busybox. Currently, this function
overwrites an existing $TARGET/etc/inittab - this is likely to change
in future versions.
busybox_rcSNote: this function overwrites an existing $TARGET/etc/init.d/rcS
busybox does not support runlevels and so the /etc/init.d/rcS
script needs to be modified to support busybox. Currently, this function
overwrites an existing $TARGET/etc/init.d/rcS - this is likely to change
in future versions.
check_dirsCheck that the $BUILDPLACE, $BUILDRESULT and $APTCACHE directories
exist (used by empdebuild).checkarchCalls check_arch from Debian::DpkgCross using perl.
The perl call dies if the specified string does not match a
supported architecture.create_emdebiantgzModified version of the equivalent function in pbuilder-modules
to extract the compressed chroot (used by empdebuild).disable_apt_recommendsEnforces a default of not installing recommended packages inside the
chroot.
extra_etc_rcdRemoving packages from the normal Debian debootstrap set can
mean that certain critical files can be omitted. extra_etc_rcd
creates a basic version of $TARGET/etc/rcS.d where it does not
already exist.
make_dpkg_dirsPrepare for unpacking and general dpkg work by setting up
$TARGET/var/lib/dpkg/status and $TARGET/var/lib/dpkg/available.
prepare_procEnsure that $TARGET/proc and $TARGET/sys exist so that
proc and sys can be mounted automatically.
prepare_varEnsure that $TARGET/var/log/ and $TARGET/var/spool exist so
that various installation routines can proceed.
set_approx_timeNormal Debian installations have a network connection and
typical Debian desktop boxes also have a backup battery. Some
embedded machines do not have either of these systems, making
it impossible to store or retrieve even a vaguely close indication
of the current time.
set_approx_time uses the systems available on the build
machine to store an approximate indication of the time that the
root filesystem was created and write that time to a file in the
root filesystem itself. For most purposes, this is sufficient for
the purposes of setting up the root filesystem to the point where
a network connection can be created and a call can be made to an
internet clock using ntpdate-debian.
set_cdebconf_defaultAdds "export DEBCONF_USE_CDEBCONF=true" to
$TARGET/etc/profile for cdebconf support.
symlink_rcSCall repeatedly to create init symlinks, using the template
$TARGET/etc/rcS.d/S$number$file
file is the filename in $TARGET/etc/init.d/
number is the number for the link in the init sequence.
unpack_debootstrapSpecialized routine that replaces the normal second stage of
debootstrap (you may consider it a series of hacks if you prefer).
unpack uses dpkg to extract the files from the .deb package and
process the control information. Unlike dpkg
, the unpack routine does
NOT run any maintainer scripts which
would inevitably fail in a cross built environment.
Instead, it updates the relevant dpkg status and database files
in the root filesystem and leaves the package in the unpacked state.
unpack_debootstrap also sets up the busybox applets - future
versions may split this functionality into a separate function.
unpack_debootstrap also performs checks on /usr/sbin/invoke-rc.d
and /usr/sbin/update-rc.d - future versions may split this functionality
into a separate function.
Finally, unpack_debootstrap removes all .deb package files
from /var/cache/apt/archives. The remaining task (dpkg --configure -a)
is performed via emsecondstage.x_feign_installCopied from debootstrap suite scripts to make a basic
installation of a .deb package - although this is the basis of
unpack_debootstrap, it is only really used for dpkg itself.
Authorempbuilderlib was written
by Neil Williams codehelp@debian.org.
This manual page was written by Neil Williams
codehelp@debian.orgSEE ALSOSee also apt-cross (1),
dpkg-cross (1), emdebian-tools (1),
empdebuilderlib (3).