Comment trouver les paramètres de démarrage utilisés par le noyau en cours d'exécution?

42

Existe-t-il un moyen de savoir avec quels paramètres le noyau a été démarré?

Par exemple, si je spécifie noexec = off sur la ligne de commande grub? Puis-je voir ce genre d’informations une fois le système démarré?

    
posée nvm 30.03.2011 - 10:50
la source

3 réponses

61

Vous pouvez exécuter cat /proc/cmdline .

Exemple:

[01:31] ~ $ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-2.6.38-7-generic root=UUID=025c4231-b7bb-48bf-93e9-d20c5b5ce123 ro crashkernel=384M-2G:64M,2G-:128M quiet splash bootchart=disable acpi_enforce_resources=lax vga=792 vt.handoff=7
    
réponse donnée htorque 30.03.2011 - 12:31
la source
8

Vous pouvez également vérifier le résultat de dmesg (ligne 5 ici):

$ dmesg | grep "Command line"
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-33-generic root=UUID=81dba11f-f76e-4ed4-8120-e6da6328b1ee ro

Notez cependant que cela pourrait ne pas fonctionner si de nombreux éléments ont été enregistrés (par exemple, si la machine fonctionne depuis longtemps), car les lignes de démarrage initiales ont peut-être été repoussées hors du tampon circulaire.

    
réponse donnée joeytwiddle 14.12.2015 - 06:22
la source
1

En fait, le paramètre est situé entre __setup_start et __setup_end dans le noyau. Dans le code suivant, p->str est le nom du paramètre

Le code de noyau suivant est disponible à linux-3.4.5 / init / main.c: 388

/* Check for early params. */
static int __init do_early_param(char *param, char *val)
{
    const struct obs_kernel_param *p;
    for (p = __setup_start; p < __setup_end; p++) {
        if ((p->early && parameq(param, p->str)) ||
            (strcmp(param, "console") == 0 &&
             strcmp(p->str, "earlycon") == 0)
        ) {
            if (p->setup_func(val) != 0)
                printk(KERN_WARNING
                       "Malformed early option '%s'\n", param);
        }
    }


    /* We accept everything at this stage. */
    return 0;
}
    
réponse donnée byhankswang 12.03.2014 - 09:30
la source

Lire d'autres questions sur les étiquettes