Vous êtes en quêtes du saint graal, autrement dit, pas là par hasard, je ne ferai donc pas l'amalgame de la persistance.
J'éviterai le blabla autant que possible, toutefois si vous avez des questions, des commentaires et/ou des retours (surtout), n'hésitez pas.
Les .iso que j'ai testé sont issus des dépôts officiels.
http://cdimage.debian.org/debian-cd/cur ... so-hybrid/
http://cdimage.debian.org/debian-cd/cur ... o-hybrid/2
Soit :
Code : Tout sélectionner
[13:23:05]:~$ ls -la /media/telecharge-iso/
total 24K
[...]
debian-live-7.6.0-i386-standard.iso
debian-live-7.6.0-i386-kde-desktop.iso
debian-live-7.6.0-i386-lxde-desktop.iso
debian-live-7.6.0-i386-xfce-desktop+nonfree.iso*
debian-live-7.6.0-i386-xfce-desktop.iso
[...]
[13:23:12]:~$
Entrons dans le vif du sujet.
Ces paquets sont requis.
Code : Tout sélectionner
# aptitude install p7zip-full gparted gksu parted mbr dosfstools syslinux squashfs-tools
Nous aurons besoin de deux partitions primaires.
Code : Tout sélectionner
/dev/sdb1 en fat32
/dev/sdb2 en ext4
Le partitionnement s'effectuera depuis parted.
Bien évidemment , vous adapterez la taille des partitions en fonction de votre clé.
Code : Tout sélectionner
[11:16:55] ~ # parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Verbatim (scsi)
Disk /dev/sdb: 7812MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
(parted) mkpart primary fat32 1 4096M
(parted) print
Model: Verbatim (scsi)
Disk /dev/sdb: 7812MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4096MB 4095MB primary lba
(parted) mkpart primary ext4 4096M 6640M
(parted) print
Model: Verbatim (scsi)
Disk /dev/sdb: 7812MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4096MB 4095MB primary lba
2 4096MB 6640MB 2544MB primary
(parted) mkpart primary linux-swap 6640M 7.28G
(parted) print
Model: Verbatim (scsi)
Disk /dev/sdb: 7812MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4096MB 4095MB primary lba
2 4096MB 6640MB 2544MB primary
3 6640MB 7812MB 1172MB primary
(parted) set 1 boot on
(parted) print
Model: Verbatim (scsi)
Disk /dev/sdb: 7812MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4096MB 4095MB primary boot, lba
2 4096MB 6640MB 2544MB primary
3 6640MB 7812MB 1172MB primary
(parted) quit
Information: You may need to update /etc/fstab.
[11:24:22] ~ #
Sélectionnez > /dev/sdb1 > Gérer les drapeaux et cochez les cases boot et lba.
Code : Tout sélectionner
[11:24:45] ~ # /sbin/mkdosfs -n live /dev/sdb1
mkdosfs 3.0.13 (30 Jun 2012)
[11:24:54] ~ #
Code : Tout sélectionner
[11:24:59] ~ # /sbin/mkfs.ext4 -L persistence /dev/sdb2
mke2fs 1.42.5 (29-Jul-2012)
Étiquette de système de fichiers=persistence
[...]
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912
Allocation des tables de groupe : complété
Écriture des tables d'i-noeuds : complété
Création du journal (16384 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
[11:25:34] ~ #
Code : Tout sélectionner
[11:26:09] ~ # mkswap /dev/sdb3
Setting up swapspace version 1, size = 1144828 KiB
no label, UUID=77258852-f78c-4efa-977d-fe66d445e735
[11:26:26] ~ #
Code : Tout sélectionner
[11:27:16] ~ # parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Verbatim (scsi)
Disk /dev/sdb: 7812MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4096MB 4095MB primary fat32 boot, lba
2 4096MB 6640MB 2544MB primary ext4
3 6640MB 7812MB 1172MB primary linux-swap(v1)
(parted) quit
[11:27:34] ~ #
Code : Tout sélectionner
# mount -t ext4 /dev/sdc6 /media/
Code : Tout sélectionner
# cd /media/
# mkdir -p telecharge-iso/debian-live-7.6.0-i386-kde-desktop.iso/
# mkdir squashfs-live-7.6.0-i386-kde-desktop/
# mkdir -p filesystem-squashfs/live-7.6.0-i386-kde-desktop/
Code : Tout sélectionner
[13:08:54] ~ # ls -la /media/
total 36K
drwx------ 8 loreleil loreleil 4,0K 2014-08-05 16:36 telecharge-iso
drwx------ 5 root root 4,0K 2014-08-04 17:47 filesystem-squashfs
[...]
drwx------ 3 root root 4,0K 2014-08-03 12:31 squashfs-live-7.6.0-i386-lxde-desktop
drwxr-xr-x 21 root root 4,0K 2014-07-23 21:32 squashfs-live-7.6.0-i386-xfce-desktop+nonfree
drwxr-xr-x 21 root root 4,0K 2014-07-23 19:21 squashfs-live-7.6.0-i386-kde-desktop
drwxr-xr-x 21 root root 4,0K 2014-07-23 18:54 squashfs-live-7.6.0-i386-standard
[13:09:07] ~ #
Code : Tout sélectionner
# mkdir /mnt/live
# mkdir /mnt/persistence
Code : Tout sélectionner
[13:37:28] ~ # mount /dev/sdb1 /mnt/live
[13:37:35] ~ # mount /dev/sdb2 /mnt/persistence
Code : Tout sélectionner
[13:37:42] ~ # cd /mnt/live
[13:37:48] /mnt/live #
[13:38:00] /mnt/live # 7z x /media/telecharge-iso/debian-live-7.6.0-i386-kde-desktop.iso/debian-live-7.6.0-i386-kde-desktop.iso
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=fr_FR.UTF-8,Utf16=on,HugeFiles=on,1 CPU)
Processing archive: /media/telecharge-iso/debian-live-7.6.0-i386-kde-desktop.iso/debian-live-7.6.0-i386-kde-desktop.iso
Extracting .disk
[...]
Everything is Ok
Folders: 247
Files: 421
Size: 1375292726
Compressed: 1378910208
[13:45:07] /mnt/live #
N'oubliez pas la tabulation avant le paramètre append ...
Code : Tout sélectionner
[13:46:49] /mnt/live # nano -c isolinux/live.cfg
Code : Tout sélectionner
[13:49:19] /mnt/live # cat isolinux/live.cfg
label live-486
menu label ^Live (486)
menu default
linux /live/vmlinuz1
initrd /live/initrd1.img
# append boot=live config quiet splash
append boot=live persistence noeject config quiet splash locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-variants=latin9 timezone=Europe/Paris
label live-486-failsafe
menu label ^Live (486 failsafe)
linux /live/vmlinuz1
initrd /live/initrd1.img
append boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
label live-686-pae
menu label ^Live (686-pae)
linux /live/vmlinuz2
initrd /live/initrd2.img
# append boot=live config quiet splash
append boot=live persistence noeject config quiet splash locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-variants=latin9 timezone=Europe/Paris
label live-686-pae-failsafe
menu label ^Live (686-pae failsafe)
linux /live/vmlinuz2
initrd /live/initrd2.img
append boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
[13:49:31] /mnt/live #
Code : Tout sélectionner
[13:50:01] /mnt/live # nano -c isolinux/isolinux.cfg
Code : Tout sélectionner
[13:50:43] /mnt/live # cat isolinux/isolinux.cfg
include menu.cfg
default vesamenu.c32
prompt 0
timeout 290
[13:50:53] /mnt/live #
Code : Tout sélectionner
[13:56:52] /mnt/live # mount -t squashfs -o loop live/filesystem.squashfs /home/loreleil/prépa_squashfs-live-7.6.0-i386-lxde-desktop/
mount: warning: /home/loreleil/prépa_squashfs-live-7.6.0-i386-lxde-desktop/ seems to be mounted read-only.
[13:57:07] /mnt/live #
Code : Tout sélectionner
[14:06:11] /mnt/live # cp -a /home/loreleil/prépa_squashfs-live-7.6.0-i386-lxde-desktop/. /media/squashfs-live-7.6.0-i386-kde-desktop/
[14:19:42] /mnt/live #
Ceci dans le but de le reconstruire après avoir corrigé un bug réseau et porter quelques petites modifications personnels.
Code : Tout sélectionner
[14:22:28] /mnt/live # ls -la live/filesystem.squashfs
-rwxr-xr-x 1 root root 1187889152 juil. 23 19:30 live/filesystem.squashfs
[14:22:33] /mnt/live #
Code : Tout sélectionner
[14:22:38] /mnt/live # rm -i live/filesystem.squashfs
rm : supprimer fichier « live/filesystem.squashfs » ? y
[14:22:52] /mnt/live #
Bug, que vous ne rencontrerez pas lors du premier boot de votre live-USB.
Un démarrage sur une autre machine et votre accès au réseau sera Hors Service, suite à ce dernier.
Code : Tout sélectionner
[14:27:58] /mnt/live # mount --bind /dev /media/squashfs-live-7.6.0-i386-kde-desktop/dev
[14:28:31] /mnt/live # mount --bind /dev/pts /media/squashfs-live-7.6.0-i386-kde-desktop/dev/pts
[14:28:38] /mnt/live # mount --bind /dev/shm /media/squashfs-live-7.6.0-i386-kde-desktop/dev/shm
[14:28:46] /mnt/live # mount --bind /sys /media/squashfs-live-7.6.0-i386-kde-desktop/sys
[14:28:53] /mnt/live # mount --bind /run /media/squashfs-live-7.6.0-i386-kde-desktop/run
[14:29:00] /mnt/live # mount -t proc /proc /media/squashfs-live-7.6.0-i386-kde-desktop/proc
Code : Tout sélectionner
[14:29:13] /mnt/live # chroot /media/squashfs-live-7.6.0-i386-kde-desktop/
root@pc-2-loreleil:/#
root@pc-2-loreleil:/# ls -l /lib/live/boot
total 144
[...]
-rwxr-xr-x 1 root root 4562 Feb 14 2013 9990-networking.sh
[...]
root@pc-2-loreleil:/#
Une fois de plus, respectez les tabulations.
Code : Tout sélectionner
# root@pc-2-loreleil:~# nano -c /lib/live/boot/9990-networking.sh
Notes : ci-dessous, des modif perso.
Code : Tout sélectionner
root@pc-2-loreleil:~# nano -c /etc/ssh/sshd_config
root@pc-2-loreleil:~# nano -c /etc/apt/sources.list
root@pc-2-loreleil:~# nano -c /etc/apt/apt.conf
En effet, la prise en compte des [mono]locales[/mono] nécessitent un premier démarrage.
Certes des erreurs non bloquantes, mais tant qu'a faire ...
Démontez et quittez proprement le chroot.
Code : Tout sélectionner
root@pc-2-loreleil:~# mount
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=175443,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=141616k,mode=755)
/proc on /proc type proc (rw,relatime)
root@pc-2-loreleil:~#
Code : Tout sélectionner
root@pc-2-loreleil:~# umount /proc
root@pc-2-loreleil:~# umount /run
root@pc-2-loreleil:~# umount /sys
root@pc-2-loreleil:~# umount /dev/pts
root@pc-2-loreleil:~# umount /dev
Code : Tout sélectionner
root@pc-2-loreleil:~# exit
exit
[14:42:34] /mnt/live #
Code : Tout sélectionner
[14:47:43] /mnt/live # cd /media/squashfs-live-7.6.0-i386-kde-desktop/
[14:47:49] /media/squashfs-live-7.6.0-i386-kde-desktop #
Vous pouvez le reconstruire directement en /mnt/live/live/.
Il vous suffira de modifier le répertoire de destination comme ceci : # mksquashfs . /mnt/live/live/filesystem.squashfs
Note : vous avez la possibilité de rendre mksquashfs plus bavard, avec l'option -info (.../filesystem.squashfs -info), par curiosité ?
Code : Tout sélectionner
[14:50:07] /media/squashfs-live-7.6.0-i386-kde-desktop # mksquashfs . /media/filesystem-squashfs/live-7.6.0-i386-kde-desktop/filesystem.squashfs
Parallel mksquashfs: Using 1 processor
Creating 4.0 filesystem on /media/filesystem-squashfs/live-7.6.0-i386-kde-desktop/filesystem.squashfs, block size 131072.
[========== [...] ====================\] 108973/108973 100%
Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
[...]
Number of gids 25
[...]
haldaemon (114)
staff (50)
libuuid (101)
[15:34:31] /media/squashfs-live-7.6.0-i386-kde-desktop #
Code : Tout sélectionner
[15:35:02] ~ # cp -a /media/filesystem-squashfs/live-7.6.0-i386-kde-desktop/filesystem.squashfs /mnt/live/live/
Code : Tout sélectionner
[15:38:39] ~ # chmod 755 /mnt/live/live/filesystem.squashfs
Code : Tout sélectionner
[15:39:01] /media/squashfs-live-7.6.0-i386-kde-desktop # cd -
/mnt/live
[15:39:05] /mnt/live #
Code : Tout sélectionner
[15:39:06] /mnt/live # /sbin/install-mbr /dev/sdb
[15:39:10] /mnt/live # syslinux -i /dev/sdb1
[15:39:17] /mnt/live # mv isolinux syslinux
[15:39:23] /mnt/live # mv syslinux/isolinux.cfg syslinux/syslinux.cfg
[15:39:31] /mnt/live # mv syslinux/isolinux.bin syslinux/syslinux.bin
Code : Tout sélectionner
[15:40:38] /mnt/live # cd /mnt/persistence/
[15:40:45] /mnt/persistence #
[15:40:47] /mnt/persistence # echo / union > persistence.conf
[15:40:54] /mnt/persistence #
Code : Tout sélectionner
[15:45:14] /mnt/persistence # umount /home/loreleil/prépa_squashfs-live-7.6.0-i386-lxde-desktop
[15:45:22] /mnt/persistence # umount /media
[15:45:44] /mnt/persistence # cd
[15:45:47] ~ # umount /mnt/persistence
[15:45:58] ~ # umount /mnt/live
[15:46:04] ~ #
Pour info, celui de l'utilisateur : user est live.
La première chose à faire (à mon avis ... :033 ) et de changer celui-ci et d'en attribuer un à root.
Code : Tout sélectionner
user@debian ~:$ sudo -s
root@debian # passwd <user>
root@debian # passwd
root@debian # su - <user>
Code : Tout sélectionner
user@debian ~:$ ping -c3 google.fr
Code : Tout sélectionner
user@debian ~:$ su -
root@debian # aptitude update && aptitude upgrade