Un IP-KVM sur Rpi 4

Dans l’ancien temps, quand ma couverture capillaire avoisinait encore les 99%, les KVM avaient la forme de petites boites avec pleins d’entrées vidéo, et permettaient, avec un gros bouton, de basculer un unique écran, clavier et souris, entre plusieurs sources vidéo. Le gain de temps pour l’utilisateur était considérable, le nombre de souris et de claviers qui jonchaient le bureau était réduit et l’ergonomie de la station de travail grandement améliorée. Par la suite, les technologies OOBE ou Out of Band Management ou IPMI se sont démocratisées afin de faciliter le contrôle à distance des flottes de machine. Parfois, tellement démocratisées que n’importe qui pouvait accéder à votre PC (voir le scandale vPro de Intel et sa fonction AMT) !

En 2023, certains KVM sont parfois en IP. Cela veut dire qu’on peut s’y connecter à distance, et prendre la main sur un PC. Quel est l’intérêt si on peut simplement faire un SSH vite fait ? L’IP-KVM diffère du lot, car il capture directement le flux vidéo en sortie HDMI et l’envoi sur le réseau, à vous. Il envoie aussi les mouvements HID (souris, clavier) afin de taper sur l’ordinateur comme ci, on était assis devant. Donc, non seulement peut-on se logger en local sur la machine, mais on peut même le rebooter, entrer dans le BIOS, et installer une image ISO à l’autre bout du monde.

Les grandes marques de serveur intègrent ce genre de fonctionnalité qui peut couter, par contre, cher à rajouter sur une machine lambda. Dans cet article, nous parlions des capacités iLO du Microserveur HP qui effectue toutes ces opérations en sortie d’usine. Par contre, pour retaper un vieux PC en serveur, une solution adéquate peut être le pi-KVM.

Le pi-KVM est un ensemble de logiciel open-source et d’un ‘hat’ à installer sur un raspberry pi. Les versions 1 & 2 demandaient des montages rébarbatifs. La V3 et V4 sont nettement plus user-friendly. Cette version fonctionne uniquement sur un raspberry pi 4 a minima. Donc, nous allons avoir besoin :

  • d’un vieux Raspberry Pi 4 ou 4b, qui traine dans un tiroir,
  • d’une plateforme pi-KVM V3 ou V4,
  • un l’ISO pi-KVM téléchargé ici,
  • une petite pile montre type CR1220,
  • une alimentation Rpi 4 et quelques câbles réseau RJ45.

Pour info, dans ce tuto, nous allons utiliser le clone chinois de la plateforme V3, chez geekworm.com. À la fin du tuto, nous pourrons accéder directement et à distance au port HDMI, clavier et souris d’un serveur Proxmox, se trouvant dans un garage surchauffé.

Procédons par étapes.

Etape 1: Monter la plateforme pi-KVM V3 en suivant les instructions.

Dans la boite, nous avons :

  • La carte principale du KVM, marqué X630,
  • Le module (à droite dans la photo) qui comporte un port HDMI. Ce module prend une source HDMI et la convertie en données de capteur d’image qui est renvoyé à la carte principale par le biais de l’entrée caméra du Rpi,
  • Le module en format bracket standard qui réside sur le PC. Ce module fait le lien entre les pins de RESET, PWR LED, etc, sur la carte mère et le pi-KVM. Cela permet d’allumer ou de redémarrer la machine via le logiciel pi-KVM mais aussi de pouvoir le faire directement sur la façade de la machine,
  • Un petit écran OLED, et
  • Quelques accessoires de montage (vis, stand-offs, etc.).
Modules Pi-KVM à monter
Carte « hat » principale qui sera montée sur le Rpi

Les tutos vidéos de geekworm sont très bien faits, et nous vous invitons à les visionner en consommant une boisson chaude. Vous pourrez rajouter une boite afin de garder tout ce beau monde propre.

Il ne faudra pas oublier d’installer la pile pour alimenter l’horloge interne de la carte.

Après montage façon Lego et quelques coups de tournevis, nous avons ceci :

Montage du « hat » sur le Rpi, avec le cable d’alimentation et ATX (jaune) branché.

Etape #2 : Graver le système opératoire

Nous aurons besoin de :

  • Une carte SD rapide et fiable de 16 Go,
  • Du logiciel Rapberry Pi Imager, et
  • De l’ISO de PI-KVM. Pour le clone de geekworm.com avec un écran installé, nous allons choisir la « V3 Pre-Assembled » qui a déjà la configuration nécessaire afin de paramétrer l’écran.

