Erstellen Sie unter "USB-Boot mit Raspberry Pi 4 Modell B (2) Partitionserstellung" eine Basispartition auf dem USB-Massenspeicher und formatieren Sie sie mit ext4. Ich habe das Raspberry Pi OS so kopiert, wie es ist. Übrigens können Sie bei den meisten Linux-Distributionen für x86 während der Installation LVM auswählen. Es ist möglich, LVM mit Raspberry Pi 4 zu verwenden. Sie können LVM auch für die Root-Partition verwenden. Sie müssen jedoch initramfs verwenden, um es zu starten.
Bis zum letzten Mal (obwohl nicht angegeben) wurde die Installation auf einem USB-Massenspeicher auf einem PC durchgeführt. Da initramfs jedoch mit dieser Methode nicht erstellt werden kann, arbeiten wir diesmal mit Raspberry Pi OS, das auf microSD installiert ist. Machen. Beachten Sie, dass das Zielgerät von "/ dev / sdb" zu "dev / sda" wechselt.
Der Ort zum Erstellen einer Partition ist derselbe wie beim letzten Mal.
$ 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
Erstellen Sie ein LVM auf der zweiten Partition.
Der Name ist pi-vg
, aber Sie können jeden anderen Namen verwenden.
#Erstellen Sie ein physisches LVM-Volume
$ sudo pvcreate /dev/sda2
#Volumengruppe pi-Erstellen Sie vg
$ sudo vgcreate pi-vg /dev/sda2
#Erstellen Sie ein logisches Volume
#Die Kapazität des diesmal verwendeten USB-Massenspeichers beträgt 3 TB.
#Angenommen, 8 GB werden dem Swap zugewiesen/Die Kapazität wird aus der Gesamtkapazität zurückgerechnet
$ sudo lvcreate --size 2786G --name root pi-vg
$ sudo lvcreate -l 100%FREE --name swap pi-vg
#Überprüfen Sie den aktuellen Festplattenstatus
$ 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
Der verwendete USB-Massenspeicher war eine Festplatte, daher habe ich eine Swap-Partition erstellt, da ich mir keine Sorgen über die Verschlechterung des Geräts durch das Schreiben von Daten machen muss. Bei der Entscheidung über die Größe des Swaps habe ich mich auf die folgenden Informationen bezogen und fast die gleiche Kapazität wie der Speicher gesichert.
Formatieren Sie den erstellten Boot, Root, Swap.
$ sudo mkfs -t vfat /dev/sda1
$ sudo mkfs -t ext4 /dev/pi-vg/root
$ sudo mkswap /dev/pi-vg/swap
Wenn Sie so etwas tun, können Sie auf die gleiche Weise wie zuvor kopieren, aber hier sparen wir diese Zeit und kopieren von der zum Booten verwendeten microSD.
$ mkdir /tmp/root
$ sudo mount /dev/pi-vg/root /tmp/root/
#Devtmpfs, die kein echtes Dateisystem sind, sysfs, proc, tmpfs,booten und
#verloren während ext4-Format erstellt+Kopieren Sie andere als gefundene Verzeichnisse
$ 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
#Die Boot-Partition wird verwendet, um die unten beschriebenen initramfs zu erstellen./tmp/Unter der Wurzel montieren
$ sudo mount /dev/sda1 /tmp/root/boot/
$ sudo cp -a /boot/* /tmp/root/boot/
Aktualisieren Sie "cmdline.txt" und "fstab". Geben Sie Optionen für initramfs sowie Partitionsinformationen an.
# root=Zu/dev/pi-vg/Geben Sie root an
#initrd, um initramfs zu verwenden=Fügen Sie 0x01f00000 hinzu
#Wenn die Stille fehlschlägt, können Sie die Stille entfernen, um eine laufende Meldung auf dem Bildschirm anzuzeigen und die Ursache zu ermitteln.
#Die Unterbrechungsoption ist auch zum Debuggen nützlich. Weitere Informationen initramfs-tools(7)Sehen
$ 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
#Überprüfen Sie nach wie vor die PARTUUID der Boot-Partition mit dem Befehl blkid und geben Sie sie an.
#Im Fall von SSD, um eine Verschlechterung des Geräts zu verhindern/dev/pi-vg/Root-Standardeinstellungen"defaults,noatime"Konkretisieren
$ 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
Erstellen Sie "initrd.gz" in der Boot-Partition und verwenden Sie es beim Booten.
# /tmp/Verschiedene Verzeichnisse, damit Befehle unter root ausgeführt werden können/tmp/Unter der Wurzel montieren
$ sudo mount --bind /sys /tmp/root/sys
$ sudo mount --bind /proc /tmp/root/proc
$ sudo mount --bind /dev /tmp/root/dev
# /tmp/root/initrd zu booten.Erstellen Sie gz
$ sudo chroot /tmp/root/ apt install lvm2
$ sudo chroot /tmp/root/ mkinitramfs -o /boot/initrd.gz
# boot/config.In txt"initramfs initrd.img followkernel"Hinzufügen
$ cat /tmp/root/boot/config.txt
:
initramfs initrd.gz 0x01f00000
Am Anfang habe ich erwähnt, dass ich bei der Arbeit an einem PC keine initramfs erstellen kann, da apt install lvm2
hier nicht funktioniert.
Nach der Installation des lvm2-Pakets wird der Prozess zum Erstellen von initramfs ausgeführt. Es scheint jedoch, dass die Ursache darin besteht, dass derzeit nicht die richtige Kernelversion abgerufen werden kann (überprüfen Sie dies, da ich die Details nicht befolgt habe).
##Aufräumen
$ sudo umount /tmp/root/sys /tmp/root/proc /tmp/root/dev
$ sudo umount /tmp/root/boot
$ sudo umount /tmp/root
Damit ist die Installation abgeschlossen. Sie können vom USB-Massenspeicher booten, indem Sie das Raspberry Pi-Betriebssystem herunterfahren, die microSD ausstecken und dann einschalten.
Da es viele Schritte gibt, habe ich ein Installationsprogramm erstellt.
https://github.com/nowlinuxing/rpi4-installer
Recommended Posts