LiLi posséde un algorithme intelligent et adaptatif pour reconnaitre les fichiers ISO.
Les fichiers .IMG ne nécessite aucun traitement. LiLi ne fait qu'écrire bits par bits le fichier sur la clé.
En revanche, les fichiers ISO nécessite un traitement particulier en fonction du type de Linux qu'ils contiennent. Chaque Linux étant différent, il n'existe pas de méthode universelle pour les reconnaitre.
Tout d'abord LiLi va vérifier que le nom de fichier ne contient aucun des mots clés de la liste noire. La liste noire est une liste de mots clés d'ISO qui sont connus pour ne pas pouvoir marcher avec LiLi comme par exemple les version alternate d'Ubuntu ne contenant pas de système Live.
Si le nom de fichier ne contient pas de mot clé de la liste noire alors elle commence le traitement.
L'étape suivante est le calcul du hash MD5 du fichier. Le hash est comme une signature unique qui permet de reconnaitre un fichier quelque soit son nom. Seules les données qu'il contient servent à générer la signature.
- nom de fichier dans la liste et même hash => ISO compatible et valide
- nom de fichier dans la liste et hash pas le même => ISO compatible mais corrompu ou modifié
- nom de fichier pas dans la liste mais hash dans la liste => fichier renommé mais compatible et valide
- nom de fichier pas dans la liste et hasn non plus => on passe on traitement intelligent
La liste de compatibility se présente sous la forme d'un fichier (tools\settings\compatibility_list.ini)
Le traitement intelligent va chercher des mots clés pour installer l'ISO avec les bon paramètres. Voici les mots clés :
- "ubuntu","9.10" ou "karmic" => Ubuntu 9.10
- "netbook-remix" => Ubuntu 9.10 Netbook remix
- "F10" ou "F11" => Fedora
- "gparted" => gParted Live
- ....
La liste est non exhaustive.
Si malgré tout cela, l'ISO n'a pas été reconnu il sera installé en utilisant le mode par défaut. Le mode par défaut marche avec la plupart des Linux du moment qu'il utilisent syslinux ou isolinux pour le booter. Les ISO utilisant uniquement GRUB ne sont pour l'instant pas supporté.