On va déjà décompresser le fichier .xz pour obtenir le fichier en .IMG à graver.

Donc, sur Raspberry Pi Imager, on va choisir « Custom Image » et graver la carte SD. Une fois la carte SD terminée, on peut l’insérer dans le Rpi et démarrer la bête.

Etape #3 : Allumage et décollage

Petit rappel, avant d’appuyer sur le bouton ON, assurez-vous que l’alimentation est branchée sur le port USB-C du Pi-KVM, et non pas sur celui du Rpi. Ce dernier sera utilisé pour brancher l’entrée clavier/souris.

À l’allumage, un petit chat vous souhaite la bienvenue.

Tout de suite après, l’OS finalise son installation et le Pi-KVM attrape une adresse IP.

Etape #4 : Finalisation du RTC et login

Si vous avez acheté le clone du Pi-KVM sur geekworm.com, il faudra une petite manipulation afin d’informer le Rpi qu’une autre puce est présente pour l’horloge interne.

Donc en SSH, nous allons nous logger sur le PI-KVM. Il faudra savoir que le PI-KVM est en mode lecture uniquement, ce qui veut dire qu’il faut le basculer en écriture pour changer la configuration. Donc :

rw
nano /boot/config.txt

On va changer la ligne #Clock avec les valeurs suivantes :

dtoverlay=i2c-rtc,ds1307

On vérifie que l’horloge fonctionne et on met à jour la date:

date 
hwclock -w 
hwclock -r

Et on repasse le système de fichier en mode lecture :

ro

Etape #5 : Log-in et go !

Après un petit reboot histoire de bien voir si tout est stable, nous lançons le navigateur à l’adresse du PI-KVM.

Le login par défaut est admin et le mot de passe admin et boum !

Et en cliquant sur KVM, nous avons accès au flux vidéo ainsi que le clavier et la souris.

Fonction intéressante, en allant sur « Drive », on peut téléverser un fichier qui sera disponible sur la machine distante.

Téléversement d’un ISO

On clic sur « Connect drive to Server » en tant que « CD-ROM ». On va ensuite monter le CD-ROM dans /media :

mount /dev/sr0 /media

Et comme par magie, nous avons accès aux fichiers téléversés comme ci, nous avions mis un CD-ROM dans la machine :

Montage de l’iso en question dans /media.

Test ultime de reboot, et ensuite, je passe dans le BIOS :

Image du BIOS en 30 fps
Pas de souci pour accéder au BIOS

Si comme moi, vous avez une image partielle du BIOS, suivez l’exemple ici pour modifier l’EDID de votre PI-KVM. J’utilise cet EDID pour avoir une image complète en 1280×1024 :

00FFFFFFFFFFFF005262888800888888
1C150103800000780AEE91A3544C9926
0F505425400001000100010001000100
010001010101D51B0050500019400820
B80080001000001EEC2C80A070381A40
3020350040442100001E000000FC0050
492D4B564D20566964656F0A000000FD
00323D0F2E0F0000000000000000014D
02030400DE0D20A03058122030203400
F0B400000018E01500A0400016303020
3400000000000018B41400A050D01120
3020350080D810000018AB22A0A05084
1A3030203600B00E1100001800000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000045

La cerise sur le gâteau

Et si vous avez suivi le tuto de comment se connecter à la console d’un routeur via un Rpi, à distance, vous pourrez simplement connecter votre câble console au routeur et au Rpi pour pouvoir y accéder à distance !

Donc, le Rpi fera le lien de sauvegarde vers votre serveur ET votre routeur ! Pas mal pour rentabiliser cette petite machine.

Conclusion

Nous avons donc un serveur totalement contrôlable à distance. On peut monter une image, réinstaller le système, cloner les disques durs et partitions avec Clonezilla et autres vagabonderies de ce genre. Dans notre cas, c’était pour rajouter un nœud Proxmox au cluster et y intégrer Proxmox Backup Server, le tout sur la même machine ! Mais ça, c’est pour une prochaine aventure, électronique !

Pour le mot de la fin, inutile de le dire, mais il sera primordial de ne pas exposer votre IP-KVM ou autre technologie de prise de contrôle à distance sur internet à moins de vouloir faire un LAN Party d’attaquants et à voir toutes vos VMs transformées en mineur à bitcoin !

A bientôt !

0 0 votes
Article Rating
S’abonner
Notification pour
guest

0 Commentaires
Commentaires en ligne
Afficher tous les commentaires
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x