web-dev-qa-db-fra.com

Est-il possible de modifier un module à partir du chargeur de démarrage?

Je veux modprobe un module de la ligne de commande du noyau (dans mon cas, yaboot, mais vous êtes probablement plus familier avec grub). Ceci est une solution de contournement pour le CD live. J'ai vu un vieux conseil qui dit que c'est possible dans Ubuntu. Cependant, cela ne semble pas fonctionner pour moi.

Le module que je veux charger est un framebuffer (donc il est normalement sur la liste noire). Je ne sais pas si cela complique les choses, mais il me semble impossible de modifier un module à partir de la ligne de commande du noyau. Y a-t-il une autre ligne de commande qui le ferait?

Est-ce que quelqu'un sait si c'est possible et comment vous le feriez? Merci.

2
rsavage

Ajoutez le module à initrd. Il y a un fil sur ServerFault . Reportez-vous à la réponse qui commence par "Sur un système Debian, vous éditez/etc/initramfs-tools/modules, et mettez un mo ..."

Êtes-vous sûr de ne pas pouvoir ajouter votre module à /etc/modules? C'est la façon la plus facile d'aller.

1
jippie

Pour charger un module lorsque le noyau est appelé à partir du chargeur de démarrage, il vous suffit d'ajouter le nom du module.

La syntaxe est le nom du module. Si vous souhaitez transmettre une option au module, tapez modulename.moduleoption.

Par exemple, sur mon ancien ordinateur, j’ai un ISA adaptateur Ethernet Plug & Play RTL8019/11901 qui fonctionne avec le module NE. Sur la ligne de commande du noyau, j'ajoute ne.irq=0x0220 et amorce. Enfin la carte est reconnue.

1
morriset

Grub utilise la commande insmod pour charger des modules. Voici un exemple concret tiré de mon fichier /boot/grub/grub.cfg:

menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd8,msdos1)'
    search --no-floppy --fs-uuid --set=root 1b66bb9e-5b02-49f1-8cf9-bc3f649d70a6
    linux   /boot/vmlinuz-3.2.0-23-generic root=UUID=1b66bb9e-5b02-49f1-8cf9-bc3f649d70a6 ro   nomodeset pcie_aspm=force
    initrd  /boot/initrd.img-3.2.0-23-generic
}

Que vous puissiez ou non écrire un script à partir de yaboot est une autre question. Si cela fonctionne, laissez s'il vous plaît un commentaire le disant.

0
Oli