Je joue avec l'image ISO de quelques dérivés d'Ubuntu - qui devrait être assez similaire à Ubuntu. La version est 14.04.1 64 bits. L'idée est de créer une clé USB personnalisée live, basée sur la session live que vous obtenez lorsque vous démarrez Ubuntu pour la première fois à partir d'un DVD-ROM ou d'une clé USB.
Notez que j’ai essayé une installation normale d’Ubuntu sur la clé USB, mais que cela ne me convient pas car la clé USB est lente en tant que support de stockage. En conséquence, toute session dans ce système était lente et généralement inefficace.
Donc, pour de meilleurs résultats et une réponse plus rapide, la session doit être exécutée à partir d’un lecteur RAM et le chemin le moins pénible semble être la session en direct Ubuntu que vous obtenez lors du démarrage de Ubuntu LiveCD ou LiveUSB. Si vous avez une autre suggestion, n'hésitez pas à la mettre en avant.
J'ai parcouru un grand nombre de guides. J'ai entendu parler de Ubuntu customization kit
et d'autres personnalisations spécifiques (pour la plupart très anciennes). Une chose qui est certaine parmi tous les guides est que la personnalisation doit être faite dans le système casper
initial (ram?). J'ai donc extrait l'image ISO de Xubuntu
et j'ai unsquashed
le fichier de démarrage filesystem.squashfs
. D'après ce que j'ai lu, les scripts de démarrage se trouvent dans
squashfs-root/usr/share/initramfs-tools/scripts/casper-bottom/ #directory
squashfs-root/usr/share/initramfs-tools/scripts/casper #file
Et ce que je veux réaliser - du moins au début - est de
J'ai déjà essayé de le faire à partir de la session en direct (en utilisant la persistance), mais les fonctionnalités de connexion automatique de lightdm ne sont pas persistantes et il en va de même pour la suppression de l'utilisateur de la session en direct.
donc dans le fichier casper
je vois qu'il y a 4 awesomely entrées pertinentes
USERNAME=casper
USERFULLNAME="Live session user"
Host=live
BUILD_SYSTEM=Custom
et l'a changé pour
USERNAME=nass
USERFULLNAME="not a live session"
Host=portableos
BUILD_SYSTEM=Custom
Il semble que non seulement je puisse avoir mon propre utilisateur dès le démarrage, mais il n’est pas nécessaire de supprimer l’utilisateur casper car je suis déjà l’utilisateur principal qui remplace casper :)
Malheureusement, le remplacement de celles-ci par des valeurs personnalisées, la re-création du système de fichiers squashfs et le remplacement du fichier dans l'ISO ne changent pas l'utilisateur de session en direct. L'utilisateur de la session en direct s'appelle une nouvelle fois "Ubuntu".
De même, faire chmod -x
dans le fichier casper-bottom/15autologin
(ou même le supprimer complètement) n'a pas modifié le processus de démarrage et n'a pas demandé de mot de passe lors de la connexion.
Il semble donc que ce n’est PAS encore le bon emplacement pour créer un nouvel utilisateur, supprimer l’utilisateur casper ou désactiver le processus de démarrage automatique.
Je dois donc demander, O dois-je faire toutes ces personnalisations?
MODIFIER:
commentant user-session=xubuntu
dans squashfs-root/etc/lightdm/lightdm.conf.d/10-xubuntu.conf
j'ai désactivé la connexion automatique.
J'ai également mis à jour le fichier squashfs-root/etc/casper.conf
USERNAME=nass
USERFULLNAME="not a live session"
Host=portableos
BUILD_SYSTEM=Custom
mais encore une fois je démarre à l'utilisateur "Ubuntu" - c'est le seul utilisateur disponible.
Enfin, squashfs-root/etc/passwd
ne contient aucune entrée pour l'utilisateur "Ubuntu", je ne peux donc pas simplement le modifier ici.
Il va sans dire que je mksquashfs le système de fichiers et que je remplace le fichier approprié avant chaque tentative de démarrage.
Finalement!
Après des heures sans fin de recherche et la combinaison d'informations éparses, pour changer le nom d'utilisateur par défaut, il est beaucoup plus facile d'entrer dans le initrd.lz
. Il semble que sqyashfs hérite du nom d'utilisateur tel qu'il est exporté à partir du lecteur ram initial.
Donc, une fois que vous avez extrait l'ISO liveCD, prenez l'initrd de casper/initrd.lz
, et:
lzma -dc -S .lz /mnt/casper/initrd.lz | cpio -id
etc/casper.conf
.dans le même fichier, décommentez la variable "saveur".
Notez qu'il n'est pas nécessaire de modifier le nom d'utilisateur et les valeurs par défaut dans scripts/casper
. Vous pouvez être confus comme je l'étais, mais il n'y a aucune raison pour que ceux-ci soient là. (pourquoi vraiment?)
retournez au dossier racine initrd et recréez le fichier initrd en tant que find . | cpio --quiet --dereference -o -H newc | lzma -7 > ~/new-initrd.lz
MODIFIER:
--dereference
à l'étape 5 ci-dessus ne doit pas être utilisé dans les versions plus récentes (> = 17.04) de * ubuntu.
Maintenant, remplacez l’autre initrd.lz sous extracted-iso/casper/
et vous devriez pouvoir vous connecter avec le nom d’utilisateur que vous avez choisi.
Désolé d’avoir énoncé une évidence, mais votre problème initial était qu’une clé USB active est trop lente pour vous. Vous essayez donc de réaliser cela grâce à une solution logicielle qui est facilement résolue grâce à une autre solution matérielle ...
Il suffit d'acheter une clé USB SLC , d'installer Ubuntu là-bas, de modifier le processus de démarrage en fonction de vos besoins et vous avez terminé! 15 minutes? 20 ???
Une clé USB 3.0 SLC est essentiellement un disque dur SSD sur une clé. Elles sont environ 2 à 3 fois plus chères qu'une clé USB normale, mais elles sont également 4 à 8 fois plus rapides (pour la même vitesse USB) et durent 4 à 8 fois plus longtemps ...
Le seul inconvénient que je peux voir est que vous ne pouvez pas vous attendre à entrer dans un petit magasin et à vous attendre à ce qu'il soit en stock!
Démarrez le lecteur, puis accédez aux comptes d'utilisateurs (ou utilisateurs et groupes) et ajoutez-vous en tant qu'utilisateur, utilisé auparavant, cela supprimerait également l'utilisateur Ubuntu. Le lecteur doit avoir une installation persistante. Il peut y avoir un problème d'arrêt.
Si vous préférez la méthode edit filesystem.squashfs, il est probablement plus simple de l'éditer lors du démarrage à partir d'un Live DVD ou d'un deuxième Live USB.
Si vous avez besoin de l'éditer pendant que vous démarrez à partir du lecteur cible, accédez au système de fichiers/cdrom/casper/filesystem.squashfs pour une clé USB active.
Si vous démarrez le fichier ISO à l'aide de grub2, accédez au système de fichiers/isofile/(emplacement de l'iso), ouvrez l'ISO avec Archive Manager et modifiez le système de fichiers.squashfs que vous y trouverez.
Je confirme, ça marche pour moi
Pour changer le nom d'utilisateur:
new-initrd/etc/casper.conf
Pour changer d'utilisateur:
new-initrd/scripts/casper-bottom/25adduser
En savoir plus sur la personnalisation de l'image initrd: https://wiki.ubuntu.com/CustomizeLiveInitrd
(Veillez à supprimer le fichier .disk/info sur votre lecteur USB car il peut annuler vos paramètres.)
Sébastien