Page 1 sur 1

[mkinitcpio] hook block, mkinitcpio.conf.pacnew (résolu)

Publié : lun. 10 déc. 2012, 09:31
par mimile
Bonjour,

Mise à jour complète ce matin.

En ce qui concerne mkinitcpio, j'ai ce message dont le sens m'échappe :

Code : Tout sélectionner

(1/2) mise à jour de mkinitcpio                    [######################] 100%
Avertissement : /etc/mkinitcpio.conf installé en tant que /etc/mkinitcpio.conf.pacnew
==> The "block" hook has replaced several hooks:
       fw, sata, pata, scsi, virtio, mmc, usb
    Replace any and all of these in /etc/mkinitcpio.conf with a single
    instance of the "block" hook
Dans mon mkinitcpio.conf initial, il n'y avait rien en ce qui concerne HOOK : En fait, toutes les lignes du texte était commentées exception faite d'une seule :

Code : Tout sélectionner

MODULES=nouveau
Dans le pacnew, tout est commenté aussi à l'exception de cette ligne :

Code : Tout sélectionner

HOOKS="base udev autodetect modconf block filesystems usbinput fsck"
.

Je suppose qu'il faut ajouter cette ligne à mkinitcpio.conf et si oui, relancer mkinitcpio (ou rebooter ?).

J'aimerais avoir votre avis à ce sujet.

Pour mémoire, je suis en full systemd.

Merci d'avance.

Amicalement,

Re: [mkinitcpio] merci de m'expliquer

Publié : lun. 10 déc. 2012, 09:47
par oktoberfest
Salut,

dans ton /etc/mkinitcpio.conf, tu dois forcément avoir une ligne 'HOOKS=...' Sinon je ne vois pas trop comment ton système démarre (ou plus exactement je ne vois pas comment mkinitcpio peut construire une initramfs valide).

Ce qui a changé dans mkinitcpio c'est que les hooks fw, sata, pata, scsi, virtio, mmc, usb ont été supprimés et sont remplacés par un seul hook : block.

Par exemple sur ma VM de test j'ai dans /etc/mkinitcpio.conf

Code : Tout sélectionner

HOOKS="base udev autodetect pata sata resume filesystems fsck"
Je modifie donc la ligne en :

Code : Tout sélectionner

HOOKS="base udev autodetect block resume filesystems fsck"
Je recrée ensuite mon initramfs :

Code : Tout sélectionner

# mkinitcpio -p linux
Et je redémarre pour vérifier... Ouf ça démarre bien

Re: [mkinitcpio] hook block, mkinitcpio.conf.pacnew

Publié : mar. 11 déc. 2012, 09:15
par mimile
Salut,

Voici le texte complet de mon /etc/mkinitcpio.conf tel qu'il était (et est encore) avant la mise à jour :

Code : Tout sélectionner

[okapi@Archibald ~]$ cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES="piix ide_disk reiserfs"
MODULES="nouveau"

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
# Some users may wish to include modprobe.conf for custom module options
# like so:
#    FILES="/etc/modprobe.d/modprobe.conf"
FILES="/etc/modprobe.d/modprobe.conf"

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in 

MODULES=""

# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS="base"
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS="base udev autodetect pata scsi sata filesystems"
#
##   This is identical to the above, except the old ide subsystem is
##   used for IDE devices instead of the new pata subsystem.
#    HOOKS="base udev autodetect ide scsi sata filesystems"
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS="base udev pata scsi sata usb filesystems"
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS="base udev pata mdadm encrypt filesystems"
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS="base udev usb lvm2 filesystems"
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect pata scsi sata filesystems usbinput fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""
[okapi@Archibald ~]$ 
Tu as raison : il y a bien une ligne HOOKS ; j'ai été induit en erreur par le fait qu'après le premier paragraphe d'explication, il y a :

Code : Tout sélectionner

MODULES= 
La ligne concernant HOOKS se trouve en fait après le second paragraphe et elle m'avait échappée :bouletdujour:

Donc, dans mon cas, dans la ligne

Code : Tout sélectionner

HOOKS="base udev autodetect [u]pata scsi sata[/u] filesystems usbinput fsck"
je remplace simplement pata scsi et sata par block.

Je teste et reviens dire ce qu'il en est.

EDIT : Pas de problème signalé lors de l'exécution de mkinitcpio -p linux et redémarrage normal (peut-être un poil plus rapide).

Je marque ce sujet comme résolu en te remerciant pour tes explications.

Cordialement,

Re: [mkinitcpio] hook block, mkinitcpio.conf.pacnew

Publié : mar. 11 déc. 2012, 09:24
par oktoberfest
Tu as donc deux lignes qui définissent la variables MODULES... Pas bien.
Comme j'imagine que tu as besoin du module nouveau, tu devrais supprimer la ligne :

Code : Tout sélectionner

MODULES=""
Ca évitera des prises de tête la prochaine fois que tu regarderas ton fichier en te demandant pourquoi tu as deux lignes MODULES.

Re: [mkinitcpio] hook block, mkinitcpio.conf.pacnew (résolu)

Publié : mer. 12 déc. 2012, 01:37
par Elbarto
à noter que sur certaines installations d'archlinux aucun fichier mkinitcpio.pacnew n'est crée et que la mise à jour semble automatiquement mettre à jour le fichier mkinitcpio.conf ( cas vécu sur une installation d'archlinux sur virtualbox, et sur un autre portable par contre un fichier pacnew est crée et il faut faire la modification du fichier de configuration à la main )

Re: [mkinitcpio] hook block, mkinitcpio.conf.pacnew (résolu)

Publié : mer. 12 déc. 2012, 02:13
par jc51
@Elbarto oui moi c'est mon cas pas de mkinitcpio.pacnew

Re: [mkinitcpio] hook block, mkinitcpio.conf.pacnew (résolu)

Publié : mer. 12 déc. 2012, 08:16
par oktoberfest
Les fichiers <toto>.pacnew ne sont créés que si les trois conditions suivantes sont vérifiées :
- le fichier <toto> existe
- le fichier <toto> est différent de celui fourni par la précédente version du paquet
- le fichier <toto> est différent de celui fourni par la nouvelle version du paquet

En clair si ton fichier /etc/mkinitcpio.conf est celui d'origine (tu n'y as pas touché), alors il sera remplacé lors de la mise à jour du fichier.
Plus d'info dans l'excellent wiki français http://wiki.archlinux.fr/Gestion_des_fi ... .2A.pacnew

Re: [mkinitcpio] hook block, mkinitcpio.conf.pacnew (résolu)

Publié : mer. 12 déc. 2012, 11:31
par jc51
merci pour les précisions @oktoberfest