Problèmes rencontrés lors de la compilation et de l'installation de LitmusRT

Contexte

Récemment, dans l'étude de l'hétérogénéité CPU-GPU, le premier problème est l'environnement d'installation. J'ai installé cet environnement sur trois machines (machine virtuelle, serveur, mon propre bureau ubuntu), et j'ai rencontré des problèmes. Après plusieurs échecs, tous ont été résolus. J'ai enregistré le processus de compilation, les problèmes d'installation et rencontré des problèmes sous la forme de notes.Problèmes et solutions, et écrivez-les progressivement dans des blogs pour les partager avec tout le monde, car cette partie du contenu n'est vraiment pas grand-chose sur Internet.

L'un de nos environnements consiste à utiliser le planificateur de LitmusRT, puis nous devons compiler et installer ce noyau. Compilez et installez les étapes en fait, suivez les instructions sur le site officiel http://www.litmus-rt.org/installation.html.Si vous avez de la chance, vous pouvez redémarrer avec succès une fois avec litmus. Mais j'ai rencontré trois problèmes difficiles lors du redémarrage ou après le redémarrage avec tournesol

problème

问题 一 : Alerte! / dev / sdax n'existe pas. tomber dans une coquille!

Solution:

1), suivez cet article https://blog.csdn.net/pilot10/article/details/48788479 pour activer le chargement du disque

Accédez au répertoire racine du projet litmus, entrez la commande make menuconfig, puis entrez Device Drivers, activez tous les sous-éléments sous Prise en charge des périphériques SCSI et Prise en charge des périphériques Fusion MPT, procédez de manière récursive, puis compilez le noyau

2) Lors de l'édition du fichier / etc / default / grub, activez le commentaire avec GRUB_DISABLE_LINUX_UUID = true

3) Modifiez le disque dur à monter par root au démarrage de litmusRT, voici sdb1, car sda1 est introuvable

szc@ubuntu:~$ sudo vim /boot/grub/grub.cfg

Trouvez toutes les lignes commençant par linux dans le nom du noyau echo litmusRT (ici vmlinuz-4.9.30-litmus), et changez sda1 en sdb1

    menuentry 'Ubuntu, with Linux 4.9.30-litmus' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.30-litmus-advanced-3ea2036d-f3ca-4b6c-af46-97ba860f52e4' {
        ......
        linux    /boot/vmlinuz-4.9.30-litmus root=/dev/sdb1 ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet
        ......
    }
    menuentry 'Ubuntu, with Linux 4.9.30-litmus (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.30-litmus-init-upstart-3ea2036d-f3ca-4b6c-af46-97ba860f52e4' {
        .....
        linux    /boot/vmlinuz-4.9.30-litmus root=/dev/sdb1 ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet init=/sbin/upstart
        .....
    }
    menuentry 'Ubuntu, with Linux 4.9.30-litmus (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.30-litmus-recovery-3ea2036d-f3ca-4b6c-af46-97ba860f52e4' {
        .....
        linux    /boot/vmlinuz-4.9.30-litmus root=/dev/sdb1 ro recovery nomodeset find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US
        .....
    }

Puis mettre à jour grub

szc@ubuntu:~$ sudo update-grub

Comment déterminer le périphérique que vous souhaitez monter? Après avoir exécuté la deuxième étape mais pas cette étape, redémarrez dans litmusRT, il entrera dans l'interface bash et affichera / dev / sda1 introuvable, puis entrez la commande

ls /dev/sd

Ensuite, appuyez sur Tab, il affichera tous les appareils disponibles. Je n'ai pas sda1 ici, seulement sdb1, j'ai donc choisi de le monter sur sdb1

Question 2: le initrd est trop grand

Solution: il est recommandé de compiler et d'installer le noyau linux 4.9.30, puis de recompiler et d'installer litmus sous ce noyau

Problème 3: Incompatible avec le pilote NVIDIA

Solution: après le redémarrage dans LitmusRT, réinstallez le pilote NVIDIA (c'est-à-dire exécutez à nouveau le fichier NVIDIA-XXX.run).

Après de nombreuses tentatives pour exécuter ce fichier sur le serveur, de nombreuses erreurs ont été signalées. Première

Unable to find the kernel source tree for the currently running kernel

Ajoutez ensuite le paramètre --kernel-source-path pour exécuter le fichier d'installation du pilote, il signale toujours une erreur, le fichier journal signale l'erreur comme suit

ld:cannot find /tmp/selfgz9971/NVIDIA-Linux-x86_64-450.66/kernel/nvidia.o
................

Il n'y a tout simplement pas de solution.

Il a réussi une fois sur mon propre bureau Ubuntu. La configuration est: Ubuntu18.04 64 bits (la même que la version serveur), la version de la carte graphique est GTX 1070Ti (le serveur est GTX 1080Ti), et les fichiers d'installation sont les mêmes , tous sont NVIDIA-Linux- x86_64-450.66.run.

Dans la machine virtuelle où les cartes graphiques sont toutes virtualisées, cela échoue sans hésitation.

C'est peut-être un problème métaphysique ...

Conclusion

LitmusRT est une plateforme expérimentale en temps réel basée sur Linux. Le manuel officiel est en fait plus détaillé, mais a quand même rencontré quelques problèmes, mais je n'ai pas essayé de le reproduire sur l'ordinateur de bureau (l'ordinateur de bureau ne peut être utilisé qu'avant-hier ), Je vais compléter les notes et publier un blog.

Je suppose que tu aimes

Origine blog.csdn.net/qq_37475168/article/details/109195205
conseillé
Classement