/branches/lfs-7.0-fr/chapter01/whatsnew.xml |
---|
150,9 → 150,9 |
<!--<listitem> |
<para>Mktemp &mktemp-version;</para> |
</listitem>--> |
<!--<listitem> |
<listitem> |
<para>Module-Init-Tools &module-init-tools-version;</para> |
</listitem>--> |
</listitem> |
<listitem> |
<para>MPC &mpc-version;</para> |
</listitem> |
172,9 → 172,6 |
<para>Procps &procps-version;</para> |
</listitem>--> |
<listitem> |
<para>Pkg-config &pkg-config-version;</para> |
</listitem> |
<listitem> |
<para>Psmisc &psmisc-version;</para> |
</listitem> |
<!--<listitem> |
248,7 → 245,7 |
<para>&gcc-startfiles-patch;</para> |
</listitem> |
<listitem> |
<para>Glib-&glib-version;</para> |
<para>&gcc-locale-patch;</para> |
</listitem> |
<listitem> |
<para>&glibc-fixes-patch;</para> |
263,7 → 260,7 |
<para>libpipeline-&libpipeline-version;</para> |
</listitem> |
<listitem> |
<para>PCRE-&pcre-version;</para> |
<para>&module-init-tools-man-patch;</para> |
</listitem> |
<listitem> |
<para>perl-5.14.1-libc-1.patch</para> |
295,6 → 292,9 |
<listitem> |
<para>perl-5.12.3-libc-1.patch</para> |
</listitem> |
<listitem> |
<para>Pkg-Config-0.25</para> |
</listitem> |
</itemizedlist> |
/branches/lfs-7.0-fr/chapter01/changelog.xml |
---|
38,6 → 38,291 |
--> |
<listitem> |
<para>13-10-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Ajout d'Xz aux prérequis car Coreutils n'est désormais |
plus fourni qu'au format .xz.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Modification de l'emplacement du fichier pour kbd, udev, |
util-linux et moduule-utils en anduin jusqu'à ce que lernel.org se |
repeuple.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Passage à Coreutils-8.14. Corrige |
<ulink url="&lfs-ticket-root;2945">#2945</ulink>.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>12-10-2011</para> |
<itemizedlist> |
<listitem> |
<para>[matthew] - Correction effective du correctif Coreutils i18n |
pour qu'il lance et saute de nouveau tous les tests.</para> |
</listitem> |
<listitem> |
<para>[matthew] - Passage à MPFR-3.1.0. Corrige |
<ulink url="&lfs-ticket-root;2934">#2934</ulink>.</para> |
</listitem> |
<listitem> |
<para>[matthew] - Passage à Module-Init-Tools-3.16. Corrige |
<ulink url="&lfs-ticket-root;2882">#2882</ulink>.</para> |
</listitem> |
<listitem> |
<para>[matthew] - Passage à Glibc-2.14.1. Corrige |
<ulink url="&lfs-ticket-root;2940">#2940</ulink>.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>10-10-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Ajout d'un correctif à gcc pour corriger quelques |
tests de locales. Corrige |
tests. |
<ulink url="&lfs-ticket-root;2938">#2938</ulink>.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Ajout d'un paragraphe au chapitre 3.1 sur |
l'obtention et l'utilisation des sommes de contrôle MD5 des paquets |
du livre.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>08-10-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Passage à man-pages-3.35. Corrige |
<ulink url="&lfs-ticket-root;2936">#2936</ulink>.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Add additional environment variable |
to man-db.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>07-10-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Petite mise à jour du Makefile des scripts de |
démarrage. Corrige |
<ulink url="&lfs-ticket-root;2939">#2939</ulink>. |
</para> |
</listitem> |
<listitem> |
<para>[matthew] - Suppression de Pkg-Config et de ses dépendances, |
PCRE et Glib. On peut construire E2fsprogs, Man-DB et Udev sans |
Pkg-Config, et les dernières versions de Glib représentent un peu |
trop pour LFS.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>06-10-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bryan] - Correction du script udev_retry et ajout d'une |
explication sur la manière de le configurer.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>10-05-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Ajout d'un petit changement fait en amont à gmp. |
Corrige |
<ulink url="&lfs-ticket-root;2935">#2935</ulink>.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>02-10-2011</para> |
<itemizedlist> |
<listitem> |
<para>[matthew] - Correction du correctif d'internationalisation de |
Coreutils pour qu'il lance et saute de nouveau les tests.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>29-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[matthew] - Ajout d'un correctif pour corriger plusieurs bogues |
de MPFR. Corrige |
<ulink url="&lfs-ticket-root;2918">#2918</ulink>.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>26-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[matthew] - Passage à Perl-5.14.2. Corrige |
<ulink url="&lfs-ticket-root;2933">#2933</ulink>.</para> |
</listitem> |
<listitem> |
<para>[matthew] - Passage à File-5.09. Corrige |
<ulink url="&lfs-ticket-root;2932">#2932</ulink>.</para> |
</listitem> |
<listitem> |
<para>[matthew] - Passage à Coreutils-8.13. Corrige |
<ulink url="&lfs-ticket-root;2928">#2928</ulink>.</para> |
</listitem> |
<listitem> |
<para>[matthew] - Ajout d'une correction de bogue pour Glibc, qui |
faisait tomber en erreur de segmentation les programmes qui étaient |
liés à SDL. Corrige |
<ulink url="&lfs-ticket-root;2920">#2920</ulink>.</para> |
</listitem> |
<listitem> |
<para>[matthew] - Passage à Diffutils-3.2. Corrige |
<ulink url="&lfs-ticket-root;2919">#2919</ulink>.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Correction de la syntaxe dans le script de démarrage |
modules.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>23-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Permission que des variables de rc.site prennent |
le dessus sur celles par défaut.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>22-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Mise à jour du script console de |
lfs-bootscripts.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>21-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Mise à jour du Makefile de lfs-bootscripts.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>18-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Relecture et répercution des changements récents sur |
les scripts de démarrage.</para> |
<itemizedlist> |
<listitem><para>Renommage de /etc/sysconfig/init_params en /etc/sysconfig/rc.site.</para> |
</listitem> |
<listitem><para>Déplacement de network services vers /lib/services.</para></listitem> |
<listitem><para>Déplacement d'init-functions vers /lib/lsb.</para></listitem> |
<listitem><para>/lib/lsb devient un lien symbolique vers /lib/services.</para></listitem> |
<listitem><para>Création d'un lien symbolique commode /etc/init.d->/etc/rc.d/init.d |
</para></listitem> |
<listitem><para>Ajout d'une aide et de pages de man à ifup/ifdown. |
</para></listitem> |
<listitem><para>Renvoi de /run/var/bootlog vers /var/log/boot.log |
à la fin de la séquence d'amorçage.</para></listitem> |
<listitem><para>Ajout de la possibilité de retracer pas à pas |
les scripts de démarrage au moment de l'amorçage. |
</para></listitem> |
<listitem><para>Possibilité facultative de mettre les variables |
d'environnement des fichiers console, network, et clock |
du répertoire sysconfig dans rc.site. |
</para></listitem> |
<listitem><para>Ajout d'un paramètre FASTBOOT facultatif pour |
régler /fastboot lors du redémarrage. |
</para></listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>[bdubbs] - Suppression d'un léger message d'avertissement d'udev |
provoqué par le script de démarrage udev_retry.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Ajout de SKIPTMPCLEAN comme paramètre facultatif |
pour passer le nettoyage de /tmp au moment du démarrage.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Ajout d'une page au chapitre 7 documentant rc.site.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>04-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Correction d'une fonction popt cassée dans |
pkg-config.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Suppression de la substitution de mountpoint de |
sysvinit à celui d'util-linux.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>03-09-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Correction de la version du répertoire extrait de |
binutils dans les instructions de construction de binutils. Ceci |
sera inversé dès la prochaine version en amont, lorsque la version |
de l'archive tar sera de nouveau synchronisée avec le nom du |
répertoire.</para> |
</listitem> |
<listitem> |
<para>[bdubbs] - Correction des scripts de démarrage pour exporter |
correctement la variable IN_BOOT.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>31-08-2011</para> |
<itemizedlist> |
<listitem> |
<para>[bdubbs] - Suppression de la création d'un fichier malicieux |
dans la suite de tests de grep.</para> |
</listitem> |
</itemizedlist> |
</listitem> |
<listitem> |
<para>29-08-2011</para> |
<itemizedlist> |
<listitem> |
/branches/lfs-7.0-fr/chapter03/introduction.xml |
---|
28,7 → 28,7 |
(<ulink url="http://www.google.com/"/>) offre un moteur de recherche |
utile pour la plupart des paquets. Si cette recherche est |
infructueuse, essayez un des autres moyens de téléchargement |
disponible sur url="&lfs-root;lfs/packages.html#packages"/>.</para> |
disponible sur <ulink url="&lfs-root;lfs/packages.html#packages"/>. </para> |
<para>Les paquets et les correctifs téléchargés doivent être stockés |
quelque part où ils seront facilement disponibles pendant toute la |
58,6 → 58,16 |
est d'utiliser <ulink url="../wget-list">wget-list</ulink> comme entrée |
pour <command>wget</command>. Par exemple :</para> |
<screen role="nodump"><userinput>wget -i wget-list -P $LFS/sources</userinput></screen> |
<screen role="nodump"><userinput>wget -i wget-list -P $LFS/sources</userinput></screen> |
<para>En outre, à partir de LFS-7.0, il existe un fichier séparé, |
<ulink url="../md5sums">md5sums</ulink>, can be utilisé pour vérifier que |
tous les paquets sont disponibles avant de continuer. Mettez ce fichier |
dans <filename class="directory">$LFS/sources</filename> et lancez :</para> |
<screen role="nodump"><userinput>pushd $LFS/sources |
md5sum -c md5sums |
popd</userinput></screen> |
</sect1> |
/branches/lfs-7.0-fr/chapter03/patches.xml |
---|
99,6 → 99,14 |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>GCC correctif Locale - <token>&gcc-locale-patch-size;</token> :</term> |
<listitem> |
<para>Téléchargement : <ulink url="&patches-root;&gcc-locale-patch;"/></para> |
<para>Somme de contrôle MD5 : <literal>&gcc-locale-patch-md5;</literal></para> |
</listitem> |
</varlistentry> |
<!--<varlistentry> |
<term>GRUB Correctif de Géométrie du disque - <token>&grub-geometry-patch-size;</token>:</term> |
<listitem> |
123,6 → 131,13 |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>Module Init Tools - <token>&module-init-tools-man-patch-size;</token> :</term> |
<listitem> |
<para>Téléchargement : <ulink url="&patches-root;&module-init-tools-man-patch;"/></para> |
<para>Somme de contrôle MD5 : <literal>&module-init-tools-man-patch-md5;</literal></para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>Patch Correctif suite de tests - <token>&patch-test-patch-size;</token> :</term> |
/branches/lfs-7.0-fr/chapter03/packages.xml |
---|
69,6 → 69,15 |
</varlistentry> |
<varlistentry> |
<term>Check (&check-version;) - <token>&check-size;</token> :</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&check-home;"/></para> |
<para>Téléchargement : <ulink url="&check-url;"/></para> |
<para>Somme de contrôle MD5 : <literal>&check-md5;</literal></para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&coreutils-home;"/></para> |
187,15 → 196,6 |
</varlistentry> |
<varlistentry> |
<term>Glib (&glib-version;) - <token>&glib-size;</token> :</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&glib-home;"/></para> |
<para>Téléchargement : <ulink url="&glib-url;"/></para> |
<para>Somme de contrôle MD5 : <literal>&glib-md5;</literal></para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>Glibc (&glibc-version;) - <token>&glibc-size;</token> :</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&glibc-home;"/></para> |
452,15 → 452,6 |
</varlistentry> |
<varlistentry> |
<term>PCRE (&pcre-version;) - <token>&pcre-size;</token> :</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&pcre-home;"/></para> |
<para>Téléchargement : <ulink url="&pcre-url;"/></para> |
<para>Somme de contrôle MD5 : <literal>&pcre-md5;</literal></para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>Perl (&perl-version;) - <token>&perl-size;</token>:</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&perl-home;"/></para> |
470,15 → 461,6 |
</varlistentry> |
<varlistentry> |
<term>Pkg-config (&pkg-config-version;) - <token>&pkg-config-size;</token> :</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&pkg-config-home;"/></para> |
<para>Téléchargement : <ulink url="&pkg-config-url;"/></para> |
<para>Somme de contrôle MD5 : <literal>&pkg-config-md5;</literal></para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>Procps (&procps-version;) - <token>&procps-size;</token>:</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&procps-home;"/></para> |
497,15 → 479,6 |
</varlistentry> |
<varlistentry> |
<term>Pkg-config (&pkg-config-version;) - <token>&pkg-config-size;</token> :</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&pkg-config-home;"/></para> |
<para>Téléchargement : <ulink url="&pkg-config-url;"/></para> |
<para>Somme de contrôle MD5 : <literal>&pkg-config-md5;</literal></para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term>Readline (&readline-version;) - <token>&readline-size;</token>:</term> |
<listitem> |
<para>Page d'accueil : <ulink url="&readline-home;"/></para> |
/branches/lfs-7.0-fr/chapter05/tcl.xml |
---|
40,9 → 40,10 |
<sect2 role="installation"> |
<title>Installation de Tcl</title> |
<para>Ce paquet et les deux suivants (Expect et DejaGNU) sont installés |
uniquement pour supporter les suites de tests de GCC et Binutils. |
Installer ces trois paquets dans un but de tests pourrait sembler |
<para>Ce paquet et les trois suivants (Expect, DejaGNU et Check) sont installés |
uniquement pour supporter les suites de tests de GCC, Binutils et d'autres |
paquets. |
Installer quatre paquets dans un but de tests pourrait sembler |
excessif mais c'est très rassurant, voire essentiel, de savoir que les |
outils les plus importants fonctionnent correctement. Même si les suites |
de tests ne sont pas exécutées dans ce chapitre (elles ne sont pas |
/branches/lfs-7.0-fr/chapter05/chapter05.xml |
---|
24,6 → 24,7 |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="check.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/> |
/branches/lfs-7.0-fr/chapter05/glibc.xml |
---|
81,7 → 81,7 |
<screen><userinput remap="configure">../glibc-&glibc-version;/configure --prefix=/tools \ |
--host=$LFS_TGT --build=$(../glibc-&glibc-version;/scripts/config.guess) \ |
--disable-profile --enable-add-ons \ |
--enable-kernel=2.6.22.5 --with-headers=/tools/include \ |
--enable-kernel=2.6.25 --with-headers=/tools/include \ |
libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes</userinput></screen> |
<variablelist> |
114,10 → 114,11 |
</varlistentry> |
<varlistentry> |
<term><parameter>--enable-kernel=2.6.22.5</parameter></term> |
<term><parameter>--enable-kernel=2.6.25</parameter></term> |
<listitem> |
<para>Ceci indique à Glibc de compiler la bibliothèque avec le support |
des noyaux Linux 2.6.18 et supérieurs. Les environnements pour des noyaux plus anciens ne sont pas activés.</para> |
des noyaux Linux 2.6.25 et supérieurs. Les contournements pour les |
noyaux plus anciens ne sont pas activés.</para> |
</listitem> |
</varlistentry> |
/branches/lfs-7.0-fr/chapter05/gcc-pass1.xml |
---|
77,7 → 77,9 |
--disable-libmudflap --disable-libssp \ |
--disable-libgomp --disable-libquadmath \ |
--disable-target-libiberty --disable-target-zlib \ |
--enable-languages=c --without-ppl --without-cloog</userinput></screen> |
--enable-languages=c --without-ppl --without-cloog \ |
--with-mpfr-include=$LFS/sources/gcc-&gcc-version;/mpfr/src \ |
--with-mpfr-lib=$LFS/sources/gcc-build/mpfr/src/.libs</userinput></screen> |
<variablelist> |
<title>Voici la signification des options de configure :</title> |
/branches/lfs-7.0-fr/chapter05/gcc-pass2.xml |
---|
163,7 → 163,9 |
--enable-__cxa_atexit --enable-languages=c,c++ \ |
--disable-libstdcxx-pch --disable-multilib \ |
--disable-bootstrap --disable-libgomp \ |
--without-ppl --without-cloog</userinput></screen> |
--without-ppl --without-cloog \ |
--with-mpfr-include=$LFS/sources/gcc-&gcc-version;/mpfr/src \ |
--with-mpfr-lib=$LFS/sources/gcc-build/mpfr/src/.libs</userinput></screen> |
<variablelist> |
<title>Voici la signification des nouvelles options de configure :</title> |
/branches/lfs-7.0-fr/chapter05/check.xml |
---|
0,0 → 1,98 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
<!ENTITY % general-entities SYSTEM "../general.ent"> |
%general-entities; |
]> |
<sect1 id="ch-tools-check" role="wrap"> |
<?dbhtml filename="check.html"?> |
<sect1info condition="script"> |
<productname>check</productname> |
<productnumber>&check-version;</productnumber> |
<address>&check-url;</address> |
</sect1info> |
<title>Check-&check-version;</title> |
<indexterm zone="ch-tools-check"> |
<primary sortas="a-Check">Check</primary> |
</indexterm> |
<sect2 role="package"> |
<title/> |
<para>Check est un environnement de test d'unités de C.</para> |
<segmentedlist> |
<segtitle>&buildtime;</segtitle> |
<segtitle>&diskspace;</segtitle> |
<seglistitem> |
<seg>&check-ch5-sbu;</seg> |
<seg>&check-ch5-du;</seg> |
</seglistitem> |
</segmentedlist> |
</sect2> |
<sect2 role="installation"> |
<title>Installation de Check</title> |
<para>Préparez la compilation de Check :</para> |
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen> |
<para>Construisez le paquet :</para> |
<screen><userinput remap="make">make</userinput></screen> |
<para>La compilation est maintenant terminée. Comme indiqué plus haut, le |
lancement de la suite de tests n'est pas obligatoire pour les outils temporaires |
de ce chapitre. Pour lancer quand même la suite de tests de Check, exécutez |
la commande suivante :</para> |
<screen><userinput remap="test">make check</userinput></screen> |
<para>Remarquez que la suite de tests de Check peut mettre pas mal de temps |
(jusqu'à 4 SBU).</para> |
<para>Installez le paquet :</para> |
<screen><userinput remap="install">make install</userinput></screen> |
</sect2> |
<sect2 id="contents-check" role="content"> |
<title>Contenu de Check</title> |
<segmentedlist> |
<segtitle>Bibliothèque installée</segtitle> |
<seglistitem> |
<seg>libcheck.{a,so}</seg> |
</seglistitem> |
</segmentedlist> |
<variablelist> |
<bridgehead renderas="sect3">Descriptions courtes</bridgehead> |
<?dbfo list-presentation="list"?> |
<?dbhtml list-presentation="table"?> |
<varlistentry id="libcheck"> |
<term><filename class="libraryfile">libcheck.{a,so}</filename></term> |
<listitem> |
<para>Contient les fonctions permettant à Check d'être appelé depuis |
un programme de test</para> |
<indexterm zone="ch-tools-check libcheck"> |
<primary sortas="c-libcheck">libcheck</primary> |
</indexterm> |
</listitem> |
</varlistentry> |
</variablelist> |
</sect2> |
</sect1> |
/branches/lfs-7.0-fr/chapter05/binutils-pass1.xml |
---|
77,7 → 77,8 |
<para>Maintenant, préparez la compilation de Binutils :</para> |
<screen><userinput remap="configure">../binutils-&binutils-version;/configure \ |
<!-- <screen><userinput remap="configure">../binutils-&binutils-version;/configure \ --> |
<screen><userinput remap="configure">../binutils-&binutils-dir;/configure \ |
--target=$LFS_TGT --prefix=/tools \ |
--disable-nls --disable-werror</userinput></screen> |
<variablelist> |
/branches/lfs-7.0-fr/chapter05/binutils-pass2.xml |
---|
53,9 → 53,11 |
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -B/tools/lib/" \ |
AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \ |
../binutils-&binutils-version;/configure --prefix=/tools \ |
../binutils-&binutils-dir;/configure --prefix=/tools \ |
--disable-nls --with-lib-path=/tools/lib</userinput></screen> |
<!-- ../binutils-&binutils-version;/configure - -prefix=/tools \ --> |
<variablelist> |
<title>Voici la signification des nouvelles options de configure :</title> |
/branches/lfs-7.0-fr/prologue/why.xml |
---|
480,7 → 480,7 |
<para>Ce paquet contient des programmes de compression et de |
décompression de fichiers. Il offre la compression la plus haute |
disponible et ce qui est utile pour la décompression des paquets XZ ou |
disponible et il est utile pour la décompression des paquets XZ ou |
du format LZMA.</para> |
</listitem> |
/branches/lfs-7.0-fr/prologue/hostreqs.xml |
---|
82,19 → 82,20 |
</listitem> |
<listitem> |
<para><emphasis role="strong">Noyau Linux 2.6.22.5</emphasis> |
<para><emphasis role="strong">Noyau Linux 2.6.25</emphasis> |
(compilé avec GCC-4.1.2 ou supérieur)</para> |
<para>Cette version du noyau est requise car nous spécifions cette version-là lors de la construction de |
<application>glibc</application> au chapitre 6, suivant ainsi une recommandation |
des développeurs.</para> |
<para>Cette version du noyau est requise car nous spécifions cette |
version-là lors de la construction de |
<application>glibc</application> au chapitre 6, suivant ainsi une |
recommandation des développeurs. Elle est aussi exigée par Udev</para> |
<para>Si le noyau hôte est plus ancien que le 2.6.22.5, ou s'il n'a pas |
<para>Si le noyau hôte est plus ancien que le 2.6.25, ou s'il n'a pas |
été compilé avec le compilateur GCC-4.1.2 (ou supérieur), |
vous devrez remplacer le noyau par un nouveau qui satisfait ces |
spécifications. Vous pouvez employer deux méthodes pour cela. |
Vous pouvez d'abord voir si votre distribution Linux fournit un paquet |
pour le noyau 2.6.22.5 ou supérieur. Si tel est le cas, vous pouvez l'installer. Si |
pour le noyau 2.6.25 ou supérieur. Si tel est le cas, vous pouvez l'installer. Si |
votre distribution n'offre pas un paquet acceptable pour le noyau, ou si vous |
préférez l'installer, vous pouvez compiler un noyau 2.6 vous-même. |
Les instructions pour la compilation du noyau et la configuration du |
129,6 → 130,9 |
<listitem> |
<para><emphasis role="strong">Texinfo-4.9</emphasis></para> |
</listitem> |
<listitem> |
<para><emphasis role="strong">Xz-5.0.3</emphasis></para> |
</listitem> |
</itemizedlist> |
177,6 → 181,7 |
sed --version | head -n1 |
tar --version | head -n1 |
echo "Texinfo: `makeinfo --version | head -n1`" |
xz --version | head -n1 |
echo 'main(){}' > dummy.c && gcc -o dummy dummy.c |
if [ -x dummy ]; then echo "Compilation OK"; |
else echo "Compilation failed"; fi |
/branches/lfs-7.0-fr/chapter06/gmp.xml |
---|
50,6 → 50,11 |
<screen role="nodump"><userinput><parameter>ABI=32</parameter> ./configure ...</userinput></screen></para> |
</note> |
<para>Tout d'abord, corrigez un léger bogue mentionné sur la page Internet |
du projet en amont :</para> |
<screen><userinput remap="pre"> sed -i 's/np + dn, qn/& - dn/' mpn/generic/dcpi1_bdiv_q.c</userinput></screen> |
<para>Préparez la compilation de GMP :</para> |
<screen><userinput remap="configure">./configure --prefix=/usr --enable-cxx --enable-mpbsd</userinput></screen> |
/branches/lfs-7.0-fr/chapter06/module-init-tools.xml |
---|
42,11 → 42,10 |
<sect2 role="installation"> |
<title>Installation de Module-Init-Tools</title> |
<para>Pour éviter un problème avec la regénération des pages de man alors |
qu'elles ne sont pas nécessaires, réécrivez tout d'abord un fichier qui pointe simplement vers une |
autre page de man :</para> |
<para>Appliquez un correctif qui contient les pages de man générées qui |
manquaient à l'archive tar des sources publiée :</para> |
<screen><userinput remap="pre">echo '.so man5/modprobe.conf.5' > modprobe.d.5</userinput></screen> |
<screen><userinput remap="pre">patch -Np1 -i ../&module-init-tools-man-patch;</userinput></screen> |
<para>La suite de tests du paquet est tournée vers les besoins du |
mainteneur. La commande <command>make check</command> compile une version |
55,14 → 54,15 |
commande <command>make clean</command> est requise pour nettoyer l'arberescence |
du source avant une recompilation pour un usage normal) :</para> |
<screen><userinput remap="test">./configure |
<screen><userinput remap="test">DOCBOOKTOMAN=/bin/true ./configure |
make check |
sed -i -e 's@../../configure@DOCBOOKTOMAN=/bin/true &@' tests/runtests |
./tests/runtests |
make clean</userinput></screen> |
<para>Préparez la compilation de Module-Init-Tools :</para> |
<screen><userinput remap="configure">./configure --prefix=/ --enable-zlib-dynamic --mandir=/usr/share/man</userinput></screen> |
<screen><userinput remap="configure">DOCBOOKTOMAN=/bin/true ./configure --prefix=/ --enable-zlib-dynamic --mandir=/usr/share/man</userinput></screen> |
<para>Compilez le paquet :</para> |
/branches/lfs-7.0-fr/chapter06/udev.xml |
---|
39,8 → 39,13 |
</sect2> |
<sect2 role="installation"> |
<title>Installation de Udev</title> |
<title>Installation d'Udev</title> |
<para>Éventuellement, supprimez un message d'avertissement inutile affiché |
dans cette version d'udev lors du démarrage.</para> |
<screen><userinput remap="pre">sed -i -e '/deprecated/d' udev/udevadm-trigger.c</userinput></screen> |
<para>L'archive tar udev-config contient des fichiers spécifiques à |
LFS-specific utilisés pour configurer Udev. Déballez-la dans le |
répertoire des sources Udev :</para> |
66,7 → 71,7 |
--sysconfdir=/etc --sbindir=/sbin \ |
--with-rootlibdir=/lib --libexecdir=/lib/udev \ |
--disable-hwdb --disable-introspection \ |
--disable-keymap</userinput></screen> |
--disable-keymap --disable-gudev</userinput></screen> |
<variablelist> |
<title>Voici la signification des nouvelles options de configure</title> |
/branches/lfs-7.0-fr/chapter06/util-linux.xml |
---|
114,7 → 114,7 |
fsck.cramfs, fsck.minix, fsfreeze, getopt, hexdump, hwclock, i386, |
ionice, ipcmk, ipcrm, ipcs, isosize, ldattach, line, linux32, linux64, |
logger, look, losetup, lscpu, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, |
mkfs.minix, mkswap, more, mount, namei, partx, pg, pivot_root, |
mkfs.minix, mkswap, more, mount, mountpoint, namei, partx, pg, pivot_root, |
readprofile, rename, renice, rev, rtcwake, script, scriptreplay, |
setarch, setsid, setterm, sfdisk, swaplabel, swapoff (link to swapon), |
swapon, switch_root, tailf, taskset, tunelp, ul, umount, unshare, |
678,6 → 678,17 |
</listitem> |
</varlistentry> |
<varlistentry id="mountpoint"> |
<term><command>mountpoint</command></term> |
<listitem> |
<para>Vérifie si le répertoire est un point de montage</para> |
<indexterm zone="ch-system-util-linux mountpoint"> |
<primary sortas="b-mountpoint">mountpoint</primary> |
</indexterm> |
</listitem> |
</varlistentry> |
<varlistentry id="namei"> |
<term><command>namei</command></term> |
<listitem> |
/branches/lfs-7.0-fr/chapter06/sysvinit.xml |
---|
57,12 → 57,16 |
<screen><userinput remap="pre">sed -i 's@Sending processes@& configured via /etc/inittab@g' \ |
src/init.c</userinput></screen> |
<para>Une version maintenue du programme <command>wall</command> a été |
installée plus haut par Util-linux. Supprimez |
l'installation de la version de Sysvinit de ce programme et de sa page de man :</para> |
<para>Les versions maintenues des programmes <command>wall</command> et |
<command>mountpoint</command> ont été |
installées plus haut par Util-linux. Supprimez |
l'installation de la version de Sysvinit de ces programmes et de leur page |
de man :</para> |
<screen><userinput remap="make">sed -i -e 's/utmpdump wall/utmpdump/' \ |
-e 's/mountpoint.1 wall.1/mountpoint.1/' src/Makefile</userinput></screen> |
-e '/= mountpoint/d' \ |
-e 's/mountpoint.1 wall.1//' src/Makefile</userinput></screen> |
<para>Compilez le paquet :</para> |
<screen><userinput remap="make">make -C src</userinput></screen> |
187,16 → 191,6 |
</listitem> |
</varlistentry> |
<varlistentry id="mountpoint"> |
<term><command>mountpoint</command></term> |
<listitem> |
<para>Vérifie si le répertoire est un point de montage</para> |
<indexterm zone="ch-system-sysvinit mountpoint"> |
<primary sortas="b-mountpoint">mountpoint</primary> |
</indexterm> |
</listitem> |
</varlistentry> |
<varlistentry id="pidof"> |
<term><command>pidof</command></term> |
<listitem> |
/branches/lfs-7.0-fr/chapter06/gcc.xml |
---|
72,6 → 72,11 |
<screen><userinput remap="pre">sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in</userinput></screen> |
<para>Enfin, appliquez un correctif qui corrige le code du test des |
modifications de locale qui se pratique dans glibc-2.14 et supérieur.</para> |
<screen><userinput remap="pre">patch -Np1 -i ../gcc-4.6.1-locale-1.patch</userinput></screen> |
<para>La documentation de GCC recommande de construire GCC en dehors |
du répertoire source, c'est-à-dire dans un répertoire |
dédié :</para> |
/branches/lfs-7.0-fr/chapter06/man-db.xml |
---|
42,7 → 42,11 |
<title>Installation de Man-DB</title> |
<para>Préparez la compilation de man-DB :</para> |
<screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib \ |
<screen><userinput remap="configure">PKG_CONFIG=/tools/bin/true \ |
libpipeline_CFLAGS='' \ |
libpipeline_LIBS='-lpipeline' \ |
./configure --prefix=/usr --libexecdir=/usr/lib \ |
--docdir=/usr/share/doc/man-db-&man-db-version; --sysconfdir=/etc \ |
--disable-setuid --with-browser=/usr/bin/lynx \ |
--with-vgrind=/usr/bin/vgrind --with-grap=/usr/bin/grap</userinput></screen> |
51,6 → 55,15 |
<title>Voici la signification des options de configuration :</title> |
<varlistentry> |
<term><parameter>PKG_CONFIG=, libpipeline_ ...</parameter></term> |
<listitem> |
<para>Ces variables d'environnement permettent au processus de |
configuration de se terminer sans programme externe |
<command>pkg-config</command>.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><parameter>--disable-setuid</parameter></term> |
<listitem> |
<para>Ceci empêche que le programme <command>man</command> se voit |
82,12 → 95,8 |
<para>Pour tester les résultats, lancez :</para> |
<screen><userinput remap="test">make -k check</userinput></screen> |
<screen><userinput remap="test">make check</userinput></screen> |
<para>Remarquez que 2 tests sont connus pour échouer car ils se basent sur |
la sortie des avertissements de Groff, qui a légèrement changé dans |
Groff-1.21.</para> |
<para>Installez le paquet :</para> |
<screen><userinput remap="install">make install</userinput></screen> |
/branches/lfs-7.0-fr/chapter06/binutils.xml |
---|
79,7 → 79,8 |
<para>Préparez la compilation de Binutils :</para> |
<screen><userinput remap="configure">../binutils-&binutils-version;/configure --prefix=/usr \ |
<!-- <screen><userinput remap="configure">../binutils-&binutils-version;/configure - -prefix=/usr \ --> |
<screen><userinput remap="configure">../binutils-&binutils-dir;/configure --prefix=/usr \ |
--enable-shared</userinput></screen> |
<para>Compilez le paquet :</para> |
/branches/lfs-7.0-fr/chapter06/vim.xml |
---|
81,7 → 81,8 |
<para>Néanmoins, cette suite de tests affiche à l'écran beaucoup de |
caractères binaires qui peuvent causer |
des soucis sur votre terminal. Ceci peut se résoudre en redirigeant |
la sortie vers un journal de traces.</para> |
la sortie vers un journal de traces. Un test réussi donnera les mots |
"ALL DONE" lors de la complétion.</para> |
<para>Installez le paquet :</para> |
/branches/lfs-7.0-fr/chapter06/chapter06.xml |
---|
30,9 → 30,6 |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pcre.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glib.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkg-config.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="e2fsprogs.xml"/> |
/branches/lfs-7.0-fr/chapter06/libpipeline.xml |
---|
43,13 → 43,29 |
<para>Préparez la compilation de Libpipeline :</para> |
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> |
<screen><userinput remap="configure">./configure CHECK_CFLAGS=-I/tools/include \ |
CHECK_LIBS="-L/tools/lib -lcheck" --prefix=/usr</userinput></screen> |
<variablelist> |
<title>Voici la signification des options de configure :</title> |
<varlistentry> |
<term><parameter>CHECK_CFLAGS=, CHECK_LIBS=</parameter></term> |
<listitem> |
<para>Ces variables d'environnement spécifient l'emplacement de la |
bibliothèque de test construite au <xref linkend="ch-tools-check"/>.</para> |
</listitem> |
</varlistentry> |
</variablelist> |
<para>Compilez le paquet :</para> |
<screen><userinput remap="make">make</userinput></screen> |
<para>Ce paquet n'est pas fourni avec une suite de tests.</para> |
<para>Pour tester les résultats, lancez :</para> |
<screen><userinput remap="test">make check</userinput></screen> |
<para>Installez le paquet :</para> |
/branches/lfs-7.0-fr/chapter06/grep.xml |
---|
1,3 → 1,4 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
<!ENTITY % general-entities SYSTEM "../general.ent"> |
22,7 → 23,7 |
<sect2 role="package"> |
<title/> |
<para>Le paquet Grep contient des programmes de recherche à l'intérieur de fichiers.</para> |
<para>Le paquet Grep contient des programmes de recherche à l'intérieur de fichiers.</para> |
<segmentedlist> |
<segtitle>&buildtime;</segtitle> |
39,16 → 40,19 |
<sect2 role="installation"> |
<title>Installation de Grep</title> |
<para>Préparez la compilation de Grep :</para> |
<para>Tout d'abord, corrigez un petit problème avec un script de test :</para> |
<screen><userinput remap="configure">./configure --prefix=/usr \ |
--bindir=/bin</userinput></screen> |
<screen><userinput>sed -i 's/cp/#&/' tests/unibyte-bracket-expr</userinput></screen> |
<para>Préparez la compilation de Grep :</para> |
<screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen> |
<para>Compilez le paquet :</para> |
<screen><userinput remap="make">make</userinput></screen> |
<para>Pour tester les résultats, lancez :</para> |
<para>Pour tester les résultats, lancez :</para> |
<screen><userinput remap="test">make check</userinput></screen> |
62,7 → 66,7 |
<title>Contenu de Grep</title> |
<segmentedlist> |
<segtitle>Programmes installés</segtitle> |
<segtitle>Programmes installés</segtitle> |
<seglistitem> |
<seg>egrep, fgrep et grep</seg> |
77,7 → 81,7 |
<varlistentry id="egrep"> |
<term><command>egrep</command></term> |
<listitem> |
<para>Affiche les lignes correspondant à une expression rationnelle étendue</para> |
<para>Affiche les lignes correspondant à une expression rationnelle étendue</para> |
<indexterm zone="ch-system-grep egrep"> |
<primary sortas="b-egrep">egrep</primary> |
</indexterm> |
87,7 → 91,7 |
<varlistentry id="fgrep"> |
<term><command>fgrep</command></term> |
<listitem> |
<para>Affiche des lignes correspondant à une liste de chaînes fixes</para> |
<para>Affiche des lignes correspondant à une liste de chaînes fixes</para> |
<indexterm zone="ch-system-grep fgrep"> |
<primary sortas="b-fgrep">fgrep</primary> |
</indexterm> |
97,7 → 101,7 |
<varlistentry id="grep"> |
<term><command>grep</command></term> |
<listitem> |
<para>Affiche des lignes correspondant à une expression rationnelle |
<para>Affiche des lignes correspondant à une expression rationnelle |
basique</para> |
<indexterm zone="ch-system-grep grep"> |
<primary sortas="b-grep">grep</primary> |
/branches/lfs-7.0-fr/chapter06/glibc.xml |
---|
129,7 → 129,7 |
<screen><userinput remap="configure">../glibc-&glibc-version;/configure --prefix=/usr \ |
--disable-profile --enable-add-ons \ |
--enable-kernel=2.6.22.5 --libexecdir=/usr/lib/glibc</userinput></screen> |
--enable-kernel=2.6.25 --libexecdir=/usr/lib/glibc</userinput></screen> |
<variablelist> |
<title>Voici la signification des options de configure :</title> |
198,6 → 198,12 |
aidant à éliminer ces erreurs (par exemple <command>TIMEOUTFACTOR=16 |
make -k check</command>).</para> |
</listitem> |
<listitem> |
<para>D'autres tests qui sont connus pour échouer sur certaines |
architectures sont posix/bug-regex32, |
misc/tst-writev, elf/check-textrel, nptl/tst-getpid2, et stdio-common/bug22.</para> |
</listitem> |
</itemizedlist> |
<para>Bien que ce ne soit qu'un simple message, l'étape d'installation de |
/branches/lfs-7.0-fr/chapter06/pkg-config.xml |
---|
50,7 → 50,8 |
<para>Corrigez un problème avec un des tests de Pkg-config :</para> |
<screen><userinput remap="pre">sed -i -e '21s/EXPECT_RETURN=1/EXPECT_RETURN=0/' check/check-cmd-options</userinput></screen> |
<screen><userinput remap="pre">sed -i -e '/!done/a\ |
longArg = NULL;' popt/popt.c</userinput></screen> |
<para>Préparez la compilation de Pkg-config :</para> |
/branches/lfs-7.0-fr/chapter06/e2fsprogs.xml |
---|
52,7 → 52,8 |
<para>Préparez la compilation d'E2fsprogs :</para> |
<screen><userinput remap="configure">../configure --prefix=/usr --with-root-prefix="" \ |
<screen><userinput remap="configure">PKG_CONFIG=/tools/bin/true LDFLAGS=-lblkid \ |
../configure --prefix=/usr --with-root-prefix="" \ |
--enable-elf-shlibs --disable-libblkid --disable-libuuid \ |
--disable-uuidd --disable-fsck</userinput></screen> |
60,6 → 61,14 |
<title>Voici la signification des options de configure :</title> |
<varlistentry> |
<term><parameter>PKG_CONFIG...</parameter></term> |
<listitem> |
<para>Ceci permet à E2fsprogs de se construire sans besoin de |
construire et d'installer préalablement Pkg-config.</para> |
</listitem> |
</varlistentry> |
<varlistentry> |
<term><parameter>--with-root-prefix=""</parameter></term> |
<listitem> |
<para>Certains programmes (comme <command>e2fsck</command> |
/branches/lfs-7.0-fr/chapter07/udev.xml |
---|
130,10 → 130,10 |
car certains périphériques, répertoires et liens symboliques sont |
requis avant que les processus de gestion du périphérique |
dynamique ne soient disponibles pendant les premières étapes du |
démarrage d'un système, ou car <command>udevd</command> lui-même |
les exige. La création des nœuds statiques dans |
démarrage d'un système. |
La création des nœuds statiques dans |
<filename class="directory">/lib/udev/devices</filename> fournit |
aussi un environnement de travail facile pour les périphériques |
aussi un contournement facile pour les périphériques |
qui ne sont pas supportés par l'infrastructure de gestion des |
périphériques en dynamique. Ensuite le script de démarrage lance |
le démon Udev, <command>udevd</command>, qui agira sur tous les |
142,6 → 142,20 |
déjà enregistré puis attend que <command>udevd</command> les |
gère.</para> |
<para>Le script de démarrage <command>/etc/rc.d/init.d/udev_retry</command> |
s'occupe de ratraper les événements pour les sous-systèmes dont les règles |
se basent sur des systèmes de fichiers non montés jusqu'à ce que le |
scp:pt <command>mountfs</command> se lance (en particulier, il se peut que |
/usr et /var provoquent cela). Ce script se lance après que le script |
<command>mountfs</command>, pour que ces règles réussissent le |
contournement (si elles sont retardées). Le fichier |
<filename>/etc/sysconfig/udev_retry</filename> configure cela ; |
tous les mots de ce fichier qui ne sont pas des commentaires sont |
considérés comme des noms de sous-systèmes qu'il faut ratraper au moment |
du nouvel essai. (Pour trouver le sous-système d'un périphérique, |
utilisez <command>udevadm info --attribute-walk</command>.)</para> |
</sect3> |
<sect3> |
/branches/lfs-7.0-fr/chapter07/usage.xml |
---|
72,7 → 72,7 |
id:3:initdefault: |
si::sysinit:/etc/rc.d/init.d/rc sysinit |
si::sysinit:/etc/rc.d/init.d/rc S |
l0:0:wait:/etc/rc.d/init.d/rc 0 |
l1:S1:wait:/etc/rc.d/init.d/rc 1 |
106,7 → 106,7 |
est spécifié par la valeur initdefault.</para> |
<para>Par commodité, le script <command>rc</command> lit une bibliothèque |
de fonctions dans <filename class="directory">/lib/boot/functions</filename>. |
de fonctions dans <filename class="directory">/lib/lsb/init-functions</filename>. |
Cette bibliothèque lit aussi un fichier de configuration facultatif, |
<filename>/etc/sysconfig/init_params</filename>. Tous les paramètres du |
fichier de configuration du système décrits dans les sections suivantes peuvent |
/branches/lfs-7.0-fr/chapter07/site.xml |
---|
0,0 → 1,36 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
<!ENTITY % general-entities SYSTEM "../general.ent"> |
<!ENTITY site SYSTEM "../appendices/rc.site.script"> |
%general-entities; |
]> |
<sect1 id="ch-scripts-site"> |
<?dbhtml filename="site.html"?> |
<title>Le fichier rc.site</title> |
<indexterm zone="ch-scripts-site"> |
<primary sortas="a-rc.site">rc.site</primary> |
</indexterm> |
<para>Le fichier facultatif <filename>/etc/sysconfig/rc.site</filename> |
contient les paramètres réglés automatiquement pour chaque script de démarrage. |
Il peut aussi régler les valeurs spécifiées dans les fichiers <filename>hostname</filename>, |
<filename>console</filename> et <filename>clock</filename> du répertoire |
<filename class='directory'>/etc/sysconfig/</filename>. Si les variables |
associées se trouvent à la fois dans ces fichiers distincts et dans |
<filename>rc.site</filename>, les valeurs des fichiers spécifiques au script |
prennent le dessus. </para> |
<para><filename>rc.site</filename> contient aussi des paramètres pour |
personnaliser d'autres aspects du processus de démarrage. Le réglage de la |
variable IPROMPT permettra un lancement sélectif des scripts de démarrage. |
D'autres options sont décrites dans les commentaires du fichier. La version |
par défaut du fichier est comme suit :</para> |
<screen role="auto">&site;</screen> |
</sect1> |
/branches/lfs-7.0-fr/chapter07/setclock.xml |
---|
72,6 → 72,6 |
<envar>TZ</envar>.</para> |
<note><para>Vous pouvez régler soit le paramètre CLOCKPARAMS soit UTC dans |
le fichier <filename>/etc/sysconfig/init_params</filename>.</para></note> |
le fichier <filename>/etc/sysconfig/rc.site</filename>.</para></note> |
</sect1> |
/branches/lfs-7.0-fr/chapter07/network.xml |
---|
177,7 → 177,7 |
pour obtenir une adresse IP. Les scripts de démarrage LFS ont un |
format d'affectation IP modulaire. Créer les fichier supplémentaires |
dans le répertoire |
<filename class="directory">/lib/boot/</filename> |
<filename class="directory">/lib/services/</filename> |
autorise d'autres méthodes d'affectation d'IP. Ceci est habituellement |
utilisé pour le DHCP (<foreignphrase>Dynamic Host Configuration |
Protocol</foreignphrase>, NdT :protocole de configuration de |
/branches/lfs-7.0-fr/chapter07/bootscripts.xml |
---|
59,7 → 59,8 |
ifup, localnet, modules, mountfs, mountkernfs, network, rc, reboot, |
sendsignals, setclock, static, swap, sysctl, sysklogd, template, |
udev et udev_retry</seg> |
<seg>/etc/rc.d, /etc/sysconfig, /lib/boot</seg> |
<seg>/etc/rc.d, /etc/init.d (symbolic link), /etc/sysconfig, |
/lib/services, /lib/lsb (symbolic link)</seg> |
</seglistitem> |
</segmentedlist> |
/branches/lfs-7.0-fr/chapter07/chapter07.xml |
---|
22,6 → 22,7 |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="setclock.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="console.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sysklogd.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="site.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/> |
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/> |
/branches/lfs-7.0-fr/chapter07/sysklogd.xml |
---|
20,7 → 20,7 |
<parameter>-m 0</parameter>. Cette option désactive la marque |
périodique que <command>syslogd</command> écrit par défaut dans les fichiers |
journaux toutes les 20 minutes. Si vous voulez activer cette marque périodique, |
créez ou éditez <filename>/etc/sysconfig/init_params</filename> et définissez |
d'horodatage, éditez <filename>/etc/sysconfig/rc.site</filename> et définissez |
la variable SYSKLOGD_PARMS sur la valeur désirée. Par exemple, pour supprimer |
tous les paramètres, réglez la variable à la valeur null :</para> |
/branches/lfs-7.0-fr/general.ent |
---|
1,7 → 1,7 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
<!ENTITY version "SVN-20110830"> |
<!ENTITY releasedate "30 août 2011"> |
<!ENTITY version "SVN-20111013"> |
<!ENTITY releasedate "13 octobre 2011"> |
<!ENTITY copyrightdate "1999–2011"> |
<!ENTITY milestone "7.0"> |
<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> |
/branches/lfs-7.0-fr/packages.ent |
---|
34,6 → 34,7 |
<!ENTITY bash-ch6-sbu "1.4 SBU"> |
<!ENTITY binutils-version "2.21.1a"> |
<!ENTITY binutils-dir "2.21.1"> |
<!ENTITY binutils-size "18,553 Kio"> |
<!ENTITY binutils-url "&gnu;binutils/binutils-&binutils-version;.tar.bz2"> |
<!ENTITY binutils-md5 "bde820eac53fa3a8d8696667418557ad"> |
67,10 → 68,18 |
<!ENTITY bzip2-ch6-du "6.4 Mio"> |
<!ENTITY bzip2-ch6-sbu "moins de 0.1 SBU"> |
<!ENTITY coreutils-version "8.12"> |
<!ENTITY coreutils-size "11,228 Kio"> |
<!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.gz"> |
<!ENTITY coreutils-md5 "fce7999953a67243d00d75cc86dbcaa6"> |
<!ENTITY check-version "0.9.8"> |
<!ENTITY check-size "546 Kio"> |
<!ENTITY check-url "http://sourceforge.net/projects/check/files/check/&check-version;/check-&check-version;.tar.gz"> |
<!ENTITY check-md5 "5d75e9a6027cde79d2c339ef261e7470"> |
<!ENTITY check-home "http://check.sourceforge.net/"> |
<!ENTITY check-ch5-du "4.8 Mio"> |
<!ENTITY check-ch5-sbu "0.1 SBU"> |
<!ENTITY coreutils-version "8.14"> |
<!ENTITY coreutils-size "4,842 Kio"> |
<!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz"> |
<!ENTITY coreutils-md5 "bcb135ce553493a45aba01b39eb3920a"> |
<!ENTITY coreutils-home "&gnu-software;coreutils/"> |
<!ENTITY coreutils-ch5-du "88 Mio"> |
<!ENTITY coreutils-ch5-sbu "0.7 SBU"> |
85,10 → 94,10 |
<!ENTITY dejagnu-ch5-du "6.1 Mio"> |
<!ENTITY dejagnu-ch5-sbu "moins de 0.1 SBU"> |
<!ENTITY diffutils-version "3.1"> |
<!ENTITY diffutils-size "1,943 Kio"> |
<!ENTITY diffutils-version "3.2"> |
<!ENTITY diffutils-size "1,976 Kio"> |
<!ENTITY diffutils-url "&gnu;diffutils/diffutils-&diffutils-version;.tar.gz"> |
<!ENTITY diffutils-md5 "29c15b2de8bf33685029e035fa680a6e"> |
<!ENTITY diffutils-md5 "22e4deef5d8949a727b159d6bc65c1cc"> |
<!ENTITY diffutils-home "&gnu-software;diffutils/"> |
<!ENTITY diffutils-ch5-du "6.1 Mio"> |
<!ENTITY diffutils-ch5-sbu "0.1 SBU"> |
118,10 → 127,10 |
<!ENTITY expect-ch5-du "4.1 Mio"> |
<!ENTITY expect-ch5-sbu "0.1 SBU"> |
<!ENTITY file-version "5.08"> |
<!ENTITY file-size "591 Kio"> |
<!ENTITY file-version "5.09"> |
<!ENTITY file-size "593 Kio"> |
<!ENTITY file-url "ftp://ftp.astron.com/pub/file/file-&file-version;.tar.gz"> |
<!ENTITY file-md5 "6a2a263c20278f01fe3bb0f720b27d4e"> |
<!ENTITY file-md5 "6fd7cd6c4281e68fe9ec6644ce0fac6f"> |
<!ENTITY file-home "http://www.darwinsys.com/file/"> |
<!ENTITY file-ch5-du "9.5 Mio"> |
<!ENTITY file-ch5-sbu "0.2 SBU"> |
192,18 → 201,10 |
<!ENTITY gettext-ch6-du "125 Mio"> |
<!ENTITY gettext-ch6-sbu "5.8 SBU"> |
<!ENTITY glib-version "2.28.8"> |
<!ENTITY glib-size "6,854 Kio"> |
<!ENTITY glib-url "http://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-&glib-version;.tar.bz2"> |
<!ENTITY glib-md5 "789e7520f71c6a4bf08bc683ec764d24"> |
<!ENTITY glib-home "http://developer.gnome.org/glib/"> |
<!ENTITY glib-ch6-du "157 Mio"> |
<!ENTITY glib-ch6-sbu "1.3 SBU"> |
<!ENTITY glibc-version "2.14"> |
<!ENTITY glibc-size "15,265 Kio"> |
<!ENTITY glibc-version "2.14.1"> |
<!ENTITY glibc-size "15,284 Kio"> |
<!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.bz2"> |
<!ENTITY glibc-md5 "1588cc22e796c296223744895ebc4cef"> |
<!ENTITY glibc-md5 "5869a2620c6917dd392289864c6ce595"> |
<!ENTITY glibc-home "&gnu-software;libc/"> |
<!ENTITY glibc-ch5-du "501 Mio"> |
<!ENTITY glibc-ch5-sbu "5.5 SBU"> |
282,7 → 283,7 |
<!ENTITY kbd-version "1.15.2"> |
<!ENTITY kbd-size "1,520 Kio"> |
<!ENTITY kbd-url "&kernel;linux/utils/kbd/kbd-&kbd-version;.tar.gz"> |
<!ENTITY kbd-url "&anduin-sources;kbd/kbd-&kbd-version;.tar.gz"> |
<!ENTITY kbd-md5 "77d0b51454522bc6c170bbdc6e31202a"> |
<!ENTITY kbd-home " "> |
<!ENTITY kbd-ch6-du "16.0 Mio"> |
296,7 → 297,7 |
<!ENTITY less-ch6-du "3.5 Mio"> |
<!ENTITY less-ch6-sbu "moins de 0.1 SBU"> |
<!ENTITY lfs-bootscripts-version "20110830"> <!-- Scripts depend on this format --> |
<!ENTITY lfs-bootscripts-version "20111008"> <!-- Scripts depend on this format --> |
<!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE Kio"> <!-- Updated in Makefile --> |
<!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.bz2"> |
<!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM"> <!-- Updated in Makefile --> |
365,18 → 366,18 |
<!ENTITY man-db-ch6-du "22 Mio"> |
<!ENTITY man-db-ch6-sbu "0.4 SBU"> |
<!ENTITY man-pages-version "3.32"> |
<!ENTITY man-pages-size "1,108 Kio"> |
<!ENTITY man-pages-url "&kernel;linux/docs/manpages/man-pages-&man-pages-version;.tar.bz2"> |
<!ENTITY man-pages-md5 "1278c5289660e42a597fefd30d9bdcf0"> |
<!ENTITY man-pages-home "http://www.kernel.org/doc/man-pages/"> |
<!ENTITY man-pages-version "3.35"> |
<!ENTITY man-pages-size "1,650 Kio"> |
<!ENTITY man-pages-url "http://man7.org/linux/man-pages/download/man-pages-&man-pages-version;.tar.gz"> |
<!ENTITY man-pages-md5 "e41432ee35a49036bbaf8d4598506e9c"> |
<!ENTITY man-pages-home "http://man7.org/linux/man-pages/index.html"> |
<!ENTITY man-pages-ch6-du "21 Mio"> |
<!ENTITY man-pages-ch6-sbu "moins de 0.1 SBU"> |
<!ENTITY module-init-tools-version "3.12"> |
<!ENTITY module-init-tools-size "917 Kio"> |
<!ENTITY module-init-tools-url "http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-&module-init-tools-version;.tar.bz2"> |
<!ENTITY module-init-tools-md5 "8b2257ce9abef74c4a44d825d23140f3"> |
<!ENTITY module-init-tools-version "3.16"> |
<!ENTITY module-init-tools-size "224 Kio"> |
<!ENTITY module-init-tools-url "&anduin-sources;module-init-tools/module-init-tools-&module-init-tools-version;.tar.bz2"> |
<!ENTITY module-init-tools-md5 "bc44832c6e41707b8447e2847d2019f5"> |
<!ENTITY module-init-tools-home "https://modules.wiki.kernel.org/index.php/Module_init_tools_3_12"> |
<!ENTITY module-init-tools-ch6-du "8.6 Mio"> |
<!ENTITY module-init-tools-ch6-sbu "0.1 SBU"> |
392,10 → 393,10 |
<!ENTITY mpc-ch6-du "10.5 Mio suites de test comprise"> |
<!ENTITY mpc-ch6-sbu "0.3 SBU suistes de test comprises"> |
<!ENTITY mpfr-version "3.0.1"> |
<!ENTITY mpfr-size "1,127 Kio"> |
<!ENTITY mpfr-version "3.1.0"> |
<!ENTITY mpfr-size "1,176 Kio"> |
<!ENTITY mpfr-url "http://www.mpfr.org/mpfr-&mpfr-version;/mpfr-&mpfr-version;.tar.bz2"> |
<!ENTITY mpfr-md5 "bfbecb2eacb6d48432ead5cfc3f7390a"> |
<!ENTITY mpfr-md5 "238ae4a15cc3a5049b723daef5d17938"> |
<!ENTITY mpfr-home "http://www.mpfr.org/"> |
<!ENTITY mpfr-ch5-du "27.1 Mio"> |
<!ENTITY mpfr-ch5-sbu "1.0 SBU"> |
422,19 → 423,10 |
<!ENTITY patch-ch6-du "1.9 Mio"> |
<!ENTITY patch-ch6-sbu "moins de 0.1 SBU"> |
<!ENTITY pcre-version "8.12"> |
<!ENTITY pcre-size "969 Kio"> |
<!ENTITY pcre-url "&sourceforge;pcre/pcre-&pcre-version;.tar.bz2"> |
<!ENTITY pcre-url ""> |
<!ENTITY pcre-md5 "f14a9fef3c92f3fc6c5ac92d7a2c7eb3"> |
<!ENTITY pcre-home "http://www.pcre.org/"> |
<!ENTITY pcre-ch6-du "12 Mio"> |
<!ENTITY pcre-ch6-sbu "0.4 SBU"> |
<!ENTITY perl-version "5.14.1"> |
<!ENTITY perl-size "12,956 Kio"> |
<!ENTITY perl-version "5.14.2"> |
<!ENTITY perl-size "12,917 Kio"> |
<!ENTITY perl-url "http://www.cpan.org/src/5.0/perl-&perl-version;.tar.bz2"> |
<!ENTITY perl-md5 "97cd306a2c22929cc141a09568f43bb0"> |
<!ENTITY perl-md5 "04a4c5d3c1f9f19d77daff8e8cd19a26"> |
<!ENTITY perl-home "http://www.perl.org/"> |
<!ENTITY perl-ch5-du "223 Mio"> |
<!ENTITY perl-ch5-sbu "1.8 SBU"> |
441,16 → 433,6 |
<!ENTITY perl-ch6-du "235 Mio"> |
<!ENTITY perl-ch6-sbu "7.6 SBU"> |
<!ENTITY pkg-config-version "0.26"> |
<!ENTITY pkg-config-size "387 Kio"> |
<!ENTITY pkg-config-url "http://pkgconfig.freedesktop.org/releases/pkg-config-&pkg-config-version;.tar.gz"> |
<!ENTITY pkg-config-md5 "47525c26a9ba7ba14bf85e01509a7234"> |
<!ENTITY pkg-config-home "http://pkg-config.freedesktop.org/"> |
<!ENTITY pkg-config-ch5-du " Mio"> |
<!ENTITY pkg-config-ch5-sbu " SBU"> |
<!ENTITY pkg-config-ch6-du "11.5 Mio"> |
<!ENTITY pkg-config-ch6-sbu "0.3 SBU"> |
<!ENTITY procps-version "3.2.8"> |
<!ENTITY procps-size "279 Kio"> |
<!ENTITY procps-url "http://procps.sourceforge.net/procps-&procps-version;.tar.gz"> |
540,7 → 522,7 |
<!ENTITY udev-version "173"> |
<!ENTITY udev-size "594 Kio"> |
<!ENTITY udev-url "&kernel;linux/utils/kernel/hotplug/udev-&udev-version;.tar.bz2"> |
<!ENTITY udev-url "&anduin-sources;udev/udev-&udev-version;.tar.bz2"> |
<!ENTITY udev-md5 "91a88a359b60bbd074b024883cc0dbde"> |
<!ENTITY udev-home "&kernel;linux/utils/kernel/hotplug/udev.html"> |
<!ENTITY udev-ch6-du "9.3 Mio"> |
559,7 → 541,7 |
<!ENTITY util-linux-version "2.20"> |
<!ENTITY util-linux-size "4,507 Kio"> |
<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v2.20/util-linux-&util-linux-version;.tar.bz2"> |
<!ENTITY util-linux-url "&anduin-sources;util-linux/util-linux-&util-linux-version;.tar.bz2"> |
<!ENTITY util-linux-md5 "4dcacdbdafa116635e52b977d9d0e879"> |
<!ENTITY util-linux-home "http://userweb.kernel.org/~kzak/util-linux/"> |
<!--<!ENTITY util-linux-ch5-du "19 MB">--> |
/branches/lfs-7.0-fr/bootscripts/lfs/sysconfig/network-devices/ifup |
---|
File deleted |
/branches/lfs-7.0-fr/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route |
---|
File deleted |
/branches/lfs-7.0-fr/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static |
---|
File deleted |
/branches/lfs-7.0-fr/bootscripts/lfs/sysconfig/network-devices/ifdown |
---|
File deleted |
/branches/lfs-7.0-fr/bootscripts/lfs/sysconfig/rc |
---|
7,7 → 7,7 |
# |
# Version : 00.00 |
# |
# Notes : |
# Notes : Not used by LFS, but present for BLFS compatibility |
# |
######################################################################## |
/branches/lfs-7.0-fr/bootscripts/lfs/sysconfig/createfiles |
---|
8,21 → 8,24 |
# Version : 00.00 |
# |
# Notes : The syntax of this file is as follows: |
# if type is equal to "file" or "dir" |
# <filename> <type> <permissions> <user> <group> |
# if type is equal to "dev" |
# <filename> <type> <permissions> <user> <group> <devtype> <major> <minor> |
# if type is equal to "file" or "dir" |
# <filename> <type> <permissions> <user> <group> |
# if type is equal to "dev" |
# <filename> <type> <permissions> <user> <group> <devtype> |
# <major> <minor> |
# |
# <filename> is the name of the file which is to be created |
# <type> is either file, dir, or dev. |
# file creates a new file |
# dir creates a new directory |
# dev creates a new device |
# <devtype> is either block, char or pipe |
# block creates a block device |
# char creates a character deivce |
# pipe creates a pipe, this will ignore the <major> and <minor> fields |
# <major> and <minor> are the major and minor numbers used for the device. |
# <filename> is the name of the file which is to be created |
# <type> is either file, dir, or dev. |
# file creates a new file |
# dir creates a new directory |
# dev creates a new device |
# <devtype> is either block, char or pipe |
# block creates a block device |
# char creates a character deivce |
# pipe creates a pipe, this will ignore the <major> and |
# <minor> fields |
# <major> and <minor> are the major and minor numbers used for |
# the device. |
######################################################################## |
# End /etc/sysconfig/createfiles |
/branches/lfs-7.0-fr/bootscripts/lfs/sysconfig/rc.site |
---|
0,0 → 1,61 |
# rc.site |
# Optional parameters for boot scripts. |
# Distro Information |
DISTRO="Linux From Scratch" # The distro name |
DISTRO_CONTACT="lfs-dev@linuxfromscratch.org" # Bug report address |
DISTRO_MINI="LFS" # Short name used in filenames for distro config |
# Define custom colors used in messages printed to the screen |
# These values, if specified here, override the defaults |
#BRACKET="\\033[1;34m" # Blue |
#FAILURE="\\033[1;31m" # Red |
#INFO="\\033[1;36m" # Cyan |
#NORMAL="\\033[0;39m" # Grey |
#SUCCESS="\\033[1;32m" # Green |
#WARNING="\\033[1;33m" # Yellow |
# Interactive startup |
#IPROMPT="yes" # Whether to display the interactive boot promp |
itime="10" # The ammount of time (in seconds) to display the prompt |
# The total length of the distro welcome string, without escape codes |
wlen=$(echo "Welcome to ${DISTRO}" | wc -c ) |
welcome_message="Welcome to ${INFO}${DISTRO}${NORMAL}" |
# The total length of the interactive string, without escape codes |
ilen=$(echo "Press 'I' to enter interactive startup" | wc -c ) |
i_message="Press '${FAILURE}I${NORMAL}' to enter interactive startup" |
# Set scripts to skip the file system check on reboot |
#FASTBOOT=yes |
# Skip reading from the console |
#HEADLESS=yes |
# Skip cleaning /tmp |
#SKIPTMPCLEAN=yes |
# For setclock |
#UTC=1 |
#CLOCKPARAMS= |
# For consolelog |
#LOGLEVEL=5 |
# For network |
#HOSTNAME=mylfs |
# Delay between TERM and KILL signals at shutdown |
#KILLDELAY=3 |
# Optional sysklogd parameters |
#SYSKLOGD_PARMS="-m 0" |
# Console parameters |
#UNICODE=1 |
#KEYMAP="de-latin1" |
#KEYMAP_CORRECTIONS="euro2" |
#FONT="lat0-16 -m 8859-15" |
#LEGACY_CHARSET= |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/sysctl |
---|
7,6 → 7,7 |
# |
# Authors : Nathan Coulson (nathan@linuxfromscratch.org) |
# Matthew Burgress (matthew@linuxfromscratch.org) |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
27,12 → 28,12 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
if [ -f "/etc/sysctl.conf" ]; then |
boot_mesg "Setting kernel runtime parameters..." |
log_info_msg "Setting kernel runtime parameters..." |
sysctl -q -p |
evaluate_retval |
fi |
48,4 → 49,6 |
;; |
esac |
exit 0 |
# End sysctl |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/udev_retry |
---|
5,7 → 5,9 |
# Description : Udev cold-plugging script (retry) |
# |
# Authors : Alexander E. Patrakov |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# Bryan Kadzban - |
# |
# Version : LFS 7.0 |
# |
26,17 → 28,17 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
boot_mesg "Retrying failed uevents, if any..." |
log_info_msg "Retrying failed uevents, if any..." |
RUNDIR=$(/sbin/udevadm info --run) |
rundir=$(/sbin/udevadm info --run) |
# From Debian: "copy the rules generated before / was mounted |
# read-write": |
for file in ${RUNDIR}/tmp-rules--*; do |
for file in ${rundir}/tmp-rules--*; do |
dest=${file##*tmp-rules--} |
[ "$dest" = '*' ] && break |
cat $file >> /etc/udev/rules.d/$dest |
43,8 → 45,14 |
rm -f $file |
done |
# Re-trigger the failed uevents in hope they will succeed now |
/sbin/udevadm trigger --type=failed --action=add |
# Re-trigger the uevents that may have failed, |
# in hope they will succeed now |
/bin/sed -e 's/#.*$//' /etc/sysconfig/udev_retry | /bin/grep -v '^$' | \ |
while read line ; do |
for subsystem in $line ; do |
/sbin/udevadm trigger --subsystem-match=$subsystem --action=add |
done |
done |
# Now wait for udevd to process the uevents we triggered |
/sbin/udevadm settle |
57,4 → 65,6 |
;; |
esac |
exit 0 |
# End udev_retry |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/halt |
---|
5,6 → 5,7 |
# Description : Halt Script |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/network |
---|
7,6 → 7,7 |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# Nathan Coulson - nathan@linuxfromscratch.org |
# Kevin P. Fleming - kpfleming@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
33,7 → 34,7 |
do |
interface=${file##*/ifconfig.} |
# skip if $file is * (because nothing was found) |
# Skip if $file is * (because nothing was found) |
if [ "${interface}" = "*" ] |
then |
continue |
45,18 → 46,18 |
stop) |
# Reverse list |
FILES="" |
net_files="" |
for file in /etc/sysconfig/ifconfig.* |
do |
FILES="${file} ${FILES}" |
net_files="${file} ${net_files}" |
done |
# Stop all network interfaces |
for file in ${FILES} |
for file in ${net_files} |
do |
interface=${file##*/ifconfig.} |
# skip if $file is * (because nothing was found) |
# Skip if $file is * (because nothing was found) |
if [ "${interface}" = "*" ] |
then |
continue |
78,4 → 79,6 |
;; |
esac |
exit 0 |
# End network |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/reboot |
---|
5,6 → 5,7 |
# Description : Reboot Scripts |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
24,11 → 25,11 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
stop) |
boot_mesg "Restarting system..." |
log_info_msg "Restarting system..." |
reboot -d -f -i |
;; |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/mountfs |
---|
5,6 → 5,7 |
# Description : File System Mount Script |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
27,11 → 28,11 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
boot_mesg "Remounting root file system in read-write mode..." |
log_info_msg "Remounting root file system in read-write mode..." |
mount -n -o remount,rw / >/dev/null |
evaluate_retval |
38,7 → 39,7 |
# Remove fsck-related file system watermarks. |
rm -f /fastboot /forcefsck |
boot_mesg "Recording existing mounts in /etc/mtab..." |
log_info_msg "Recording existing mounts in /etc/mtab..." |
> /etc/mtab |
mount -f / || failed=1 |
50,15 → 51,19 |
# This will mount all filesystems that do not have _netdev in |
# their option list. _netdev denotes a network filesystem. |
boot_mesg "Mounting remaining file systems..." |
log_info_msg "Mounting remaining file systems..." |
mount -a -O no_netdev >/dev/null |
evaluate_retval |
exit $failed |
;; |
stop) |
boot_mesg "Unmounting all other currently mounted file systems..." |
# Don't unmount tmpfs like /run |
log_info_msg "Unmounting all other currently mounted file systems..." |
umount -a -d -r -t notmpfs >/dev/null |
evaluate_retval |
exit 0 |
;; |
*) |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/sysklogd |
---|
5,6 → 5,7 |
# Description : Sysklogd loader |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
25,29 → 26,35 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
boot_mesg "Starting system log daemon..." |
PARMS=${SYSKLOGD_PARMS-'-m 0'} |
loadproc syslogd $PARMS |
log_info_msg "Starting system log daemon..." |
parms=${SYSKLOGD_PARMS-'-m 0'} |
start_daemon /sbin/syslogd $parms |
evaluate_retval |
boot_mesg "Starting kernel log daemon..." |
loadproc klogd |
log_info_msg "Starting kernel log daemon..." |
start_daemon /sbin/klogd |
evaluate_retval |
;; |
stop) |
boot_mesg "Stopping kernel log daemon..." |
killproc klogd |
log_info_msg "Stopping kernel log daemon..." |
killproc /sbin/klogd |
evaluate_retval |
boot_mesg "Stopping system log daemon..." |
killproc syslogd |
log_info_msg "Stopping system log daemon..." |
killproc /sbin/syslogd |
evaluate_retval |
;; |
reload) |
boot_mesg "Reloading system log daemon config file..." |
reloadproc syslogd |
log_info_msg "Reloading system log daemon config file..." |
pid=`pidofproc syslogd` |
kill -HUP "${pid}" |
evaluate_retval |
;; |
restart) |
56,15 → 63,12 |
${0} start |
;; |
status) |
statusproc syslogd |
statusproc klogd |
;; |
*) |
echo "Usage: ${0} {start|stop|reload|restart|status}" |
echo "Usage: ${0} {start|stop|reload|restart}" |
exit 1 |
;; |
esac |
exit 0 |
# End sysklogd |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/mountvirtfs |
---|
5,6 → 5,7 |
# Description : Mount proc, sysfs, and run |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
26,32 → 27,30 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
# Make sure /run/var is available before logging any messages |
mkdir -p /run |
mount -n /run || failed=1 |
mkdir -p /run/{var,lock,shm} |
log_info_msg "Mounting virtual file systems: /run" |
boot_mesg -n "Mounting virtual file systems:" ${INFO} |
boot_mesg -n " /run" ${NORMAL} |
if ! mountpoint /proc >/dev/null; then |
boot_mesg -n " /proc" ${NORMAL} |
log_info_msg2 " /proc" |
mount -n /proc || failed=1 |
fi |
if ! mountpoint /sys >/dev/null; then |
boot_mesg -n " /sys" ${NORMAL} |
log_info_msg2 " /sys" |
mount -n /sys || failed=1 |
fi |
boot_mesg "" ${NORMAL} |
(exit ${failed}) |
evaluate_retval |
exit $failed |
;; |
*) |
60,4 → 59,4 |
;; |
esac |
# End mountvertfs |
# End mountvirtfs |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/localnet |
---|
5,6 → 5,7 |
# Description : Loopback device |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
25,23 → 26,23 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /etc/sysconfig/network |
. /lib/lsb/init-functions |
[ -r /etc/sysconfig/network ] && . /etc/sysconfig/network |
case "${1}" in |
start) |
boot_mesg "Bringing up the loopback interface..." |
log_info_msg "Bringing up the loopback interface..." |
ip addr add 127.0.0.1/8 label lo dev lo |
ip link set lo up |
evaluate_retval |
boot_mesg "Setting hostname to ${HOSTNAME}..." |
log_info_msg "Setting hostname to ${HOSTNAME}..." |
hostname ${HOSTNAME} |
evaluate_retval |
;; |
stop) |
boot_mesg "Bringing down the loopback interface..." |
log_info_msg "Bringing down the loopback interface..." |
ip link set lo down |
evaluate_retval |
;; |
63,4 → 64,6 |
;; |
esac |
exit 0 |
# End localnet |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/console |
---|
6,6 → 6,7 |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# Alexander E. Patrakov |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
12,8 → 13,6 |
# |
######################################################################## |
. /lib/boot/functions |
### BEGIN INIT INFO |
# Provides: console |
# Required-Start: |
28,37 → 27,43 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/lsb/init-functions |
# Native English speakers probably don't have /etc/sysconfig/console at all |
if [ -r /etc/sysconfig/console ]; then |
. /etc/sysconfig/console |
else |
exit 0 |
fi |
[ -r /etc/sysconfig/console ] && . /etc/sysconfig/console |
is_true() { |
function is_true() |
{ |
[ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ] |
} |
# See if we need to do anything |
if [ -z "${KEYMAP}" ] && [ -z "${KEYMAP_CORRECTIONS}" ] && |
[ -z "${FONT}" ] && [ -z "${LEGACY_CHARSET}" ] && |
! is_true "${UNICODE}"; then |
exit 0 |
fi |
failed=0 |
case "${1}" in |
start) |
boot_mesg "Setting up Linux console..." |
# There should be no bogus failures below this line! |
log_info_msg "Setting up Linux console..." |
# Figure out if a framebuffer console is used |
[ -d /sys/class/graphics/fb0 ] && USE_FB=1 || USE_FB=0 |
[ -d /sys/class/graphics/fb0 ] && use_fb=1 || use_fb=0 |
# Figure out the command to set the console into the |
# desired mode |
is_true "${UNICODE}" && |
MODE_COMMAND="${ECHO} -en '\033%G' && kbd_mode -u" || |
MODE_COMMAND="${ECHO} -en '\033%@\033(K' && kbd_mode -a" |
MODE_COMMAND="echo -en '\033%G' && kbd_mode -u" || |
MODE_COMMAND="echo -en '\033%@\033(K' && kbd_mode -a" |
# On framebuffer consoles, font has to be set for each vt in |
# UTF-8 mode. This doesn't hurt in non-UTF-8 mode also. |
! is_true "${USE_FB}" || [ -z "${FONT}" ] || |
! is_true "${use_fb}" || [ -z "${FONT}" ] || |
MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}" |
# Apply that command to all consoles mentioned in |
66,8 → 71,6 |
# happen before setfont, otherwise a kernel bug will |
# show up and the unicode map of the font will not be |
# used. |
# FIXME: Fedora Core also initializes two spare consoles |
# - do we want that? |
for TTY in `grep '^[^#].*respawn:/sbin/agetty' /etc/inittab | |
grep -o '\btty[[:digit:]]*\b'` |
77,12 → 80,12 |
done |
# Set the font (if not already set above) and the keymap |
is_true "${USE_FB}" || [ -z "${FONT}" ] || |
setfont $FONT || |
failed=1 |
[ "${use_fb}" == "1" ] || [ -z "${FONT}" ] || setfont $FONT || failed=1 |
[ -z "${KEYMAP}" ] || |
loadkeys ${KEYMAP} >/dev/null 2>&1 || |
failed=1 |
[ -z "${KEYMAP_CORRECTIONS}" ] || |
loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 || |
failed=1 |
89,19 → 92,21 |
# Convert the keymap from $LEGACY_CHARSET to UTF-8 |
[ -z "$LEGACY_CHARSET" ] || |
dumpkeys -c "$LEGACY_CHARSET" | |
loadkeys -u >/dev/null 2>&1 || |
dumpkeys -c "$LEGACY_CHARSET" | loadkeys -u >/dev/null 2>&1 || |
failed=1 |
# If any of the commands above failed, the trap at the |
# top would set $failed to 1 |
( exit $failed ) |
( exit $failed ) |
evaluate_retval |
;; |
*) |
echo $"Usage:" "${0} {start}" |
exit 1 |
;; |
exit $failed |
;; |
*) |
echo $"Usage:" "${0} {start}" |
exit 1 |
;; |
esac |
# End console |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/udev |
---|
5,6 → 5,7 |
# Description : Udev cold-plugging script |
# |
# Authors : Zack Winkles, Alexander E. Patrakov |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
25,19 → 26,19 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
boot_mesg "Populating /dev with device nodes..." |
log_info_msg "Populating /dev with device nodes... " |
if ! grep -q '[[:space:]]sysfs' /proc/mounts; then |
echo_failure |
boot_mesg -n "FAILURE:\n\nUnable to create" ${FAILURE} |
boot_mesg -n " devices without a SysFS filesystem" |
boot_mesg -n "\n\nAfter you press Enter, this system" |
boot_mesg -n " will be halted and powered off." |
boot_mesg -n "\n\nPress Enter to continue..." ${INFO} |
boot_mesg "" ${NORMAL} |
log_failure_msg2 |
msg="FAILURE:\n\nUnable to create " |
msg="${msg}devices without a SysFS filesystem\n\n" |
msg="${msg}After you press Enter, this system " |
msg="${msg}will be halted and powered off.\n\n" |
log_info_msg "$msg" |
log_info_msg "Press Enter to continue..." |
wait_for_user |
/etc/rc.d/init.d/halt stop |
fi |
49,14 → 50,15 |
if ! mountpoint /dev > /dev/null; then |
mount -n -t tmpfs tmpfs /dev -o mode=755 |
fi |
if [ ${?} != 0 ]; then |
echo_failure |
boot_mesg -n "FAILURE:\n\nCannot mount a tmpfs" ${FAILURE} |
boot_mesg -n " onto /dev, this system will be halted." |
boot_mesg -n "\n\nAfter you press Enter, this system" |
boot_mesg -n " will be halted and powered off." |
boot_mesg -n "\n\nPress Enter to continue..." ${INFO} |
boot_mesg "" ${NORMAL} |
log_failure_msg2 |
msg="FAILURE:\n\nCannot mount a tmpfs " |
msg="${msg}onto /dev, this system will be halted.\n\n" |
msg="${msg}After you press Enter, this system " |
msg="${msg}will be halted and powered off.\n\n" |
log_failure_msg "$msg" |
log_info_msg "Press Enter to continue..." |
wait_for_user |
/etc/rc.d/init.d/halt stop |
fi |
82,7 → 84,7 |
# Now wait for udevd to process the uevents we triggered |
/sbin/udevadm settle |
evaluate_retval |
log_success_msg2 |
;; |
*) |
91,4 → 93,6 |
;; |
esac |
exit 0 |
# End udev |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/consolelog |
---|
5,7 → 5,8 |
# Description : Set the kernel log level for the console |
# |
# Authors : Dan Nicholson - dnicholson@linuxfromscratch.org |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
27,25 → 28,28 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
# set the default loglevel |
LOGLEVEL=7 |
# set the default loglevel if needed |
LOGLEVEL=${LOGLEVEL:-7} |
[ -r /etc/sysconfig/console ] && . /etc/sysconfig/console |
[ -r /etc/sysconfig/console ] && . /etc/sysconfig/console |
case "${1}" in |
start) |
case "$LOGLEVEL" in |
[1-8]) |
boot_mesg "Setting the console log level to ${LOGLEVEL}..." |
log_info_msg "Setting the console log level to ${LOGLEVEL}..." |
dmesg -n $LOGLEVEL |
evaluate_retval |
exit 0 |
;; |
*) |
boot_mesg "Console log level '${LOGLEVEL}' is invalid" ${FAILURE} |
echo_failure |
log_failure_msg "Console log level '${LOGLEVEL}' is invalid" |
exit 1 |
;; |
esac |
;; |
54,13 → 58,14 |
if [ -r /proc/sys/kernel/printk ]; then |
read level line < /proc/sys/kernel/printk |
else |
boot_mesg "Can't read the current console log level" ${FAILURE} |
echo_failure |
log_failure_msg "Can't read the current console log level" |
exit 1 |
fi |
# Print the value |
if [ -n "$level" ]; then |
${ECHO} -e "${INFO}The current console log level is ${level}${NORMAL}" |
log_info_msg "The current console log level is ${level}\n" |
exit 0 |
fi |
;; |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/rc |
---|
1,4 → 1,4 |
#!/bin/sh |
#!/bin/bash |
######################################################################## |
# Begin rc |
# |
5,6 → 5,7 |
# Description : Main Run Level Control Script |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# : DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
11,46 → 12,82 |
# |
######################################################################## |
. /lib/boot/functions |
. /lib/lsb/init-functions |
print_error_msg() |
function print_error_msg() |
{ |
echo_failure |
log_failure_msg |
# $i is set when called |
boot_mesg -n "FAILURE:\n\nYou should not be reading this error message.\n\n" ${FAILURE} |
boot_mesg -n " It means that an unforeseen error took" |
boot_mesg -n " place in ${i}, which exited with a return value of" |
boot_mesg " ${error_value}.\n" |
boot_mesg_flush |
boot_mesg -n "If you're able to track this" |
boot_mesg -n " error down to a bug in one of the files provided by" |
boot_mesg -n " the LFS book, please be so kind to inform us at" |
boot_mesg " lfs-dev@linuxfromscratch.org.\n" |
boot_mesg_flush |
boot_mesg -n "Press Enter to continue..." ${INFO} |
boot_mesg "" ${NORMAL} |
MSG="FAILURE:\n\nYou should not be reading this error message.\n\n" |
MSG="${MSG}It means that an unforeseen error took place in\n" |
MSG="${MSG}${i},\n" |
MSG="${MSG}which exited with a return value of ${error_value}.\n" |
MSG="${MSG}If you're able to track this error down to a bug in one of\n" |
MSG="${MSG}the files provided by the files provided by\n" |
MSG="${MSG}the ${DISDRI_MINI} book, please be so kind to inform us at\n" |
MSG="${MSG}${DISTRO_CONTACT}.\n" |
log_failure_msg "${MSG}" |
log_info_msg "Press Enter to continue..." |
wait_for_user |
} |
check_script_status() |
function check_script_status() |
{ |
# $i is set when called |
if [ ! -f ${i} ]; then |
boot_mesg "${i} is not a valid symlink." ${WARNING} |
echo_warning |
log_warning_msg "${i} is not a valid symlink." |
continue |
fi |
if [ ! -x ${i} ]; then |
boot_mesg "${i} is not executable, skipping." ${WARNING} |
echo_warning |
log_warning_msg "${i} is not executable, skipping." |
continue |
fi |
} |
# This sets a few default terminal options. |
stty sane |
function run() |
{ |
if [ -z $interactive ]; then |
${1} ${2} |
return $? |
fi |
while true; do |
read -p "Run ${1} ${2} (Yes/no/continue)? " -n 1 runit |
echo |
case ${runit} in |
c | C) |
interactive="" |
${i} ${2} |
ret=${?} |
break; |
;; |
n | N) |
return 0 |
;; |
y | Y) |
${i} ${2} |
ret=${?} |
break |
;; |
esac |
done |
return $ret |
} |
# Read any local settings/overrides |
[ -r /etc/sysconfig/rc.site ] && source /etc/sysconfig/rc.site |
DISTRO=${DISTRO:-"Linux From Scratch"} |
DISTRO_CONTACT=${DISTRO_CONTACT:-"lfs-dev@linuxfromscratch.org (Registration required)"} |
DISTRO_MINI=${DISTRO_MINI:-"LFS"} |
# These 3 signals will not cause our script to exit |
trap "" INT QUIT TSTP |
65,10 → 102,29 |
[ "${previous}" = "" ] && previous=N |
if [ ! -d /etc/rc.d/rc${runlevel}.d ]; then |
boot_mesg "/etc/rc.d/rc${runlevel}.d does not exist." |
log_info_msg "/etc/rc.d/rc${runlevel}.d does not exist.\n" |
exit 1 |
fi |
if [ "$runlevel" == "6" ] || [ "$runlevel" == "0" ]; then IPROMPT="no"; fi |
if [ "${IPROMPT}" == "yes" ]; then |
# dcol and icol are spaces before the message to center the |
# message on screen. |
wcol=$(( ( ${COLUMNS} - ${wlen} ) / 2 )) |
icol=$(( ( ${COLUMNS} - ${ilen} ) / 2 )) |
echo -e "\\033[${wcol}G${welcome_message}" |
echo -e "\\033[${icol}G${i_message}${NORMAL}" |
echo "" |
read -t "${itime}" -n 1 interactive 2>&1 > /dev/null |
# Make lower case |
[ "${interactive}" == "I" ] && interactive="i" |
[ "${interactive}" != "i" ] && interactive="" |
fi |
# Attempt to stop all services started by the previous runlevel, |
# and killed in this runlevel |
if [ "${previous}" != "N" ]; then |
78,31 → 134,34 |
suffix=${i#/etc/rc.d/rc$runlevel.d/K[0-9][0-9]} |
prev_start=/etc/rc.d/rc$previous.d/S[0-9][0-9]$suffix |
sysinit_start=/etc/rc.d/rcsysinit.d/S[0-9][0-9]$suffix |
sysinit_start=/etc/rc.d/rcS.d/S[0-9][0-9]$suffix |
if [ "${runlevel}" != "0" ] && [ "${runlevel}" != "6" ]; then |
if [ "${runlevel}" != "0" ] && [ "${runlevel}" != "6" ]; then |
if [ ! -f ${prev_start} ] && [ ! -f ${sysinit_start} ]; then |
boot_mesg -n "WARNING:\n\n${i} can't be" ${WARNING} |
boot_mesg -n " executed because it was not" |
boot_mesg -n " not started in the previous" |
boot_mesg -n " runlevel (${previous})." |
boot_mesg "" ${NORMAL} |
boot_mesg_flush |
MSG="WARNING:\n\n${i} can't be " |
MSG="${MSG}executed because it was not " |
MSG="${MSG}not started in the previous " |
MSG="${MSG}runlevel (${previous})." |
log_warning_msg "$MSG" |
continue |
fi |
fi |
${i} stop |
run ${i} stop |
error_value=${?} |
if [ "${error_value}" != "0" ]; then |
print_error_msg |
fi |
if [ "${error_value}" != "0" ]; then print_error_msg; fi |
done |
fi |
[ "${previous}" = "N" ] && IN_BOOT=1 |
if [ "${previous}" == "N" ]; then export IN_BOOT=1; fi |
#Start all functions in this runlevel |
if [ "$runlevel" == "6" ] && [ -n "${FASTBOOT}" ]; then |
touch /fastboot |
fi |
# Start all functions in this runlevel |
for i in $( ls -v /etc/rc.d/rc${runlevel}.d/S* 2> /dev/null) |
do |
if [ "${previous}" != "N" ]; then |
117,17 → 176,22 |
case ${runlevel} in |
0|6) |
${i} stop |
run ${i} stop |
;; |
*) |
${i} start |
run ${i} start |
;; |
esac |
error_value=${?} |
if [ "${error_value}" != "0" ]; then |
print_error_msg |
fi |
if [ "${error_value}" != "0" ]; then print_error_msg; fi |
done |
# Copy the boot log on initial boot only |
if [ "${previous}" == "N" ]; then |
cat /run/var/bootlog >> /var/log/boot.log |
echo "--------" >> /var/log/boot.log # Mark the end of boot |
fi |
# End rc |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/checkfs |
---|
6,6 → 6,7 |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# A. Luebke - luebke@users.sourceforge.net |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
37,101 → 38,102 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
if [ -f /fastboot ]; then |
boot_mesg -n "/fastboot found, will not perform" ${INFO} |
boot_mesg " file system checks as requested." |
echo_ok |
msg="/fastboot found, will omit " |
msg="${msg} file system checks as requested.\n" |
log_info_msg "${msg}" |
exit 0 |
fi |
boot_mesg "Mounting root file system in read-only mode..." |
log_info_msg "Mounting root file system in read-only mode... " |
mount -n -o remount,ro / >/dev/null |
evaluate_retval |
if [ ${?} != 0 ]; then |
echo_failure |
boot_mesg -n "FAILURE:\n\nCannot check root" ${FAILURE} |
boot_mesg -n " filesystem because it could not be mounted" |
boot_mesg -n " in read-only mode.\n\nAfter you" |
boot_mesg -n " press Enter, this system will be" |
boot_mesg -n " halted and powered off." |
boot_mesg -n "\n\nPress enter to continue..." ${INFO} |
boot_mesg "" ${NORMAL} |
log_failure_msg2 |
msg="\n\nCannot check root " |
msg="${msg}filesystem because it could not be mounted " |
msg="${msg}in read-only mode.\n\n" |
msg="${msg}After you press Enter, this system will be " |
msg="${msg}halted and powered off.\n\n" |
log_failure_msg "${msg}" |
log_info_msg "Press Enter to continue..." |
wait_for_user |
/etc/rc.d/init.d/halt stop |
else |
log_success_msg2 |
fi |
if [ -f /forcefsck ]; then |
boot_mesg -n "/forcefsck found, forcing file" ${INFO} |
boot_mesg " system checks as requested." |
echo_ok |
msg="\n/forcefsck found, forcing file" |
msg="${msg} system checks as requested." |
log_success_msg "$msg" |
options="-f" |
else |
options="" |
fi |
boot_mesg "Checking file systems..." |
# Note: -a option used to be -p; but this fails e.g. |
# on fsck.minix |
log_info_msg "Checking file systems..." |
# Note: -a option used to be -p; but this fails e.g. on fsck.minix |
fsck ${options} -a -A -C -T |
error_value=${?} |
if [ "${error_value}" = 0 ]; then |
echo_ok |
log_success_msg2 |
fi |
if [ "${error_value}" = 1 ]; then |
echo_warning |
boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING} |
boot_mesg -n " were found and have been corrected. " |
boot_mesg -n " You may want to double-check that" |
boot_mesg -n " everything was fixed properly." |
boot_mesg "" ${NORMAL} |
msg="\nWARNING:\n\nFile system errors " |
msg="${msg}were found and have been corrected.\n" |
msg="${msg}You may want to double-check that " |
msg="${msg}everything was fixed properly." |
log_warning_msg "$msg" |
fi |
if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; then |
echo_warning |
boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING} |
boot_mesg -n " were found and have been been" |
boot_mesg -n " corrected, but the nature of the" |
boot_mesg -n " errors require this system to be" |
boot_mesg -n " rebooted.\n\nAfter you press enter," |
boot_mesg -n " this system will be rebooted" |
boot_mesg -n "\n\nPress Enter to continue..." ${INFO} |
boot_mesg "" ${NORMAL} |
msg="\nWARNING:\n\nFile system errors " |
msg="${msg}were found and have been been " |
msg="${msg}corrected, but the nature of the " |
msg="${msg}errors require this system to be rebooted.\n\n" |
msg="${msg}After you press enter, " |
msg="${msg}this system will be rebooted\n\n" |
log_failure_msg "$msg" |
log_info_msg "Press Enter to continue..." |
wait_for_user |
reboot -f |
fi |
if [ "${error_value}" -gt 3 -a "${error_value}" -lt 16 ]; then |
echo_failure |
boot_mesg -n "FAILURE:\n\nFile system errors" ${FAILURE} |
boot_mesg -n " were encountered that could not be" |
boot_mesg -n " fixed automatically. This system" |
boot_mesg -n " cannot continue to boot and will" |
boot_mesg -n " therefore be halted until those" |
boot_mesg -n " errors are fixed manually by a" |
boot_mesg -n " System Administrator.\n\nAfter you" |
boot_mesg -n " press Enter, this system will be" |
boot_mesg -n " halted and powered off." |
boot_mesg -n "\n\nPress Enter to continue..." ${INFO} |
boot_mesg "" ${NORMAL} |
msg="\nFAILURE:\n\nFile system errors " |
msg="${msg}were encountered that could not be " |
msg="${msg}fixed automatically. This system " |
msg="${msg}cannot continue to boot and will " |
msg="${msg}therefore be halted until those " |
msg="${msg}errors are fixed manually by a " |
msg="${msg}System Administrator.\n\n" |
msg="${msg}After you press Enter, this system will be " |
msg="${msg}halted and powered off.\n\n" |
log_failure_msg "$msg" |
log_info_msg "Press Enter to continue..." |
wait_for_user |
/etc/rc.d/init.d/halt stop |
/etc/rc.d/init.d/halt stop |
fi |
if [ "${error_value}" -ge 16 ]; then |
echo_failure |
boot_mesg -n "FAILURE:\n\nUnexpected Failure" ${FAILURE} |
boot_mesg -n " running fsck. Exited with error" |
boot_mesg -n " code: ${error_value}." |
boot_mesg "" ${NORMAL} |
msg="\nFAILURE:\n\nUnexpected Failure " |
msg="${msg}running fsck. Exited with error " |
msg="${msg} code: ${error_value}." |
log_failure_msg $msg |
exit ${error_value} |
fi |
exit 0 |
;; |
*) |
echo "Usage: ${0} {start}" |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/setclock |
---|
5,6 → 5,7 |
# Description : Setting Linux Clock |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
25,9 → 26,9 |
# X-LFS-Provided-By: LFS BLFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
[ -r /etc/sysconfig/clock ] && . /etc/sysconfig/clock |
[ -r /etc/sysconfig/clock ] && . /etc/sysconfig/clock |
case "${UTC}" in |
43,13 → 44,14 |
case ${1} in |
start) |
boot_mesg "Setting system clock..." |
log_info_msg2 "\n" # Run by udev, make sure start on new line |
log_info_msg "Setting system clock..." |
hwclock --hctosys ${CLOCKPARAMS} >/dev/null |
evaluate_retval |
;; |
stop) |
boot_mesg "Setting hardware clock..." |
log_info_msg "Setting hardware clock..." |
hwclock --systohc ${CLOCKPARAMS} >/dev/null |
evaluate_retval |
;; |
56,6 → 58,9 |
*) |
echo "Usage: ${0} {start|stop}" |
exit 1 |
;; |
esac |
exit 0 |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/modules |
---|
5,6 → 5,7 |
# Description : Module auto-loading script |
# |
# Authors : Zack Winkles |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
24,23 → 25,23 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
# Assure that the kernel has module support. |
[ -e /proc/ksyms -o -e /proc/modules ] || exit 0 |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
# Exit if there's no modules file or there are no |
# valid entries |
[ -r /etc/sysconfig/modules ] && |
egrep -qv '^($|#)' /etc/sysconfig/modules || |
exit 0 |
[ -r /etc/sysconfig/modules ] || exit 0 |
egrep -qv '^($|#)' /etc/sysconfig/modules || exit 0 |
boot_mesg -n "Loading modules:" ${INFO} |
log_info_msg "Loading modules:" |
# Only try to load modules if the user has actually given us |
# some modules to load. |
while read module args; do |
# Ignore comments and blank lines. |
48,29 → 49,25 |
""|"#"*) continue ;; |
esac |
# Attempt to load the module, making |
# sure to pass any arguments provided. |
# Attempt to load the module, passing any arguments provided. |
modprobe ${module} ${args} >/dev/null |
# Print the module name if successful, |
# otherwise take note. |
# Print the module name if successful, otherwise take note. |
if [ $? -eq 0 ]; then |
boot_mesg -n " ${module}" ${NORMAL} |
log_info_msg2 " ${module}" |
else |
failedmod="${failedmod} ${module}" |
fi |
done < /etc/sysconfig/modules |
boot_mesg "" ${NORMAL} |
# Print a message about successfully loaded |
# modules on the correct line. |
echo_ok |
# Print a message about successfully loaded modules on the correct line. |
log_success_msg2 |
# Print a failure message with a list of any |
# modules that may have failed to load. |
# Print a failure message with a list of any modules that |
# may have failed to load. |
if [ -n "${failedmod}" ]; then |
boot_mesg "Failed to load modules:${failedmod}" ${FAILURE} |
echo_failure |
log_failure_msg "Failed to load modules:${failedmod}" |
exit 1 |
fi |
;; |
80,4 → 77,6 |
;; |
esac |
exit 0 |
# End modules |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/functions |
---|
12,12 → 12,12 |
# Notes : With code based on Matthias Benkmann's simpleinit-msb |
# http://winterdrache.de/linux/newboot/index.html |
# |
# The file should be located in /lib/boot |
# This file is only present for backward BLFS compatibility |
# |
######################################################################## |
# Set any needed environment variables e.g. HEADLESS |
[ -r /etc/sysconfig/init_params ] && . /etc/sysconfig/init_params |
. /lib/lsb/init_params |
## Environmental setup |
# Setup default values for environment |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/swap |
---|
5,6 → 5,7 |
# Description : Swap Control Script |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
25,17 → 26,17 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
boot_mesg "Activating all swap files/partitions..." |
log_info_msg "Activating all swap files/partitions..." |
swapon -a |
evaluate_retval |
;; |
stop) |
boot_mesg "Deactivating all swap files/partitions..." |
log_info_msg "Deactivating all swap files/partitions..." |
swapoff -a |
evaluate_retval |
;; |
47,9 → 48,7 |
;; |
status) |
boot_mesg "Retrieving swap status." ${INFO} |
echo_ok |
echo |
log_success_msg "Retrieving swap status." |
swapon -s |
;; |
59,4 → 58,6 |
;; |
esac |
exit 0 |
# End swap |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/sendsignals |
---|
5,6 → 5,7 |
# Description : Sendsignals Script |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
24,11 → 25,11 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot//functions |
. /lib/lsb/init-functions |
case "${1}" in |
stop) |
boot_mesg "Sending all processes the TERM signal..." |
log_info_msg "Sending all processes the TERM signal..." |
killall5 -15 |
error_value=${?} |
35,12 → 36,12 |
sleep ${KILLDELAY} |
if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then |
echo_ok |
log_success_msg |
else |
echo_failure |
log_failure_msg |
fi |
boot_mesg "Sending all processes the KILL signal..." |
log_info_msg "Sending all processes the KILL signal..." |
killall5 -9 |
error_value=${?} |
47,9 → 48,9 |
sleep ${KILLDELAY} |
if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then |
echo_ok |
log_success_msg |
else |
echo_failure |
log_failure_msg |
fi |
;; |
60,4 → 61,6 |
esac |
exit 0 |
# End sendsignals |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/cleanfs |
---|
5,6 → 5,7 |
# Description : Clean file system |
# |
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
26,67 → 27,70 |
# X-LFS-Provided-By: LFS |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
# Function to create files/directory on boot. |
create_files() { |
# Read in the configuration file. |
function create_files() |
{ |
# Input to file descriptor 9 and output to stdin (redirection) |
exec 9>&0 < /etc/sysconfig/createfiles |
while read name type perm usr grp dtype maj min junk |
do |
# Ignore comments and blank lines. |
case "${name}" in |
""|\#*) continue ;; |
while read name type perm usr grp dtype maj min junk |
do |
# Ignore comments and blank lines. |
case "${name}" in |
""|\#*) continue ;; |
esac |
# Ignore existing files. |
if [ ! -e "${name}" ]; then |
# Create stuff based on its type. |
case "${type}" in |
dir) |
mkdir "${name}" |
;; |
file) |
:> "${name}" |
;; |
dev) |
case "${dtype}" in |
char) |
mknod "${name}" c ${maj} ${min} |
;; |
block) |
mknod "${name}" b ${maj} ${min} |
;; |
pipe) |
mknod "${name}" p |
;; |
*) |
log_warning_msg "\nUnknown device type: ${dtype}" |
;; |
esac |
;; |
*) |
log_warning_msg "\nUnknown type: ${type}" |
continue |
;; |
esac |
# Ignore existing files. |
if [ ! -e "${name}" ]; then |
# Create stuff based on its type. |
case "${type}" in |
dir) |
mkdir "${name}" |
;; |
file) |
:> "${name}" |
;; |
dev) |
case "${dtype}" in |
char) |
mknod "${name}" c ${maj} ${min} |
;; |
block) |
mknod "${name}" b ${maj} ${min} |
;; |
pipe) |
mknod "${name}" p |
;; |
*) |
boot_mesg -n "\nUnknown device type: ${dtype}" ${WARNING} |
boot_mesg "" ${NORMAL} |
;; |
esac |
;; |
*) |
boot_mesg -n "\nUnknown type: ${type}" ${WARNING} |
boot_mesg "" ${NORMAL} |
continue |
;; |
esac |
# Set up the permissions, too. |
chown ${usr}:${grp} "${name}" |
chmod ${perm} "${name}" |
fi |
done |
# Set up the permissions, too. |
chown ${usr}:${grp} "${name}" |
chmod ${perm} "${name}" |
fi |
done |
# Close file descriptor 9 (end redirection) |
exec 0>&9 9>&- |
return 0 |
} |
case "${1}" in |
start) |
boot_mesg -n "Cleaning file systems:" ${INFO} |
log_info_msg "Cleaning file systems:" |
if [ "${SKIPTMPCLEAN}" = "" ]; then |
boot_mesg -n " /tmp" ${NORMAL} |
log_info_msg2 "\n /tmp" |
cd /tmp && |
find . -xdev -mindepth 1 ! -name lost+found -delete || failed=1 |
fi |
102,10 → 106,12 |
evaluate_retval |
if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null; then |
boot_mesg "Creating files and directories..." |
create_files |
log_info_msg "Creating files and directories... " |
create_files # Always returns 0 |
evaluate_retval |
fi |
exit $failed |
;; |
*) |
echo "Usage: ${0} {start}" |
/branches/lfs-7.0-fr/bootscripts/lfs/init.d/template |
---|
25,24 → 25,19 |
# X-LFS-Provided-By: |
### END INIT INFO |
. /lib/boot/functions |
. /lib/lsb/init-functions |
case "${1}" in |
start) |
boot_mesg "Starting..." |
loadproc |
log_info_msg "Starting..." |
start_daemon fully_qualified_path |
;; |
stop) |
boot_mesg "Stopping..." |
killproc |
log_info_msg "Stopping..." |
killproc fully_qualified_path |
;; |
reload) |
boot_mesg "Reloading..." |
reloadproc |
;; |
restart) |
${0} stop |
sleep 1 |
49,14 → 44,12 |
${0} start |
;; |
status) |
statusproc |
;; |
*) |
echo "Usage: ${0} {start|stop|reload|restart|status}" |
echo "Usage: ${0} {start|stop|restart}" |
exit 1 |
;; |
esac |
exit 0 |
# End scriptname |
/branches/lfs-7.0-fr/bootscripts/lfs/lib/services/ipv4-static-route |
---|
0,0 → 1,92 |
#!/bin/sh |
######################################################################## |
# Begin /lib/services/ipv4-static-route |
# |
# Description : IPV4 Static Route Script |
# |
# Authors : Kevin P. Fleming - kpfleming@linuxfromscratch.org |
# DJ Lucas - dj@linuxfromscratch.org |
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
# |
# Version : LFS 7.0 |
# |
######################################################################## |
. /lib/lsb/init-functions |
. ${IFCONFIG} |
case "${TYPE}" in |
("" | "network") |
need_ip=1 |
need_gateway=1 |
;; |
("default") |
need_gateway=1 |
args="${args} default" |
desc="default" |
;; |
("host") |
need_ip=1 |
;; |
("unreachable") |
need_ip=1 |
args="${args} unreachable" |
desc="unreachable " |
;; |
(*) |
log_failure_msg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue." |
exit 1 |
;; |
esac |
if [ -n "${need_ip}" ]; then |
if [ -z "${IP}" ]; then |
log_failure_msg "IP variable missing from ${IFCONFIG}, cannot continue." |
exit 1 |
fi |
if [ -z "${PREFIX}" ]; then |
log_failure_msg "PREFIX variable missing from ${IFCONFIG}, cannot continue." |
exit 1 |
fi |
args="${args} ${IP}/${PREFIX}" |
desc="${desc}${IP}/${PREFIX}" |
fi |
if [ -n "${need_gateway}" ]; then |
if [ -z "${GATEWAY}" ]; then |
log_failure_msg "GATEWAY variable missing from ${IFCONFIG}, cannot continue." |
exit 1 |
fi |
args="${args} via ${GATEWAY}" |
fi |
if [ -n "${SOURCE}" ]; then |
args="${args} src ${SOURCE}" |
fi |
case "${2}" in |
up) |
log_info_msg "Adding '${desc}' route to the ${1} interface..." |
ip route add ${args} dev ${1} |
evaluate_retval |
;; |
down) |
log_info_msg "Removing '${desc}' route from the ${1} interface..." |
ip route del ${args} dev ${1} |
evaluate_retval |
;; |
*) |
echo "Usage: ${0} [interface] {up|down}" |
exit 1 |
;; |
esac |
# End /lib/services/ipv4-static-route |
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: bootscripts/lfs/lib/services/ipv4-static |
=================================================================== |
--- bootscripts/lfs/lib/services/ipv4-static (nonexistent) |
+++ bootscripts/lfs/lib/services/ipv4-static (revision 1426) |
@@ -0,0 +1,89 @@ |
+#!/bin/sh |
+######################################################################## |
+# Begin /lib/services/ipv4-static |
+# |
+# Description : IPV4 Static Boot Script |
+# |
+# Authors : Nathan Coulson - nathan@linuxfromscratch.org |
+# Kevin P. Fleming - kpfleming@linuxfromscratch.org |
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
+# |
+# Version : LFS 7.0 |
+# |
+######################################################################## |
+ |
+. /lib/lsb/init-functions |
+. ${IFCONFIG} |
+ |
+if [ -z "${IP}" ]; then |
+ log_failure_msg "\nIP variable missing from ${IFCONFIG}, cannot continue." |
+ exit 1 |
+fi |
+ |
+if [ -z "${PREFIX}" -a -z "${PEER}" ]; then |
+ log_warning_msg "\nPREFIX variable missing from ${IFCONFIG}, assuming 24." |
+ PREFIX=24 |
+ args="${args} ${IP}/${PREFIX}" |
+ |
+elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then |
+ log_failure_msg "\nPREFIX and PEER both specified in ${IFCONFIG}, cannot continue." |
+ exit 1 |
+ |
+elif [ -n "${PREFIX}" ]; then |
+ args="${args} ${IP}/${PREFIX}" |
+ |
+elif [ -n "${PEER}" ]; then |
+ args="${args} ${IP} peer ${PEER}" |
+fi |
+ |
+if [ -n "${BROADCAST}" ]; then |
+ args="${args} broadcast ${BROADCAST}" |
+fi |
+ |
+case "${2}" in |
+ up) |
+ if [ "$(ip addr show ${1} | grep ${IP})" == "" ]; then |
+ log_info_msg2 "\n" # Terminate the previous message |
+ log_info_msg "Adding IPv4 address ${IP} to the ${1} interface..." |
+ ip addr add ${args} dev ${1} |
+ evaluate_retval |
+ |
+ if [ -n "${GATEWAY}" ]; then |
+ if ip route | grep -q default; then |
+ log_warning_msg "\nGateway already setup; skipping." |
+ else |
+ log_info_msg "Setting up default gateway..." |
+ ip route add default via ${GATEWAY} dev ${1} |
+ evaluate_retval |
+ fi |
+ fi |
+ else |
+ msg="Cannot add IPv4 address ${IP} to ${1}. Already present." |
+ log_warning_msg "$msg" |
+ fi |
+ ;; |
+ |
+ down) |
+ if [ "$(ip addr show ${1} | grep ${IP})" != "" ]; then |
+ log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..." |
+ ip addr del ${args} dev ${1} |
+ evaluate_retval |
+ fi |
+ |
+ if [ -n "${GATEWAY}" ]; then |
+ # Only remove the gateway if ther are no remaining ipv4 addresses |
+ if [ "$(ip addr show ${1} | grep 'inet ')" != "" ]; then |
+ log_info_msg "Removing default gateway..." |
+ ip route del default |
+ evaluate_retval |
+ fi |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "Usage: ${0} [interface] {up|down}" |
+ exit 1 |
+ ;; |
+esac |
+ |
+# End /lib/services/ipv4-static |
/bootscripts/lfs/lib/services/ipv4-static |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: bootscripts/lfs/lib/services/init-functions |
=================================================================== |
--- bootscripts/lfs/lib/services/init-functions (nonexistent) |
+++ bootscripts/lfs/lib/services/init-functions (revision 1426) |
@@ -0,0 +1,675 @@ |
+#!/bin/sh |
+######################################################################## |
+# |
+# Begin /lib/lsb/init-funtions |
+# |
+# Description : Run Level Control Functions |
+# |
+# Authors : Gerard Beekmans - gerard@linuxfromscratch.org |
+# : DJ Lucas - dj@linuxfromscratch.org |
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
+# |
+# Version : LFS 7.0 |
+# |
+# Notes : With code based on Matthias Benkmann's simpleinit-msb |
+# http://winterdrache.de/linux/newboot/index.html |
+# |
+# The file should be located in /lib/lsb |
+# |
+######################################################################## |
+ |
+## Environmental setup |
+# Setup default values for environment |
+umask 022 |
+export PATH="/bin:/usr/bin:/sbin:/usr/sbin" |
+ |
+## Screen Dimensions |
+# Find current screen size |
+if [ -z "${COLUMNS}" ]; then |
+ COLUMNS=$(stty size) |
+ COLUMNS=${COLUMNS##* } |
+fi |
+ |
+# When using remote connections, such as a serial port, stty size returns 0 |
+if [ "${COLUMNS}" = "0" ]; then |
+ COLUMNS=80 |
+fi |
+ |
+## Measurements for positioning result messages |
+COL=$((${COLUMNS} - 8)) |
+WCOL=$((${COL} - 2)) |
+ |
+## Set Cursor Position Commands, used via echo |
+SET_COL="\\033[${COL}G" # at the $COL char |
+SET_WCOL="\\033[${WCOL}G" # at the $WCOL char |
+CURS_UP="\\033[1A\\033[0G" # Up one line, at the 0'th char |
+ |
+## Set color commands, used via echo |
+# Please consult `man console_codes for more information |
+# under the "ECMA-48 Set Graphics Rendition" section |
+# |
+# Warning: when switching from a 8bit to a 9bit font, |
+# the linux console will reinterpret the bold (1;) to |
+# the top 256 glyphs of the 9bit font. This does |
+# not affect framebuffer consoles |
+ |
+NORMAL="\\033[0;39m" # Standard console grey |
+SUCCESS="\\033[1;32m" # Success is green |
+WARNING="\\033[1;33m" # Warnings are yellow |
+FAILURE="\\033[1;31m" # Failures are red |
+INFO="\\033[1;36m" # Information is light cyan |
+BRACKET="\\033[1;34m" # Brackets are blue |
+ |
+BOOTLOG=/run/var/bootlog |
+KILLDELAY=3 |
+ |
+# Set any user specified environment variables e.g. HEADLESS |
+[ -r /etc/sysconfig/rc.site ] && . /etc/sysconfig/rc.site |
+ |
+################################################################################ |
+# start_daemon() # |
+# Usage: start_daemon [-f] [-n nicelevel] [-p pidfile] pathname [args...] # |
+# # |
+# Purpose: This runs the specified program as a daemon # |
+# # |
+# Inputs: -f: (force) run the program even if it is already running. # |
+# -n nicelevel: specify a nice level. See 'man nice(1)'. # |
+# -p pidfile: use the specified file to determine PIDs. # |
+# pathname: the complete path to the specified program # |
+# args: additional arguments passed to the program (pathname) # |
+# # |
+# Return values (as defined by LSB exit codes): # |
+# 0 - program is running or service is OK # |
+# 1 - generic or unspecified error # |
+# 2 - invalid or excessive argument(s) # |
+# 5 - program is not installed # |
+################################################################################ |
+start_daemon() |
+{ |
+ local force="" |
+ local nice="0" |
+ local pidfile="" |
+ local pidlist="" |
+ local retval="" |
+ |
+ # Process arguments |
+ while true |
+ do |
+ case "${1}" in |
+ |
+ -f) |
+ force="1" |
+ shift 1 |
+ ;; |
+ |
+ -n) |
+ nice="${2}" |
+ shift 2 |
+ ;; |
+ |
+ -p) |
+ pidfile="${2}" |
+ shift 2 |
+ ;; |
+ |
+ -*) |
+ return 2 |
+ ;; |
+ |
+ *) |
+ program="${1}" |
+ break |
+ ;; |
+ esac |
+ done |
+ |
+ # Check for a valid program |
+ if [ ! -e "${program}" ]; then return 5; fi |
+ |
+ # Execute |
+ if [ -z "${force}" ]; then |
+ if [ -z "${pidfile}" ]; then |
+ # Determine the pid by discovery |
+ pidlist=`pidofproc "${1}"` |
+ retval="${?}" |
+ else |
+ # The PID file contains the needed PIDs |
+ # Note that by LSB requirement, the path must be given to pidofproc, |
+ # however, it is not used by the current implementation or standard. |
+ pidlist=`pidofproc -p "${pidfile}" "${1}"` |
+ retval="${?}" |
+ fi |
+ |
+ # Return a value ONLY |
+ # It is the init script's (or distribution's functions) responsibilty |
+ # to log messages! |
+ case "${retval}" in |
+ |
+ 0) |
+ # Program is already running correctly, this is a |
+ # succesful start. |
+ return 0 |
+ ;; |
+ |
+ 1) |
+ # Program is not running, but an invalid pid file exists |
+ # remove the pid file and continue |
+ rm -f "${pidfile}" |
+ ;; |
+ |
+ 3) |
+ # Program is not running and no pidfile exists |
+ # do nothing here, let start_deamon continue. |
+ ;; |
+ |
+ *) |
+ # Others as returned by status values shall not be interpreted |
+ # and returned as an unspecified error. |
+ return 1 |
+ ;; |
+ esac |
+ fi |
+ |
+ # Do the start! |
+ |
+ nice -n "${nice}" "${@}" |
+} |
+ |
+################################################################################ |
+# killproc() # |
+# Usage: killproc [-p pidfile] pathname [signal] # |
+# # |
+# Purpose: Send control signals to running processes # |
+# # |
+# Inputs: -p pidfile, uses the specified pidfile # |
+# pathname, pathname to the specified program # |
+# signal, send this signal to pathname # |
+# # |
+# Return values (as defined by LSB exit codes): # |
+# 0 - program (pathname) has stopped/is already stopped or a # |
+# running program has been sent specified signal and stopped # |
+# successfully # |
+# 1 - generic or unspecified error # |
+# 2 - invalid or excessive argument(s) # |
+# 5 - program is not installed # |
+# 7 - program is not running and a signal was supplied # |
+################################################################################ |
+killproc() |
+{ |
+ local pidfile |
+ local program |
+ local prefix |
+ local progname |
+ local signal="-TERM" |
+ local fallback="-KILL" |
+ local nosig |
+ local pidlist |
+ local retval |
+ local pid |
+ local delay="30" |
+ local piddead |
+ local dtime |
+ |
+ # Process arguments |
+ while true; do |
+ case "${1}" in |
+ -p) |
+ pidfile="${2}" |
+ shift 2 |
+ ;; |
+ |
+ *) |
+ program="${1}" |
+ if [ -n "${2}" ]; then |
+ signal="${2}" |
+ fallback="" |
+ else |
+ nosig=1 |
+ fi |
+ |
+ # Error on additional arguments |
+ if [ -n "${3}" ]; then |
+ return 2 |
+ else |
+ break |
+ fi |
+ ;; |
+ esac |
+ done |
+ |
+ # Check for a valid program |
+ if [ ! -e "${program}" ]; then return 5; fi |
+ |
+ # Check for a valid signal |
+ check_signal "${signal}" |
+ if [ "${?}" -ne "0" ]; then return 2; fi |
+ |
+ # Get a list of pids |
+ if [ -z "${pidfile}" ]; then |
+ # determine the pid by discovery |
+ pidlist=`pidofproc "${1}"` |
+ retval="${?}" |
+ else |
+ # The PID file contains the needed PIDs |
+ # Note that by LSB requirement, the path must be given to pidofproc, |
+ # however, it is not used by the current implementation or standard. |
+ pidlist=`pidofproc -p "${pidfile}" "${1}"` |
+ retval="${?}" |
+ fi |
+ |
+ # Return a value ONLY |
+ # It is the init script's (or distribution's functions) responsibilty |
+ # to log messages! |
+ case "${retval}" in |
+ |
+ 0) |
+ # Program is running correctly |
+ # Do nothing here, let killproc continue. |
+ ;; |
+ |
+ 1) |
+ # Program is not running, but an invalid pid file exists |
+ # Remove the pid file. |
+ rm -f "${pidfile}" |
+ |
+ # This is only a success if no signal was passed. |
+ if [ -n "${nosig}" ]; then |
+ return 0 |
+ else |
+ return 7 |
+ fi |
+ ;; |
+ |
+ 3) |
+ # Program is not running and no pidfile exists |
+ # This is only a success if no signal was passed. |
+ if [ -n "${nosig}" ]; then |
+ return 0 |
+ else |
+ return 7 |
+ fi |
+ ;; |
+ |
+ *) |
+ # Others as returned by status values shall not be interpreted |
+ # and returned as an unspecified error. |
+ return 1 |
+ ;; |
+ esac |
+ |
+ # Perform different actions for exit signals and control signals |
+ check_sig_type "${signal}" |
+ |
+ if [ "${?}" -eq "0" ]; then # Signal is used to terminate the program |
+ |
+ # Account for empty pidlist (pid file still exists and no |
+ # signal was given) |
+ if [ "${pidlist}" != "" ]; then |
+ |
+ # Kill the list of pids |
+ for pid in ${pidlist}; do |
+ |
+ kill -0 "${pid}" 2> /dev/null |
+ |
+ if [ "${?}" -ne "0" ]; then |
+ # Process is dead, continue to next and assume all is well |
+ continue |
+ else |
+ kill "${signal}" "${pid}" 2> /dev/null |
+ |
+ # Wait up to ${delay}/10 seconds to for "${pid}" to |
+ # terminate in 10ths of a second |
+ |
+ while [ "${delay}" -ne "0" ]; do |
+ kill -0 "${pid}" 2> /dev/null || piddead="1" |
+ if [ "${piddead}" = "1" ]; then break; fi |
+ sleep 0.1 |
+ delay="$(( ${delay} - 1 ))" |
+ done |
+ |
+ # If a fallback is set, and program is still running, then |
+ # use the fallback |
+ if [ -n "${fallback}" -a "${piddead}" != "1" ]; then |
+ kill "${fallback}" "${pid}" 2> /dev/null |
+ sleep 1 |
+ # Check again, and fail if still running |
+ kill -0 "${pid}" 2> /dev/null && return 1 |
+ else |
+ # just check one last time and if still alive, fail |
+ sleep 1 |
+ kill -0 "${pid}" 2> /dev/null && return 1 |
+ fi |
+ fi |
+ done |
+ fi |
+ |
+ # Check for and remove stale PID files. |
+ if [ -z "${pidfile}" ]; then |
+ # Find the basename of $program |
+ prefix=`echo "${program}" | sed 's/[^/]*$//'` |
+ progname=`echo "${program}" | sed "s@${prefix}@@"` |
+ |
+ if [ -e "/var/run/${progname}.pid" ]; then |
+ rm -f "/var/run/${progname}.pid" 2> /dev/null |
+ fi |
+ else |
+ if [ -e "${pidfile}" ]; then rm -f "${pidfile}" 2> /dev/null; fi |
+ fi |
+ |
+ # For signals that do not expect a program to exit, simply |
+ # let kill do it's job, and evaluate kills return for value |
+ |
+ else # check_sig_type - signal is not used to terminate program |
+ for pid in ${pidlist}; do |
+ kill "${signal}" "${pid}" |
+ if [ "${?}" -ne "0" ]; then return 1; fi |
+ done |
+ fi |
+} |
+ |
+################################################################################ |
+# pidofproc() # |
+# Usage: pidofproc [-p pidfile] pathname # |
+# # |
+# Purpose: This function returns one or more pid(s) for a particular daemon # |
+# # |
+# Inputs: -p pidfile, use the specified pidfile instead of pidof # |
+# pathname, path to the specified program # |
+# # |
+# Return values (as defined by LSB status codes): # |
+# 0 - Success (PIDs to stdout) # |
+# 1 - Program is dead, PID file still exists (remaining PIDs output) # |
+# 3 - Program is not running (no output) # |
+################################################################################ |
+pidofproc() |
+{ |
+ local pidfile |
+ local program |
+ local prefix |
+ local progname |
+ local pidlist |
+ local lpids |
+ local exitstatus="0" |
+ |
+ # Process arguments |
+ while true; do |
+ case "${1}" in |
+ |
+ -p) |
+ pidfile="${2}" |
+ shift 2 |
+ ;; |
+ |
+ *) |
+ program="${1}" |
+ if [ -n "${2}" ]; then |
+ # Too many arguments |
+ # Since this is status, return unknown |
+ return 4 |
+ else |
+ break |
+ fi |
+ ;; |
+ esac |
+ done |
+ |
+ # If a PID file is not specified, try and find one. |
+ if [ -z "${pidfile}" ]; then |
+ # Get the program's basename |
+ prefix=`echo "${program}" | sed 's/[^/]*$//'` |
+ progname=`echo "${program}" | sed "s@${prefix}@@"` |
+ |
+ # If a PID file exists with that name, assume that is it. |
+ if [ -e "/var/run/${progname}.pid" ]; then |
+ pidfile="/var/run/${progname}.pid" |
+ fi |
+ fi |
+ |
+ # If a PID file is set and exists, use it. |
+ if [ -n "${pidfile}" -a -e "${pidfile}" ]; then |
+ |
+ # Use the value in the first line of the pidfile |
+ pidlist=`/bin/head -n1 "${pidfile}"` |
+ # This can optionally be written as 'sed 1q' to repalce 'head -n1' |
+ # should LFS move /bin/head to /usr/bin/head |
+ else |
+ # Use pidof |
+ pidlist=`pidof "${program}"` |
+ fi |
+ |
+ # Figure out if all listed PIDs are running. |
+ for pid in ${pidlist}; do |
+ kill -0 ${pid} 2> /dev/null |
+ |
+ if [ "${?}" -eq "0" ]; then |
+ lpids="${pids}${pid} " |
+ else |
+ exitstatus="1" |
+ fi |
+ done |
+ |
+ if [ -z "${lpids}" -a ! -f "${pidfile}" ]; then |
+ return 3 |
+ else |
+ echo "${lpids}" |
+ return "${exitstatus}" |
+ fi |
+} |
+ |
+################################################################################ |
+# timespec() # |
+# # |
+# Purpose: An internal utility function to format a timestamp # |
+# a boot log file. Sets the STAMP variable. # |
+# # |
+# Return value: Not used # |
+################################################################################ |
+timespec() |
+{ |
+ STAMP="$(echo `date +"%b %d %T %:z"` `hostname`) " |
+ return 0 |
+} |
+ |
+################################################################################ |
+# log_success_msg() # |
+# Usage: log_success_msg ["message"] # |
+# # |
+# Purpose: Print a successful status message to the screen and # |
+# a boot log file. # |
+# # |
+# Inputs: $@ - Message # |
+# # |
+# Return values: Not used # |
+################################################################################ |
+log_success_msg() |
+{ |
+ echo -n -e "${@}" |
+ echo -e "${SET_COL}${BRACKET}[${SUCCESS} OK ${BRACKET}]${NORMAL}" |
+ |
+ timespec |
+ echo -e "${STAMP} ${@} OK" >> ${BOOTLOG} |
+ return 0 |
+} |
+ |
+log_success_msg2() |
+{ |
+ echo -n -e "${@}" |
+ echo -e "${SET_COL}${BRACKET}[${SUCCESS} OK ${BRACKET}]${NORMAL}" |
+ |
+ echo " OK" >> ${BOOTLOG} |
+ return 0 |
+} |
+ |
+################################################################################ |
+# log_failure_msg() # |
+# Usage: log_failure_msg ["message"] # |
+# # |
+# Purpose: Print a failure status message to the screen and # |
+# a boot log file. # |
+# # |
+# Inputs: $@ - Message # |
+# # |
+# Return values: Not used # |
+################################################################################ |
+log_failure_msg() |
+{ |
+ echo -n -e "${@}" |
+ echo -e "${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]${NORMAL}" |
+ |
+ timespec |
+ echo -e "${STAMP} ${@} FAIL" >> ${BOOTLOG} |
+ return 0 |
+} |
+ |
+log_failure_msg2() |
+{ |
+ echo -n -e "${@}" |
+ echo -e "${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]${NORMAL}" |
+ |
+ echo "FAIL" >> ${BOOTLOG} |
+ return 0 |
+} |
+ |
+################################################################################ |
+# log_warning_msg() # |
+# Usage: log_warning_msg ["message"] # |
+# # |
+# Purpose: Print a warning status message to the screen and # |
+# a boot log file. # |
+# # |
+# Return values: Not used # |
+################################################################################ |
+log_warning_msg() |
+{ |
+ echo -n -e "${@}" |
+ echo -e "${SET_COL}${BRACKET}[${WARNING} WARN ${BRACKET}]${NORMAL}" |
+ |
+ timespec |
+ echo -e "${STAMP} ${@} WARN" >> ${BOOTLOG} |
+ return 0 |
+} |
+ |
+################################################################################ |
+# log_info_msg() # |
+# Usage: log_info_msg message # |
+# # |
+# Purpose: Print an information message to the screen and # |
+# a boot log file. Does not print a trailing newline character. # |
+# # |
+# Return values: Not used # |
+################################################################################ |
+log_info_msg() |
+{ |
+ echo -n -e "${@}" |
+ |
+ timespec |
+ echo -n -e "${STAMP} ${@}" >> ${BOOTLOG} |
+ return 0 |
+} |
+ |
+log_info_msg2() |
+{ |
+ echo -n -e "${@}" |
+ |
+ echo -n -e "${@}" >> ${BOOTLOG} |
+ return 0 |
+} |
+ |
+################################################################################ |
+# evaluate_retval() # |
+# Usage: Evaluate a return value and print success or failyure as appropriate # |
+# # |
+# Purpose: Convenience function to terminate an info message # |
+# # |
+# Return values: Not used # |
+################################################################################ |
+evaluate_retval() |
+{ |
+ local error_value="${?}" |
+ |
+ if [ ${error_value} = 0 ]; then |
+ log_success_msg2 |
+ else |
+ log_failure_msg2 |
+ fi |
+} |
+ |
+################################################################################ |
+# check_signal() # |
+# Usage: check_signal [ -{signal} | {signal} ] # |
+# # |
+# Purpose: Check for a valid signal. This is not defined by any LSB draft, # |
+# however, it is required to check the signals to determine if the # |
+# signals chosen are invalid arguments to the other functions. # |
+# # |
+# Inputs: Accepts a single string value in the form or -{signal} or {signal} # |
+# # |
+# Return values: # |
+# 0 - Success (signal is valid # |
+# 1 - Signal is not valid # |
+################################################################################ |
+check_signal() |
+{ |
+ local valsig |
+ |
+ # Add error handling for invalid signals |
+ valsig="-ALRM -HUP -INT -KILL -PIPE -POLL -PROF -TERM -USR1 -USR2" |
+ valsig="${valsig} -VTALRM -STKFLT -PWR -WINCH -CHLD -URG -TSTP -TTIN" |
+ valsig="${valsig} -TTOU -STOP -CONT -ABRT -FPE -ILL -QUIT -SEGV -TRAP" |
+ valsig="${valsig} -SYS -EMT -BUS -XCPU -XFSZ -0 -1 -2 -3 -4 -5 -6 -8 -9" |
+ valsig="${valsig} -11 -13 -14 -15" |
+ |
+ echo "${valsig}" | grep -- " ${1} " > /dev/null |
+ |
+ if [ "${?}" -eq "0" ]; then |
+ return 0 |
+ else |
+ return 1 |
+ fi |
+} |
+ |
+################################################################################ |
+# check_sig_type() # |
+# Usage: check_signal [ -{signal} | {signal} ] # |
+# # |
+# Purpose: Check if signal is a program termination signal or a control signal # |
+# This is not defined by any LSB draft, however, it is required to # |
+# check the signals to determine if they are intended to end a # |
+# program or simply to control it. # |
+# # |
+# Inputs: Accepts a single string value in the form or -{signal} or {signal} # |
+# # |
+# Return values: # |
+# 0 - Signal is used for program termination # |
+# 1 - Signal is used for program control # |
+################################################################################ |
+check_sig_type() |
+{ |
+ local valsig |
+ |
+ # The list of termination signals (limited to generally used items) |
+ valsig="-ALRM -INT -KILL -TERM -PWR -STOP -ABRT -QUIT -2 -3 -6 -9 -14 -15" |
+ |
+ echo "${valsig}" | grep -- " ${1} " > /dev/null |
+ |
+ if [ "${?}" -eq "0" ]; then |
+ return 0 |
+ else |
+ return 1 |
+ fi |
+} |
+ |
+################################################################################ |
+# wait_for_user() # |
+# # |
+# Purpose: Wait for the user to respond if not a headless system # |
+# # |
+################################################################################ |
+wait_for_user() |
+{ |
+ # Wait for the user by default |
+ [ "${HEADLESS=0}" = "0" ] && read ENTER |
+ return 0 |
+} |
+ |
+# End /lib/lsb/init-functions |
Index: bootscripts/lfs/sbin/ifup |
=================================================================== |
--- bootscripts/lfs/sbin/ifup (nonexistent) |
+++ bootscripts/lfs/sbin/ifup (revision 1426) |
@@ -0,0 +1,110 @@ |
+#!/bin/sh |
+######################################################################## |
+# Begin /sbin/ifup |
+# |
+# Description : Interface Up |
+# |
+# Authors : Nathan Coulson - nathan@linuxfromscratch.org |
+# Kevin P. Fleming - kpfleming@linuxfromscratch.org |
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
+# |
+# Version : LFS 7.0 |
+# |
+# Notes : The IFCONFIG variable is passed to the SERVICE script |
+# in the /lib/services directory, to indicate what file the |
+# service should source to get interface specifications. |
+# |
+######################################################################## |
+ |
+RELEASE="7.0" |
+ |
+USAGE="Usage: $0 [ -hV ] [--help] [--version] interface" |
+VERSTR="LFS ifup, version ${RELEASE}" |
+ |
+while [ $# -gt 0 ]; do |
+ case "$1" in |
+ --help | -h) help="y"; break ;; |
+ |
+ --version | -V) echo "${VERSTR}"; exit 0 ;; |
+ |
+ -*) echo "ifup: ${1}: invalid option" >&2 |
+ echo "${USAGE}" >& 2 |
+ exit 2 ;; |
+ |
+ *) break ;; |
+ esac |
+done |
+ |
+if [ -n "$help" ]; then |
+ echo "${VERSTR}" |
+ echo "${USAGE}" |
+ echo |
+ cat << HERE_EOF |
+ifup is used to bring up a network interface. The interface |
+parameter, e.g. eth0 or eth0:2, must match the trailing part of the |
+interface specifications file, e.g. /etc/sysconfig/ifconfig.eth0:2. |
+ |
+HERE_EOF |
+ exit 0 |
+fi |
+ |
+file=/etc/sysconfig/ifconfig.${1} |
+ |
+# Skip backup files |
+[ "${file}" = "${file%""~""}" ] || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+log_info_msg "Bringing up the ${1} interface... " |
+ |
+if [ ! -r "${file}" ]; then |
+ log_warning_msg "\n${file} is missing or cannot be accessed." |
+ exit 1 |
+fi |
+ |
+. $file |
+ |
+if [ "$IFACE" = "" ]; then |
+ log_failure_msg "\n${file} does not define an interface [IFACE]." |
+ exit 1 |
+fi |
+ |
+# Do not process this service if started by boot, and ONBOOT |
+# is not set to yes |
+if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "yes" ]; then |
+ log_info_msg2 "skipped\n" |
+ exit 0 |
+fi |
+ |
+if [ -n "${SERVICE}" -a -x "/lib/services/${SERVICE}" ]; then |
+ if [ -z "${CHECK_LINK}" -o \ |
+ "${CHECK_LINK}" = "y" -o \ |
+ "${CHECK_LINK}" = "yes" -o \ |
+ "${CHECK_LINK}" = "1" ]; then |
+ |
+ # Bring up the interface |
+ if ip link show ${IFACE} > /dev/null 2>&1; then |
+ link_status=`ip link show ${IFACE}` |
+ |
+ if [ -n "${link_status}" ]; then |
+ if ! echo "${link_status}" | grep -q UP; then |
+ ip link set ${IFACE} up |
+ fi |
+ fi |
+ |
+ else |
+ log_warning_msg "\nInterface ${IFACE} doesn't exist." |
+ fi |
+ fi |
+ |
+ IFCONFIG=${file} /lib/services/${SERVICE} ${IFACE} up |
+ |
+else |
+ MSG="\nUnable to process ${file}. Either " |
+ MSG="${MSG}the SERVICE variable was not set " |
+ MSG="${MSG}or the specified service cannot be executed." |
+ log_failure_msg "$MSG" |
+ exit 1 |
+fi |
+ |
+# End /sbin/ifup |
/bootscripts/lfs/sbin/ifup |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: bootscripts/lfs/sbin/ifdown |
=================================================================== |
--- bootscripts/lfs/sbin/ifdown (nonexistent) |
+++ bootscripts/lfs/sbin/ifdown (revision 1426) |
@@ -0,0 +1,98 @@ |
+#!/bin/bash |
+######################################################################## |
+# Begin /sbin/ifdown |
+# |
+# Description : Interface Down |
+# |
+# Authors : Nathan Coulson - nathan@linuxfromscratch.org |
+# Kevin P. Fleming - kpfleming@linuxfromscratch.org |
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org |
+# |
+# Version : LFS 7.0 |
+# |
+# Notes : the IFCONFIG variable is passed to the scripts found |
+# in the /lib/services directory, to indicate what file the |
+# service should source to get interface specifications. |
+# |
+######################################################################## |
+ |
+RELEASE="7.0" |
+ |
+USAGE="Usage: $0 [ -hV ] [--help] [--version] interface" |
+VERSTR="LFS ifdown, version ${RELEASE}" |
+ |
+while [ $# -gt 0 ]; do |
+ case "$1" in |
+ --help | -h) help="y"; break ;; |
+ |
+ --version | -V) echo "${VERSTR}"; exit 0 ;; |
+ |
+ -*) echo "ifup: ${1}: invalid option" >&2 |
+ echo "${USAGE}" >& 2 |
+ exit 2 ;; |
+ |
+ *) break ;; |
+ esac |
+done |
+ |
+if [ -n "$help" ]; then |
+ echo "${VERSTR}" |
+ echo "${USAGE}" |
+ echo |
+ cat << HERE_EOF |
+ifdown is used to bring down a network interface. The interface |
+parameter, e.g. eth0 or eth0:2, must match the trailing part of the |
+interface specifications file, e.g. /etc/sysconfig/ifconfig.eth0:2. |
+ |
+HERE_EOF |
+ exit 0 |
+fi |
+ |
+file=/etc/sysconfig/ifconfig.${1} |
+ |
+# Skip backup files |
+[ "${file}" = "${file%""~""}" ] || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+if [ ! -r "${file}" ]; then |
+ log_warning_msg "${file} is missing or cannot be accessed." |
+ exit 1 |
+fi |
+ |
+. ${file} |
+ |
+if [ "$IFACE" = "" ]; then |
+ log_failure_msg "${file} does not define an interface [IFACE]." |
+ exit 1 |
+fi |
+ |
+# This will run the service script, if SERVICE is set |
+if [ -n "${SERVICE}" -a -x "/lib/services/${SERVICE}" ]; then |
+ if ip link show ${IFACE} > /dev/null 2>&1; then |
+ IFCONFIG=${file} /lib/services/${SERVICE} ${IFACE} down |
+ else |
+ log_warning_msg "Interface ${1} doesn't exist." |
+ echo_warning |
+ fi |
+else |
+ MSG="Unable to process ${file}. Either " |
+ MSG="${MSG}the SERVICE variable was not set" |
+ MSG="${MSG}or the specified service cannot be executed." |
+ log_failure_msg "$MSG" |
+ exit 1 |
+fi |
+ |
+link_status=`ip link show ${IFACE} 2>/dev/null` |
+ |
+if [ -n "${link_status}" ]; then |
+ if [ "$(echo "${link_status}" | grep UP)" != "" ]; then |
+ if [ "$(ip addr show ${IFACE} | grep 'inet ')" != "" ]; then |
+ log_info_msg "Bringing down the ${IFACE} interface..." |
+ ip link set ${IFACE} down |
+ evaluate_retval |
+ fi |
+ fi |
+fi |
+ |
+# End /sbin/ifdown |
/bootscripts/lfs/sbin/ifdown |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: bootscripts/lfs/sbin/ifup.8 |
=================================================================== |
--- bootscripts/lfs/sbin/ifup.8 (nonexistent) |
+++ bootscripts/lfs/sbin/ifup.8 (revision 1426) |
@@ -0,0 +1,108 @@ |
+ifup(8) ifup(8) |
+ |
+NAME |
+ ifup - bring a network interface up |
+ ifdown - take a network interface down |
+ |
+SYNOPSIS |
+ ifup IFACE |
+ ifup -h|--help |
+ ifup -V|--version |
+ |
+ ifdown IFACE |
+ ifdown -h|--help |
+ ifdown -V|--version |
+ |
+DESCRIPTION |
+ The ifup and ifdown commands may be used to configure |
+ (or, respectively, deconfigure) a network interface based |
+ on interface definitions in the file |
+ /etc/sysconfig/ifconfig.IFACE. |
+ |
+OPTIONS |
+ A summary of options is included below. |
+ |
+ -h, --help |
+ Show summary of options. |
+ |
+ -V, --version |
+ Show version information. |
+ |
+EXAMPLE |
+ ifup eth0 |
+ Bring up the interface defined in the file |
+ /etc/sysconfig/ifconfig.eth0 |
+ |
+ ifdown eth0:2 |
+ Bring down the interface defined in the file |
+ /etc/sysconfig/ifconfig.eth0:2 |
+ |
+NOTES |
+ The program does not configure network interfaces direct- |
+ ly. It runs scripts defined by the SERVICE variable in |
+ the network configuration file. |
+ |
+ The configuration files must have the following environ- |
+ ment variables set: |
+ |
+ IFACE - The interface to configure, e.g. eth0. It must |
+ be available in /sys/class/net. |
+ |
+ SERVICE - The service script to run to bring up the inter- |
+ face. Standard services are ipv4-static and |
+ ipv4-static-route. Other services such as dhcp |
+ may be installed. |
+ |
+ ONBOOT - If set to 'yes', the specified interface is |
+ configured by the netowrk boot script. |
+ |
+ Other paramters that are service specific include: |
+ |
+ ipv4-static |
+ |
+ IP - The IP address of the interface, |
+ e.g. 192.168.1.2. |
+ |
+ PREFIX - The number of bits that specify the network |
+ number of the interface, e.g., 24. |
+ |
+ GATEWAY - The default IP address to use for routing |
+ if the destination IP address is not in a |
+ static route or on a local network, e.g., |
+ 192.168.1.1. For secondary IP addresses on |
+ an interface, this parameter should not be |
+ specified. |
+ |
+ BROADCAST - The brodcast address for this interface, |
+ e.g 192.168.1.255. |
+ |
+ ipv4-static-route |
+ |
+ TYPE - The type of route, typically 'default', |
+ 'network', 'or host'. |
+ |
+ IP - The IP address for a network or host, if thei |
+ TYPE is not 'default'. |
+ |
+ PREFIX - The prefix for the associated IP address. |
+ |
+ GATEWAY - The IP address for a network route. |
+ |
+ SOURCE - The source IP address to prefer when sending |
+ to the destinations covered by the specified |
+ route. (optional) |
+ |
+FILES |
+ /etc/sysconfig/ifconfig.* |
+ definitions of network interfaces |
+ |
+AUTHORS |
+ The ifup/ifdown suite was written by Nathan Coulson |
+ <nathan@linuxfromscratch.org> and Kevin P. Fleming |
+ <kpfleming@linuxfromscratch.org> |
+ and updated by Bruce Dubbs <bdubbs@linuxfromscratch>. |
+ |
+SEE ALSO |
+ ip(8). |
+ |
+IFUP/IFDOWN 18 Sep 2011 ifup(8) |
Index: bootscripts/ChangeLog |
=================================================================== |
--- bootscripts/ChangeLog (revision 1425) |
+++ bootscripts/ChangeLog (revision 1426) |
@@ -1,3 +1,25 @@ |
+2011-10-06 Bryan Kadzban <bryan@linuxfromscratch.org> |
+ |
+ * Add configuration for udev_retry, and remove --type=failed (which does |
+ not work with recent udev versions anyway, since no events can possibly |
+ trigger it). Start with just the "rtc" subsystem. BLFS should eventually |
+ add "sound" to this file, and perhaps others. |
+ |
+2011-09-18 |
+ * Review and update of changes made in previous change. |
+ ** Rename /etc/sysconfig/init_params to /etc/sysconfig/rc.site. |
+ ** Move network services to /lib/services. |
+ ** Move init-functions to /lib/lsb. |
+ *** /lib/lsb is a symlink to /lib/services. |
+ * Create convenience symlink /etc/init.d->/etc/rc.d/init.d. |
+ * Add help and man pages to upup/ifdown. |
+ * Append /run/var/bootlog to /var/log/boot.log at the end of |
+ the boot sequence. |
+ * Add capabiltiy to step through the boot scripts at boot time |
+ * Optionally allow environment variables in sysconfig directory's |
+ console, network, and clock files to be placed in rc.site. |
+ * Add an optional FASTBOOT parameter to set /fastboot when rebooting. |
+ |
2011-07-14 Bruce Dubbs <bdubbs@linuxfromscratch.org> |
* Major rewrite of all LFS scripts |
** Move ifup/ifdown to /sbin |
Index: bootscripts/Makefile |
=================================================================== |
--- bootscripts/Makefile (revision 1425) |
+++ bootscripts/Makefile (revision 1426) |
@@ -1,33 +1,39 @@ |
-ETCDIR=/etc |
-EXTDIR=${DESTDIR}${ETCDIR} |
-LIBDIR=${DESTDIR}/lib/boot |
+EXTDIR=${DESTDIR}/etc |
+LIBDIR=${DESTDIR}/lib/services |
+MAN8=${DESTDIR}/usr/share/man/man8 |
+SBIN=${DESTDIR}/sbin |
MODE=754 |
DIRMODE=755 |
CONFMODE=644 |
-all: install |
+all: links |
+install: all |
+ |
create-dirs: |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc0.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc1.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc2.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc3.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc4.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc5.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc6.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rcsysinit.d |
- install -d -m ${DIRMODE} ${EXTDIR}/rc.d/init.d |
- install -d -m ${DIRMODE} ${EXTDIR}/sysconfig |
- install -d -m ${DIRMODE} ${LIBDIR} |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc0.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc1.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc2.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc3.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc4.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc5.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc6.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rcS.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/init.d |
+ install -d -m ${DIRMODE} ${EXTDIR}/sysconfig |
+ install -d -m ${DIRMODE} ${LIBDIR} |
+ install -d -m ${DIRMODE} ${MAN8} |
+ install -d -m ${DIRMODE} ${SBIN} |
+ ln -svf services ${DESTDIR}/lib/lsb |
+ ln -sf rc.d/init.d ${EXTDIR}/init.d |
-install: create-dirs |
+files: create-dirs |
install -m ${MODE} lfs/init.d/checkfs ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/cleanfs ${EXTDIR}/rc.d/init.d/ |
- install -m ${CONFMODE} lfs/init.d/functions ${EXTDIR}/rc.d/init.d/ |
- install -m ${CONFMODE} lfs/init.d/functions ${LIBDIR} |
install -m ${MODE} lfs/init.d/halt ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/console ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/consolelog ${EXTDIR}/rc.d/init.d/ |
+ install -m ${CONFMODE} lfs/init.d/functions ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/localnet ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/modules ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/mountfs ${EXTDIR}/rc.d/init.d/ |
@@ -37,12 +43,52 @@ |
install -m ${MODE} lfs/init.d/reboot ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/sendsignals ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/setclock ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/sysklogd ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/swap ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/sysctl ${EXTDIR}/rc.d/init.d/ |
+ install -m ${MODE} lfs/init.d/sysklogd ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/template ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/udev ${EXTDIR}/rc.d/init.d/ |
install -m ${MODE} lfs/init.d/udev_retry ${EXTDIR}/rc.d/init.d/ |
+ install -m ${MODE} lfs/sbin/ifup ${SBIN} |
+ install -m ${MODE} lfs/sbin/ifdown ${SBIN} |
+ install -m ${MODE} lfs/sbin/ifup.8 ${MAN8} |
+ ln -sf ifup.8 ${MAN8}/ifdown.8 |
+ install -m ${MODE} lfs/lib/services/ipv4-static-route ${LIBDIR} |
+ install -m ${MODE} lfs/lib/services/ipv4-static ${LIBDIR} |
+ install -m ${CONFMODE} lfs/lib/services/init-functions ${LIBDIR} |
+ if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then \ |
+ install -m ${CONFMODE} lfs/sysconfig/createfiles ${EXTDIR}/sysconfig/ ;\ |
+ fi |
+ if [ ! -f ${EXTDIR}/sysconfig/modules ]; then \ |
+ install -m ${CONFMODE} lfs/sysconfig/modules ${EXTDIR}/sysconfig/ ;\ |
+ fi |
+ if [ ! -f ${EXTDIR}/sysconfig/udev_retry ]; then \ |
+ install -m ${CONFMODE} lfs/sysconfig/udev_retry ${EXTDIR}/sysconfig/ ;\ |
+ fi |
+ if [ ! -f ${EXTDIR}/sysconfig/rc ]; then \ |
+ install -m ${CONFMODE} lfs/sysconfig/rc ${EXTDIR}/sysconfig/ ;\ |
+ fi |
+ if [ ! -f ${EXTDIR}/sysconfig/rc.site ]; then \ |
+ install -m ${CONFMODE} lfs/sysconfig/rc.site ${EXTDIR}/sysconfig/ ;\ |
+ fi |
+ |
+links: rcS rc0 rc1 rc2 rc3 rc4 rc5 rc6 |
+ |
+rcS: files |
+ ln -sf ../init.d/mountvirtfs ${EXTDIR}/rc.d/rcS.d/S00mountvirtfs |
+ ln -sf ../init.d/consolelog ${EXTDIR}/rc.d/rcS.d/S02consolelog |
+ ln -sf ../init.d/modules ${EXTDIR}/rc.d/rcS.d/S05modules |
+ ln -sf ../init.d/localnet ${EXTDIR}/rc.d/rcS.d/S08localnet |
+ ln -sf ../init.d/udev ${EXTDIR}/rc.d/rcS.d/S10udev |
+ ln -sf ../init.d/swap ${EXTDIR}/rc.d/rcS.d/S20swap |
+ ln -sf ../init.d/checkfs ${EXTDIR}/rc.d/rcS.d/S30checkfs |
+ ln -sf ../init.d/mountfs ${EXTDIR}/rc.d/rcS.d/S40mountfs |
+ ln -sf ../init.d/cleanfs ${EXTDIR}/rc.d/rcS.d/S45cleanfs |
+ ln -sf ../init.d/udev_retry ${EXTDIR}/rc.d/rcS.d/S50udev_retry |
+ ln -sf ../init.d/console ${EXTDIR}/rc.d/rcS.d/S70console |
+ ln -sf ../init.d/sysctl ${EXTDIR}/rc.d/rcS.d/S90sysctl |
+ |
+rc0: files |
ln -sf ../init.d/network ${EXTDIR}/rc.d/rc0.d/K80network |
ln -sf ../init.d/sysklogd ${EXTDIR}/rc.d/rc0.d/K90sysklogd |
ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc0.d/S60sendsignals |
@@ -50,16 +96,28 @@ |
ln -sf ../init.d/swap ${EXTDIR}/rc.d/rc0.d/S80swap |
ln -sf ../init.d/localnet ${EXTDIR}/rc.d/rc0.d/S90localnet |
ln -sf ../init.d/halt ${EXTDIR}/rc.d/rc0.d/S99halt |
+ |
+rc1: files |
ln -sf ../init.d/network ${EXTDIR}/rc.d/rc1.d/K80network |
ln -sf ../init.d/sysklogd ${EXTDIR}/rc.d/rc1.d/K90sysklogd |
+ |
+rc2: files |
ln -sf ../init.d/network ${EXTDIR}/rc.d/rc2.d/K80network |
ln -sf ../init.d/sysklogd ${EXTDIR}/rc.d/rc2.d/K90sysklogd |
+ |
+rc3: files |
ln -sf ../init.d/sysklogd ${EXTDIR}/rc.d/rc3.d/S10sysklogd |
ln -sf ../init.d/network ${EXTDIR}/rc.d/rc3.d/S20network |
+ |
+rc4: files |
ln -sf ../init.d/sysklogd ${EXTDIR}/rc.d/rc4.d/S10sysklogd |
ln -sf ../init.d/network ${EXTDIR}/rc.d/rc4.d/S20network |
+ |
+rc5: files |
ln -sf ../init.d/sysklogd ${EXTDIR}/rc.d/rc5.d/S10sysklogd |
ln -sf ../init.d/network ${EXTDIR}/rc.d/rc5.d/S20network |
+ |
+rc6: files |
ln -sf ../init.d/network ${EXTDIR}/rc.d/rc6.d/K80network |
ln -sf ../init.d/sysklogd ${EXTDIR}/rc.d/rc6.d/K90sysklogd |
ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc6.d/S60sendsignals |
@@ -67,68 +125,11 @@ |
ln -sf ../init.d/swap ${EXTDIR}/rc.d/rc6.d/S80swap |
ln -sf ../init.d/localnet ${EXTDIR}/rc.d/rc6.d/S90localnet |
ln -sf ../init.d/reboot ${EXTDIR}/rc.d/rc6.d/S99reboot |
- ln -sf ../init.d/mountvirtfs ${EXTDIR}/rc.d/rcsysinit.d/S00mountvirtfs |
- ln -sf ../init.d/consolelog ${EXTDIR}/rc.d/rcsysinit.d/S02consolelog |
- ln -sf ../init.d/modules ${EXTDIR}/rc.d/rcsysinit.d/S05modules |
- ln -sf ../init.d/udev ${EXTDIR}/rc.d/rcsysinit.d/S10udev |
- ln -sf ../init.d/swap ${EXTDIR}/rc.d/rcsysinit.d/S20swap |
- ln -sf ../init.d/checkfs ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs |
- ln -sf ../init.d/mountfs ${EXTDIR}/rc.d/rcsysinit.d/S40mountfs |
- ln -sf ../init.d/cleanfs ${EXTDIR}/rc.d/rcsysinit.d/S45cleanfs |
- ln -sf ../init.d/udev_retry ${EXTDIR}/rc.d/rcsysinit.d/S50udev_retry |
- ln -sf ../init.d/console ${EXTDIR}/rc.d/rcsysinit.d/S70console |
- ln -sf ../init.d/localnet ${EXTDIR}/rc.d/rcsysinit.d/S80localnet |
- ln -sf ../init.d/sysctl ${EXTDIR}/rc.d/rcsysinit.d/S90sysctl |
- if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then \ |
- install -m ${CONFMODE} lfs/sysconfig/createfiles ${EXTDIR}/sysconfig/ ;\ |
- fi |
- if [ ! -f ${EXTDIR}/sysconfig/modules ]; then \ |
- install -m ${CONFMODE} lfs/sysconfig/modules ${EXTDIR}/sysconfig/ ;\ |
- fi |
- if [ ! -f ${EXTDIR}/sysconfig/rc ]; then \ |
- install -m ${CONFMODE} lfs/sysconfig/rc ${EXTDIR}/sysconfig/ ;\ |
- fi |
- install -m ${MODE} lfs/sysconfig/network-devices/ifup /sbin |
- install -m ${MODE} lfs/sysconfig/network-devices/ifdown /sbin |
- install -m ${MODE} lfs/sysconfig/network-devices/services/ipv4-static ${LIBDIR} |
- install -m ${MODE} lfs/sysconfig/network-devices/services/ipv4-static-route ${LIBDIR} |
-install-consolelog: create-dirs |
- install -m ${MODE} contrib/init.d/consolelog ${EXTDIR}/rc.d/init.d |
- ln -sf ../init.d/consolelog ${EXTDIR}/rc.d/rcsysinit.d/S00consolelog |
+uninstall: |
+ rm -rf ${DESTDIR}/lib/services ${DESTDIR}/lib/lsb ${EXTDIR}/rc.d ${EXTDIR}/init.d \ |
+ ${SBIN}/ifup ${SBIN}/ifdown ${MAN8}/ifup.8 ${MAN8}/ifdown.8 \ |
+ ${EXTDIR}/sysconfig/rc |
-minimal: create-dirs |
- install -m ${MODE} lfs/init.d/checkfs ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/cleanfs ${EXTDIR}/rc.d/init.d/ |
- install -m ${CONFMODE} lfs/init.d/functions ${EXTDIR}/rc.d/init.d/ |
- install -m ${CONFMODE} lfs/init.d/functions ${LIBDIR} |
- install -m ${MODE} lfs/init.d/halt ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/localnet ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/mountfs ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/mountvirtfs ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/rc ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/reboot ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/sendsignals ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/setclock ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/swap ${EXTDIR}/rc.d/init.d/ |
- install -m ${MODE} lfs/init.d/udev ${EXTDIR}/rc.d/init.d/ |
- ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc0.d/S60sendsignals |
- ln -sf ../init.d/mountfs ${EXTDIR}/rc.d/rc0.d/S70mountfs |
- ln -sf ../init.d/swap ${EXTDIR}/rc.d/rc0.d/S80swap |
- ln -sf ../init.d/halt ${EXTDIR}/rc.d/rc0.d/S99halt |
- ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc6.d/S60sendsignals |
- ln -sf ../init.d/mountfs ${EXTDIR}/rc.d/rc6.d/S70mountfs |
- ln -sf ../init.d/swap ${EXTDIR}/rc.d/rc6.d/S80swap |
- ln -sf ../init.d/reboot ${EXTDIR}/rc.d/rc6.d/S99reboot |
- ln -sf ../init.d/mountvirtfs ${EXTDIR}/rc.d/rcsysinit.d/S00mountvirtfs |
- ln -sf ../init.d/udev ${EXTDIR}/rc.d/rcsysinit.d/S10udev |
- ln -sf ../init.d/swap ${EXTDIR}/rc.d/rcsysinit.d/S20swap |
- ln -sf ../init.d/checkfs ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs |
- ln -sf ../init.d/mountfs ${EXTDIR}/rc.d/rcsysinit.d/S40mountfs |
- ln -sf ../init.d/cleanfs ${EXTDIR}/rc.d/rcsysinit.d/S45cleanfs |
- if [ ! -f ${EXTDIR}/sysconfig/rc ]; then \ |
- install -m ${CONFMODE} lfs/sysconfig/rc ${EXTDIR}/sysconfig/; \ |
- fi |
+.PHONY: all create-dirs install files links rcS rc0 rc1 rc2 rc3 rc4 rc5 rc6 uninstall |
-.PHONY: all create-dirs install |
- |
/branches/lfs-7.0-fr/bootscripts/README |
---|
1,49 → 1,44 |
Network Configuration: |
Script Files: |
/etc/rc.d/init.d/network |
/etc/rc.d/init.d/* |
/sbin/ifup |
/sbin/ifdown |
/lib/boot/*/* |
/lib/lsb/* |
Configuration Files: |
/etc/sysconfig/ifconfig.* |
Note: ifconfig.* could be either a file or directory, |
but the filename extension must be the same name |
as the network interface you wish it to belong to. |
The files within the directory will be processed |
in alphanumerical order on boot, and reversed on |
shutdown. |
- IFACE: the interface that is being configured (e.g. eth0) |
- SERVICE: which script to run in services directory. |
- ONBOOT: if set to yes, this interface will be started on |
bootup, and stopped on shutdown |
Note: ifconfig.* files will be processed |
in alphanumerical order on boot, and reversed on shutdown. |
- IFACE : The interface that is being configured (e.g. eth0) |
- SERVICE: Which script to run in services directory. |
- ONBOOT : If set to yes, this interface will be started on bootup |
/etc/sysconfig/network |
- HOSTNAME: Value of the system's hostname |
- HOSTNAME: Value of the system's hostname (From LFS Book) |
This value may also be set in /etc/sysconfig/rc.site |
Additional Configuration: |
ipv4-static: |
- IP: static IP Address |
- GATEWAY: Specifies the IP Address of the gateway server |
- PREFIX: CIDR prefix of IP Address, defaults to 24 if not set |
- PEER: IP Address of peer (for point-to-point connections and tunnels) |
- BROADCAST: broadcast address |
SERVICE ipv4-static: |
- IP : Static IP Address |
- GATEWAY : Specifies the IP Address of the gateway server |
- PREFIX : CIDR prefix of IP Address, defaults to 24 if not set |
- PEER : IP Address of peer (for point-to-point connections and tunnels) |
- BROADCAST: Broadcast address |
ipv4-static-route: |
- TYPE: network (default type if not specified), default, host or |
unreachable |
- IP: IP Address of target (for network, host and unreachable) |
- PREFIX: CIDR prefix of target (for network, host and unreachable) |
SERVICE ipv4-static-route: |
- TYPE : Network (default type if not specified), default, host or unreachable |
- IP : IP Address of target (for network, host and unreachable) |
- PREFIX : CIDR prefix of target (for network, host and unreachable) |
- GATEWAY: IP Address of gateway to reach target (for network and default) |
SetClock configuration: |
Script Files: |
/etc/rc.d/init.d/setclock |
/etc/rc.d/init.d/cleanfs |
- SKIPTMPCLEAN: skips cleaning of /tmp directory |
Configuration Files: |
/etc/sysconfig/clock |
/etc/sysconfig/clock or /etc/sysconfig/rc.site |
- UTC: 1 assumes hwclock is in UTC |
0 assumes hwclock is in local time |
- CLOCKPARAMS: any additional options to be passed to hwclock |
/branches/lfs-7.0-fr/appendices/dependencies.xml |
---|
408,7 → 408,7 |
<seglistitem> |
<seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, |
Gzip, Make, Pkg-config, Sed, Texinfo et Util-linux</seg> |
Gzip, Make, Sed, Texinfo et Util-linux</seg> |
</seglistitem> |
</segmentedlist> |
690,43 → 690,6 |
</seglistitem> |
</segmentedlist> |
<!-- Begin Glib dependency info --> |
<bridgehead renderas="sect2" id="glib-dep">Glib</bridgehead> |
<segmentedlist> |
<segtitle>&dependencies;</segtitle> |
<seglistitem> |
<seg>Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, PCRE |
Sed et Texinfo</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&testsuites;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&before;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&external;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<!-- Begin Glibc dependency info --> |
<bridgehead renderas="sect2" id="glibc-dep">Glibc</bridgehead> |
1553,43 → 1516,6 |
</seglistitem> |
</segmentedlist> |
<!-- Begin PCRE dependency info --> |
<bridgehead renderas="sect2" id="pcre-dep">PCRE</bridgehead> |
<segmentedlist> |
<segtitle>&dependencies;</segtitle> |
<seglistitem> |
<seg>Bash, Binutils, Bzip2, Coreutils, Gawk, GCC, Glibc, Grep, Make, Sed et |
Texinfo</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&testsuites;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&before;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&external;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<!-- Begin Perl dependency info --> |
<bridgehead renderas="sect2" id="perl-dep">Perl</bridgehead> |
1626,42 → 1552,6 |
</seglistitem> |
</segmentedlist> |
<!-- Begin Pkg-config dependency info --> |
<bridgehead renderas="sect2" id="pkg-config-dep">Pkg-config</bridgehead> |
<segmentedlist> |
<segtitle>&dependencies;</segtitle> |
<seglistitem> |
<seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glib, Glibc, |
Grep, Make et Sed</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&testsuites;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&before;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<segmentedlist> |
<segtitle>&external;</segtitle> |
<seglistitem> |
<seg>Aucune</seg> |
</seglistitem> |
</segmentedlist> |
<!-- Begin Procps dependency info --> |
<bridgehead renderas="sect2" id="procps-dep">Procps</bridgehead> |
/branches/lfs-7.0-fr/appendices/scripts.xml |
---|
10,6 → 10,7 |
<!ENTITY functions SYSTEM "functions.script"> |
<!ENTITY consolelog SYSTEM "consolelog.script"> |
<!ENTITY halt SYSTEM "halt.script"> |
<!ENTITY initfunctions SYSTEM "init-functions.script"> |
<!ENTITY localnet SYSTEM "localnet.script"> |
<!ENTITY modules SYSTEM "modules.script"> |
<!ENTITY mountfs SYSTEM "mountfs.script"> |
64,6 → 65,11 |
<screen>&rc;</screen> |
</sect1> |
<sect1 id="init-functions" role="wrap"> |
<title>/lib/lsb/init-functions</title> |
<screen>&initfunctions;</screen> |
</sect1> |
<sect1 id="functions" role="wrap"> |
<title>/etc/rc.d/init.d/functions</title> |
<screen>&functions;</screen> |
180,22 → 186,22 |
</sect1> |
<sect1 id="ifup" role="wrap"> |
<title>/etc/sysconfig/network-devices/ifup</title> |
<title>/sbin/ifup</title> |
<screen>&ifup;</screen> |
</sect1> |
<sect1 id="ifdown" role="wrap"> |
<title>/etc/sysconfig/network-devices/ifdown</title> |
<title>/sbin/ifdown</title> |
<screen>&ifdown;</screen> |
</sect1> |
<sect1 id="ipv4static" role="wrap"> |
<title>/etc/sysconfig/network-devices/services/ipv4-static</title> |
<title>/lib/services/ipv4-static</title> |
<screen>&ipv4_static;</screen> |
</sect1> |
<sect1 id="ipv4route" role="wrap"> |
<title>/etc/sysconfig/network-devices/services/ipv4-static-route</title> |
<title>/lib/services/ipv4-static-route</title> |
<screen>&ipv4_static_route;</screen> |
</sect1> |
/branches/lfs-7.0-fr/patches.ent |
---|
11,8 → 11,8 |
<!ENTITY bzip2-docs-patch-size "1.6 Kio"> |
<!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch"> |
<!ENTITY coreutils-i18n-patch-md5 "28895e1112835ca04119158d1883a6d5"> |
<!ENTITY coreutils-i18n-patch-size "120 Kio"> |
<!ENTITY coreutils-i18n-patch-md5 "fd08f2a15c14a9bd2b675fd7f8d54d08"> |
<!ENTITY coreutils-i18n-patch-size "122 Kio"> |
<!ENTITY coreutils-uname-patch "coreutils-&coreutils-version;-uname-1.patch"> |
<!ENTITY coreutils-uname-patch-md5 "500481b75892e5c07e19e9953a690e54"> |
34,9 → 34,13 |
<!ENTITY gcc-startfiles-patch-md5 "799ef1971350d2e3c794f2123f247cc6"> |
<!ENTITY gcc-startfiles-patch-size "1.5 Kio"> |
<!ENTITY gcc-locale-patch "gcc-&gcc-version;-locale-1.patch"> |
<!ENTITY gcc-locale-patch-md5 "406572f979f480be1450eb88eea08caa"> |
<!ENTITY gcc-locale-patch-size "4 Kio"> |
<!ENTITY glibc-fixes-patch "glibc-&glibc-version;-fixes-1.patch"> |
<!ENTITY glibc-fixes-patch-md5 "133f204725e3487a355e1e55390a42e9"> |
<!ENTITY glibc-fixes-patch-size "2.7 Kio"> |
<!ENTITY glibc-fixes-patch-md5 "13bdfb7db1654d9c3d7934d24479a6c4"> |
<!ENTITY glibc-fixes-patch-size "5.5 Kio"> |
<!ENTITY glibc-gcc_fix-patch "glibc-&glibc-version;-gcc_fix-1.patch"> |
<!ENTITY glibc-gcc_fix-patch-md5 "d1f28cb98acb9417fe52596908bbb9fd"> |
58,6 → 62,10 |
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895"> |
<!ENTITY kbd-backspace-patch-size "12 Kio"> |
<!ENTITY module-init-tools-man-patch "module-init-tools-&module-init-tools-version;-man_pages-1.patch"> |
<!ENTITY module-init-tools-man-patch-md5 "e90aa105293df7b8691fd8ac697cefc9"> |
<!ENTITY module-init-tools-man-patch-size "44 Kio"> |
<!ENTITY patch-test-patch "patch-&patch-version;-test_fix-1.patch"> |
<!ENTITY patch-test-patch-md5 "c51e1a95bfc5310635d05081472c3534"> |
<!ENTITY patch-test-patch-size "1 Kio"> |
/branches/lfs-7.0-fr/process-scripts.sh |
---|
3,14 → 3,14 |
# Boot scripts |
for s in bootscripts/lfs/init.d/* \ |
bootscripts/lfs/sysconfig/* \ |
bootscripts/lfs/sysconfig/network-devices/* \ |
bootscripts/lfs/sysconfig/network-devices/services/* |
bootscripts/lfs/lib/services/* \ |
bootscripts/lfs/sbin/* |
do |
script=$(basename $s) |
# Skip directories |
[ $script == 'network-devices' ] && continue |
[ $script == 'services' ] && continue |
#[ $script == 'services' ] && continue |
# Disambiguate duplicate file names |
[ $s == 'bootscripts/lfs/sysconfig/rc' ] && script='rc-sysinit'; |
/branches/lfs-7.0-fr/stylesheets/md5sum.xsl |
---|
0,0 → 1,58 |
<?xml version='1.0' encoding='ISO-8859-1'?> |
<!-- Create a md5 list for packages and pathces used. --> |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
version="1.0"> |
<xsl:output method="text"/> |
<xsl:template match="/"> |
<xsl:apply-templates select="//ulink"/> |
</xsl:template> |
<xsl:template match="ulink"> |
<!-- If some package don't have the predefined strings in their |
name, the next test must be fixed to match it also. Skip possible |
duplicated URLs that may be split for PDF output --> |
<xsl:if test="(contains( @url, '.tar.' ) or |
contains( @url, '.tgz' ) or |
contains( @url, '.patch') ) and |
not( ancestor-or-self::*/@condition = 'pdf' )" > |
<!-- Get the md5sum --> |
<xsl:value-of select="../../para/literal"/> |
<!-- Add two spaces --> |
<xsl:text> </xsl:text> |
<!-- Get the basename --> |
<xsl:call-template name="basename"> |
<xsl:with-param name="pathname" select="@url"/> |
</xsl:call-template> |
<!-- Add a newline --> |
<xsl:text>
</xsl:text> |
</xsl:if> |
</xsl:template> |
<xsl:template name="basename"> |
<xsl:param name="pathname"/> |
<xsl:choose> |
<xsl:when test="contains( $pathname, '/' )" > |
<xsl:call-template name="basename"> |
<xsl:with-param name="pathname" select="substring-after( $pathname, '/' )" /> |
</xsl:call-template> |
</xsl:when> |
<xsl:otherwise> |
<xsl:value-of select="$pathname"/> |
</xsl:otherwise> |
</xsl:choose> |
</xsl:template> |
</xsl:stylesheet> |
/branches/lfs-7.0-fr/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl |
---|
2,7 → 2,7 |
<!-- |
$LastChangedBy: bdubbs $ |
$Date: 2009-01-08 22:58:12 $ |
$Date: 2009-01-04 05:48:38 +0100 (dim 04 jan 2009) $ |
--> |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
/branches/lfs-7.0-fr/Makefile |
---|
15,7 → 15,6 |
lfs: maketar validxml profile-html |
@echo "Generating chunked XHTML files..." |
$(Q)xsltproc --nonet -stringparam chunk.quietly $(CHUNK_QUIET) \ |
-stringparam paper.type A4 \ |
-stringparam rootid "$(ROOT_ID)" -stringparam base.dir $(BASEDIR)/ \ |
stylesheets/lfs-chunked.xsl $(RENDERTMP)/lfs-html.xml |
44,13 → 43,11 |
pdf: validxml |
@echo "Generating profiled XML for PDF..." |
$(Q)xsltproc --nonet --stringparam profile.condition pdf \ |
--stringparam paper.type A4 \ |
--output $(RENDERTMP)/lfs-pdf.xml stylesheets/lfs-xsl/profile.xsl \ |
$(RENDERTMP)/lfs-full.xml |
@echo "Generating FO file..." |
$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \ |
-stringparam paper.type A4 \ |
--output $(RENDERTMP)/lfs-pdf.fo stylesheets/lfs-pdf.xsl \ |
$(RENDERTMP)/lfs-pdf.xml |
$(Q)sed -i -e 's/span="inherit"/span="all"/' $(RENDERTMP)/lfs-pdf.fo |
91,8 → 88,10 |
$(Q)./aux-file-data.sh $(RENDERTMP)/lfs-full.xml |
maketar: |
@echo "Making tarballs..." |
$(Q)sh make-aux-files.sh |
$(Q)if [ "x$(MAKETAR)" == "x" ]; then \ |
echo "Making tarballs..."; \ |
sh make-aux-files.sh; \ |
fi; |
profile-html: validxml |
@echo "Generating profiled XML for XHTML..." |
106,6 → 105,17 |
$(Q)xsltproc --xinclude --nonet --output $(BASEDIR)/wget-list \ |
stylesheets/wget-list.xsl chapter03/chapter03.xml |
md5sums: |
@echo "Generating md5sum file..." |
$(Q)mkdir -p $(BASEDIR) |
$(Q)xsltproc --xinclude --nonet --output $(BASEDIR)/md5sums \ |
stylesheets/md5sum.xsl chapter03/chapter03.xml |
$(Q)sed -i -e "s/BOOTSCRIPTS-MD5SUM/$(shell md5sum lfs-bootscripts*.tar.bz2 | cut -d' ' -f1)/" \ |
$(BASEDIR)/md5sums |
$(Q)sed -i -e "s/UDEV-MD5SUM/$(shell md5sum udev-config*.tar.bz2 | cut -d' ' -f1)/" \ |
$(BASEDIR)/md5sums |
dump-commands: validxml |
@echo "Dumping book commands..." |
$(Q)xsltproc --output $(DUMPDIR)/ \ |
114,7 → 124,7 |
validate: maketar validxml |
@echo "Validation complete." |
all: lfs nochunks pdf dump-commands |
all: lfs nochunks pdf dump-commands md5sums |
.PHONY : all dump-commands lfs nochunks pdf profile-html tmpdir validate \ |
validxml wget-list maketar |
validxml wget-list maketar md5sums |