Poster of Linux kernelThe best gift for a Linux geek
EMROOTFSLIB

EMROOTFSLIB

Section: EMDEBIAN-ROOTFS (3) Updated: 05/10/2010
Local index Up
 

NAME

emrootfslib - Common functions for Emdebian root filesystems  

DESCRIPTION

emrootfslib 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_FSTAB

Removing 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_SETUP

Removing 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_SETUP

Removing 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_INITTAB

Note: 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_RCS

Note: 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_DIRS

Check that the $BUILDPLACE, $BUILDRESULT and $APTCACHE directories exist (used by empdebuild).  

CHECKARCH

Calls check_arch from Debian::DpkgCross using perl. The perl call dies if the specified string does not match a supported architecture.  

CREATE_EMDEBIANTGZ

Modified version of the equivalent function in pbuilder-modules to extract the compressed chroot (used by empdebuild).  

DISABLE_APT_RECOMMENDS

Enforces a default of not installing recommended packages inside the chroot.  

EXTRA_ETC_RCD

Removing 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_DIRS

Prepare for unpacking and general dpkg work by setting up $TARGET/var/lib/dpkg/status and $TARGET/var/lib/dpkg/available.  

PREPARE_PROC

Ensure that $TARGET/proc and $TARGET/sys exist so that proc and sys can be mounted automatically.  

PREPARE_VAR

Ensure that $TARGET/var/log/ and $TARGET/var/spool exist so that various installation routines can proceed.  

SET_APPROX_TIME

Normal 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_DEFAULT

Adds "export DEBCONF_USE_CDEBCONF=true" to $TARGET/etc/profile for cdebconf support.  

SYMLINK_RCS

Call repeatedly to create init symlinks, using the template $TARGET/etc/rcS.d/S$number$file

file

file is the filename in $TARGET/etc/init.d/

number

number is the number for the link in the init sequence.
 

UNPACK_DEBOOTSTRAP

Specialized 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 --unpack, 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_INSTALL

Copied 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.  

AUTHOR

empbuilderlib was written by Neil Williams codehelp@debian.org.

This manual page was written by Neil Williams codehelp@debian.org  

SEE ALSO

See also apt-cross (1), dpkg-cross (1), emdebian-tools (1), empdebuilderlib (3).


 

Index

NAME
DESCRIPTION
BASIC_ETC_FSTAB
BASIC_GROUP_SETUP
BASIC_PASSWD_SETUP
BUSYBOX_INITTAB
BUSYBOX_RCS
CHECK_DIRS
CHECKARCH
CREATE_EMDEBIANTGZ
DISABLE_APT_RECOMMENDS
EXTRA_ETC_RCD
MAKE_DPKG_DIRS
PREPARE_PROC
PREPARE_VAR
SET_APPROX_TIME
SET_CDEBCONF_DEFAULT
SYMLINK_RCS
UNPACK_DEBOOTSTRAP
X_FEIGN_INSTALL
AUTHOR
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 22:06:59 GMT, April 16, 2011