Cette réponse parle des manifestes ISO - un exemple est ici. .
Est-il possible de créer une image ISO à partir d'un fichier manifeste, ou le fichier manifeste est-il simplement
dpkg --get-selections
placé dans un fichier texte?
Connexes, sorta:
Cette réponse parle des manifestes ISO - un exemple est ici. .
Est-il possible de créer une image ISO à partir d'un fichier manifeste, ou le fichier manifeste est-il simplement
dpkg --get-selections
placé dans un fichier texte?
Connexes, sorta:
Le système de fichiers.manifest est généré avec la commande:
dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest
La syntaxe est donc package_name version
, Exemple:
xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1
Le format de dpkg --get-selections
est légèrement différent,package_name install
Exemple
xserver-xorg-video-nouveau install
Vous pouvez donc utiliser le fichier, probablement plus d'une façon,
apt-get install -y $(awk '{print $1}' filesystem.manifest)
Pour être honnête, après avoir fait quelques iso personnalisés au fil des ans, il y a une courbe d'apprentissage à la façon dont cela fonctionne. Une fois que vous comprenez certaines choses, ce n'est pas trop difficile, c'est juste que les connaissances requises sont modérément vastes et qu'il n'y a pas de source unique et à jour d'informations.
Vous utilisez 2 répertoires de construction
~/custom - build directory for the iso
~/rootfs - build directory for the root file system.
personnalisé - ce répertoire contient tous les fichiers qui iront sur l'iso finale. Il contient le système de fichiers racine, un noyau, un initramfs et isolinux.
rootfs - ce répertoire contient le système de fichiers du CD live et vous compressez ce répertoire (à l'aide de mksquashfs) et l'incluez sur le CD. Vous pouvez soit le construire avec debootstrap (live D à partir de zéro), soit extraire le système de fichiers depuis ubuntu-desktop.iso (personnaliser un CD live). Voir les liens wiki ubuntu ci-dessous pour plus de détails.
1) Comprendre mksquashfs - vous utilisez mksquashfs pour compresser le système de fichiers racine encasper/filesystem.squashfs
sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs
2) Comprendre isolinux - cela rend l'iso amorçable, ainsi que le menu de votre CD (démarrage). Voir Arch Linux Wiki syslinux .
Vous pouvez utiliser grub2 comme alternative à isolinux, mais vous devrez alors comprendre comment fonctionne grub2;). La plupart des CD live utilisent encore isolinux.
3) Comment faire un initramfs. Initramfs est un deuxième système de fichiers, utilisé pour démarrer. Souvent, lorsque vous rencontrez un problème (l'image de démarrage personnalisée ne fonctionne pas, les modules du noyau ne se chargent pas) et que vous ne pouvez pas comprendre pourquoi en regardant votre système de fichiers racine, la réponse est très probablement dans les initramfs.
#extract to a working_directory , I use ~/initrd
cd ~/initrd
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames
# Make your edits / adjustments
# Package
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../custom.initrd.lz
Vous déplacez ensuite votre nouveau initrd.lz vers votre répertoire de construction personnalisé, custom/casper/initrd.lz
4) casper. Casper et les scripts casper sont situés à 3 endroits, et les 3 peuvent jouer un rôle. Ce sont tous des scripts bash, et à un moment donné, vous voudrez certainement les parcourir.
Un hôte - /usr/share/initramfs-tools/scripts/casper
Système de fichiers racine - personnalisé / usr / share / initramfs-tools / scripts / casper
C. dans les initramfs - Voir le répertoire / scripts.
Voir Ubuntu man casper
5) Vous effectuez des personnalisations de l'interface utilisateur / des applications dans /usr/share
, /usr/share/gnome*
par exemple, les emplacements exacts varient selon la version, /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
est un classique et assez standard entre les versions.
6) Si vous ne pouvez pas faire de personnalisations dans /usr/share/
, utilisez /etc/skel
, voici /etc/skel/.bashrc
un classique, ce fichier est copié dans ~ / .bashrc. Vous pouvez y placer divers fichiers de confg, pour firefox ou gnome ou autre, mais / usr / share est mieux si possible (varie selon le réglage).
7) mkisofs - vous utilisez mkisofs pour convertir votre répertoire de construction en iso
cd ~/custom
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-custom.iso .
8) Persistance. Vous pouvez utiliser la persistance avec de nombreux CD live, y compris le cd ubuntu-desktop et un cd personnalisé, ceci est implémenté par casper.
A. root - casper montera une partition ou un fichier étiqueté casper-rw
comme une superposition de vache sur /. Si vous installez ensuite un package ou modifiez un fichier de configuration, les modifications persisteront lors d'un redémarrage.
Utilisez-le avec parcimonie. Si vous mettez à jour tous les packages, cela prendra beaucoup d'espace. Je trouve également que cette méthode est parfois boguée.
B. Accueil - casper montera une partition ou un fichier étiqueté aas home-rw
comme une superposition de vache sur / home.
Je préfère cela car mes signets Firefox et mes données privées seront conservés sur toutes les bottes et je les trouve plus fiables.
Accueil persistant (changer pour casper-rw pour un persistant /)
# this is a 1 Gb file, increase or decrease the count to make it larger or smaller
dd if=/dev/zero of=home-rw bs=1M count=1000
# make a file system
mkfs.ext4 home-rw
mke2fs 1.41.14 (22-Dec-2010)
home-rw is not a block special device.
Proceed anyway? (y,n) y <-- ANSWER 'y' here
#tune the file system to remove reserved blocks and label it 'home-rw'
tune2fs -m 0 -L home-rw home-rw
Mettez home-rw
dans / (dans le répertoire racine d'une partition) ou sur un lecteur flash (pas dans un sous-répertoire).
Lorsque vous démarrez le CD live, appuyez sur la F6touche, eux Esc, ajoutez l'option persistent
aux paramètres de démarrage, devant le '-'
quiet splash persistent --
Les scripts de démarrage casper trouveront alors automatiquement un montage.
Voir Ubuntu wiki Persistence - La page wiki ubuntu ne traite que de casper-rw, mais home-rw est référencé dans les scripts casper et fonctionne de la même manière, seul le nom a été changé.
Voir cet article sur les forums Ubuntu pour une capture d'écran (mais avec différentes options).
C. Vous pouvez activer la persistance avec plusieurs des outils graphiques, unetbootin par exemple. Les outils graphiques (pour autant que je sache) utilisent casper-rw
.
OK, maintenant une fois que vous comprenez tout cela, ces deux pages commenceront à avoir plus de sens
Ubuntu wiki live cd à partir de zéro
Ubuntu wiki personnaliser le CD live
Vous aurez besoin de google. Vous trouverez des fragments de conseils partout sur Internet.
Exemple: comment changer l'écran de démarrage de Live CD
Maintenant que vous comprenez tout cela, utilisez les scripts Debian Live . Ne vous laissez pas tromper par le nom, ces scripts fonctionnent très bien sur n'importe quel système .deb, y compris Mint et Ubuntu.
À installer
sudo apt-get install live-build
Il y a une interface graphique
sudo apt-get install live-magic
Comprenez que l'interface graphique en direct peut échouer, tout comme les remastersys et autres interfaces échouent. Dans ce cas, vous revenez aux scripts de construction en direct (live-magic générera un répertoire de construction).
Il faut un certain temps pour apprendre les scripts de construction en direct et la disposition / structure du répertoire
Voir le Debian Live Manuel Aye, il est long, il suffit de le parcourir un iso à la fois.
L'avantage des scripts de construction en direct, une fois que vous comprenez les composants d'un CD en direct, les scripts automatisent plus de 90% de la construction, et apporter une modification est une simple modification dans un fichier de configuration (généralement) ou parfois la construction d'un initramfs.
Si cela a été trop long pour vous, respirez profondément, détendez-vous et travaillez à travers les informations une partie à la fois. Je vous promets que cela commencera à avoir un certain sens et vous constaterez que le temps en vaut la peine.
Si vous commencez avec un autre ensemble d'outils, revenez à cet ensemble d'outils et après quelques iso vous apprécierez cet ensemble d'instructions;)
Ma version 12.04 personnalisée prend en charge le gma500, 2d uniquement (pas de 3d) prêt à l'emploi (rendra l'iso accessible au public à la foule des gma 500 dans les prochains jours).