Votre question est très intéressante.
J'exploite environ 120 clients lourds LTSP dans deux bâtiments en utilisant un serveur LTS Ubuntu 16.04.6.
Tous les clients gras utilisent recommandé MATE DE .
Mon serveur dispose donc de tous les composants LTSP nécessaires.
Je viens de tester qu'il est possible de convertir /opt/ltsp/images/amd64.img
Image SquashFS sur le disque dur de VirtualBox.
Voici la procédure que j'ai utilisée pour le convertir en VM.
1. Montez l'image SquashFS LTSP et copiez son contenu sur un nouveau disque dur brut vide.
1.1. Opérations sur le système hôte
Créer un point de montage
mkdir ~/ltsp_sfs
et monter le fichier image squashfs LTSP :
sudo mount -o loop /opt/ltsp/images/amd64.img ~/ltsp_sfs
Créez un disque dur brut vide et copiez-y squashfs.
Allouez 20 Go d'espace :
fallocate -l 20G ~/ltsp.raw
Créez des partitions sur un disque brut avec n'importe quel logiciel. Vous trouverez ci-dessous fdisk
méthode :
(
echo n # new partition
echo p # it is primary
echo # and first
echo # starts at default
echo # ends at end
echo w # write changes
) | fdisk ~/ltsp.raw
Créer des dispositifs de boucle pour ~/ltsp.raw
en utilisant kpartx
:
sudo kpartx -a -v ~/ltsp.raw
et formater sa première partition (vérifier le nom exact du périphérique avec losetup
) avec étiquette :
sudo mkfs.ext4 /dev/mapper/loop1p1 -L LTSP
puis le monter
mkdir ~/ltsp_ext4
sudo mount /dev/mapper/loop1p1 ~/ltsp_ext4
Copier le contenu de squashfs vers une nouvelle partition ext4
sudo cp -a ~/ltsp_sfs/* ~/ltsp_ext4/
et définir l'étiquette de partition correcte dans /etc/fstab
:
echo "LABEL=LTSP / ext4 noatime 0 1" | sudo tee ~/ltsp_ext4/etc/fstab
1.2. Opérations dans le chroot
Chroot vers le système de fichiers copié :
sudo mount --types proc /proc ~/ltsp_ext4/proc
sudo mount --bind /sys ~/ltsp_ext4/sys
sudo mount --bind /dev ~/ltsp_ext4/dev
sudo chroot ~/ltsp_ext4/
Installer le chargeur de démarrage Grub dans le lecteur virtuel :
sudo grub-install /dev/loop1
grub-mkconfig -o /boot/grub/grub.cfg
Créer un nouveau ltsp
utilisateur en tant que membre de sudo
groupe avec un mot de passe :
useradd -m -G users,audio,sudo -s /bin/bash ltsp
passwd ltsp
Sortir du chroot
exit
démonter sa partition et détacher les périphériques de bouclage :
sudo umount ~/ltsp_ext4/proc
sudo umount ~/ltsp_ext4/sys
sudo umount ~/ltsp_ext4/dev
sudo umount ~/ltsp_ext4/
sudo kpartx -d -v ltsp.raw
2. Démarrer le disque dur virtuel résultant dans la machine virtuelle
2.1. Utilisation de QEMU-KVM
Lancez l'image LTSP en utilisant QEMU-KVM :
kvm -m 1024 -drive file=~/ltsp.raw,format=raw
et se connecter au système en tant que ltsp
utilisateur.
Ne pas toucher aux services système, pour garder l'image compatible avec les init-scripts de LTSP.
2.2. Utilisation de VirtualBox VM
Créer un nouveau disque dur VMDK lié à notre disque dur brut :
VBoxManage internalcommands createrawvmdk -filename ~/ltsp.vmdk -rawdisk ~/ltsp.raw
puis l'attacher à la VM VirtualBox et la démarrer.
3. Utilisez le contenu du disque modifié pour créer une nouvelle image LTSP.
Ensuite, vous pouvez essayer de modifier le contenu du nouveau disque dur virtuel et le recopier sur le disque dur virtuel. /opt/ltsp/amd64
du serveur. Essayez ensuite d'appeler sudo update-ltsp-images amd64
pour le reconvertir en système de fichiers squashfs.
Je suis désolé, je n'ai pas les ressources pour vérifier cela. J'espère que vous avez compris l'idée.