Dans "Démarrage USB avec création de partition Raspberry Pi 4 modèle B (2)", créez une partition de base sur le stockage de masse USB et formatez-la avec ext4. J'ai copié le système d'exploitation Raspberry Pi tel quel. À propos, la plupart des distributions Linux pour x86 vous permettent de choisir LVM lors de l'installation. Il est possible d'utiliser LVM avec Raspberry Pi 4. Vous pouvez également utiliser LVM sur la partition racine. Cependant, vous devez utiliser initramfs pour le démarrer.
Jusqu'à la dernière fois (bien que non spécifié), l'installation sur le stockage de masse USB a été effectuée sur un PC, mais comme initramfs ne peut pas être créé avec cette méthode, cette fois nous travaillerons à partir du système d'exploitation Raspberry Pi installé sur microSD. Faire.
Notez que le périphérique cible passera de / dev / sdb
à dev / sda
.
L'endroit pour créer une partition est le même que la dernière fois.
$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
:
Number Start (sector) End (sector) Size Code Name
1 2048 526335 256.0 MiB 0700
2 526336 5860533134 2.7 TiB 8300
Créez un LVM sur la deuxième partition. Le nom est «pi-vg», mais vous pouvez utiliser n'importe quel autre nom.
#Créer un volume physique LVM
$ sudo pvcreate /dev/sda2
#Groupe de volumes pi-Créer vg
$ sudo vgcreate pi-vg /dev/sda2
#Créer un volume logique
#La capacité du stockage de masse USB utilisé cette fois est de 3 To.
#En supposant que 8 Go seront alloués au swap/La capacité est calculée à partir de la capacité totale
$ sudo lvcreate --size 2786G --name root pi-vg
$ sudo lvcreate -l 100%FREE --name swap pi-vg
#Vérifiez l'état actuel du disque dur
$ lsblk /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2.7T 0 disk
├─sda1 8:1 0 256M 0 part
└─sda2 8:2 0 2.7T 0 part
├─pi--vg-root 254:0 0 2.7T 0 lvm
└─pi--vg-swap 254:1 0 8.3G 0 lvm
Le stockage de masse USB utilisé était un disque dur, j'ai donc créé une partition de swap car je n'ai pas à m'inquiéter de la détérioration de l'appareil due à l'écriture de données. Pour décider de la taille du swap, je me suis référé aux informations suivantes et j'ai obtenu presque la même capacité que la mémoire.
Formatez le démarrage, la racine et le swap créés.
$ sudo mkfs -t vfat /dev/sda1
$ sudo mkfs -t ext4 /dev/pi-vg/root
$ sudo mkswap /dev/pi-vg/swap
Si vous faites quelque chose comme ça, vous pouvez copier de la même manière qu'avant, mais ici nous allons enregistrer ce temps et copier à partir de la microSD utilisée pour le démarrage.
$ mkdir /tmp/root
$ sudo mount /dev/pi-vg/root /tmp/root/
#Devtmpfs qui n'est pas un vrai système de fichiers, sysfs, proc, tmpfs,démarrage et
#perdu créé au format ext4+Copier les répertoires autres que ceux trouvés
$ cd /
$ sudo cp -a bin etc home lib media mnt opt root sbin srv tmp usr var /tmp/root/
$ cd /tmp/root/
$ sudo mkdir dev sys proc run boot tmp
#La partition de démarrage est utilisée pour créer les initramfs décrits ci-dessous./tmp/Monter sous la racine
$ sudo mount /dev/sda1 /tmp/root/boot/
$ sudo cp -a /boot/* /tmp/root/boot/
Mettez à jour cmdline.txt
et fstab
.
Spécifiez les options pour initramfs ainsi que les informations de partition.
# root=À/dev/pi-vg/Spécifiez la racine
#initrd pour utiliser initramfs=Ajouter 0x01f00000
#S'il ne démarre pas, vous pouvez supprimer silencieux pour afficher un message en cours d'exécution à l'écran pour aider à identifier la cause.
#L'option break est également utile pour le débogage. Pour plus d'informations initramfs-tools(7)Voir
$ cat /tmp/root/boot/cmdline.txt
console=serial0,115200 console=tty1 root=/dev/pi-vg/root initrd=0x01f00000 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
#Comme précédemment, vérifiez le PARTUUID de la partition de démarrage avec la commande blkid et spécifiez-le.
#Dans le cas d'un SSD, pour éviter la détérioration de l'appareil/dev/pi-vg/valeurs par défaut de la racine"defaults,noatime"Spécifier
$ cat /tmp/root/etc/fstab
proc /proc proc defaults 0 0
PARTUUID=09468d30-111e-4028-8f37-16f65e497c25 /boot vfat defaults 0 2
/dev/pi-vg/root / ext4 defaults 0 1
/dev/pi-vg/swap none swap sw 0 0
initramfs
Créez ʻinitrd.gz` dans la partition de démarrage et utilisez-le au moment du démarrage.
# /tmp/Différents répertoires pour que les commandes puissent être exécutées sous root/tmp/Monter sous la racine
$ sudo mount --bind /sys /tmp/root/sys
$ sudo mount --bind /proc /tmp/root/proc
$ sudo mount --bind /dev /tmp/root/dev
# /tmp/root/initrd pour démarrer.Créer gz
$ sudo chroot /tmp/root/ apt install lvm2
$ sudo chroot /tmp/root/ mkinitramfs -o /boot/initrd.gz
# boot/config.En txt"initramfs initrd.img followkernel"Ajouter
$ cat /tmp/root/boot/config.txt
:
initramfs initrd.gz 0x01f00000
Au début, j'ai mentionné que je ne peux pas créer d'initramfs lorsque je travaille sur un PC, car ʻapt install lvm2` ici ne fonctionne pas. Après avoir installé le paquet lvm2, le processus de création d'initramfs s'exécute, mais il semble que la cause soit que la version correcte du noyau ne peut pas être obtenue pour le moment (vérifiez-la car je n'ai pas suivi les détails).
##Nettoyer
$ sudo umount /tmp/root/sys /tmp/root/proc /tmp/root/dev
$ sudo umount /tmp/root/boot
$ sudo umount /tmp/root
Ceci termine l'installation. Vous pouvez démarrer à partir du stockage de masse USB en arrêtant le système d'exploitation Raspberry Pi, en débranchant la microSD, puis en l'allumant.
Puisqu'il y a plusieurs étapes, j'ai créé un installateur.
https://github.com/nowlinuxing/rpi4-installer
Recommended Posts