Grub: 40_custom pointeur au démarrage du noyau dans les menus

Tags: #<Tag:0x00007f63fbc1f9d8> #<Tag:0x00007f63fbc1f910>

Bonjour
Je souhaite créer un menu grub qui lance le noyau avec un tag et récupérer ce tag dans les init.d et mener des actions en conséquences.

Exemple:

Démarrage standard:

linux   /boot/vmlinuz-4.19.0-23-amd64 root=UUID=8e2db774-f057-45da-b8f0-0a22992cd3ae ro net.ifnames=0 biosdevname=0 fsck.mode=force fsck.repair=yes quiet

Je voudrai créer un démarrage comme ceci:

linux   /boot/vmlinuz-4.19.0-23-amd64 root=UUID=8e2db774-f057-45da-b8f0-0a22992cd3ae ro net.ifnames=0 biosdevname=0 fsck.mode=force fsck.repair=yes quiet **startup=limited**

afin de récupérer cette valeur dans le /proc

Est-ce possible ?

Tu peux mettre ce que tu veux dans 40_custom. Evidemment les versions de noyau ne seront pas automatiquement mises à jour

Merci pascal, je me suis peut être mal exprimé.
Ce n’est pas le fait de mettre ce que je veux dans ce fichier mais le fait de rajouter un menu et de savoir quel menu à été utilisé une fois le système monté: exemple

menuentry 'Debian GNU/Linux minimal services' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8e2db774-f057-45da-b8f0-0a22992cd3ae' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  8e2db774-f057-45da-b8f0-0a22992cd3ae
        else
          search --no-floppy --fs-uuid --set=root 8e2db774-f057-45da-b8f0-0a22992cd3ae
        fi
        echo    'Loading Linux 4.19.0-23-amd64 ...'
        linux   /boot/vmlinuz-4.19.0-23-amd64 root=UUID=8e2db774-f057-45da-b8f0-0a22992cd3ae ro net.ifnames=0 biosdevname=0 fsck.mode=force fsck.repair=yes startup=level1 **startup=level0** quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-4.19.0-23-amd64
}

menuentry 'Debian GNU/Linux minimal services' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8e2db774-f057-45da-b8f0-0a22992cd3ae' {
            load_video
            insmod gzio
            if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
            insmod part_msdos
            insmod ext2
            set root='hd0,msdos1'
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  8e2db774-f057-45da-b8f0-0a22992cd3ae
            else
              search --no-floppy --fs-uuid --set=root 8e2db774-f057-45da-b8f0-0a22992cd3ae
            fi
            echo    'Loading Linux 4.19.0-23-amd64 ...'
            linux   /boot/vmlinuz-4.19.0-23-amd64 root=UUID=8e2db774-f057-45da-b8f0-0a22992cd3ae ro net.ifnames=0 biosdevname=0 fsck.mode=force fsck.repair=yes **startup=level2** quiet
            echo    'Loading initial ramdisk ...'
            initrd  /boot/initrd.img-4.19.0-23-amd64
    }

Une fois le système monté, savoir quel est le menu sélectioné ( startup ) level0 ou level2

Oui, tu mets ça dans 40_custom, tu regénères grub.cfg avec update-grub et tu lis les paramètres passés dans /proc/cmdline. Où est le problème ?

Super! merci je fais les test