Aktualisieren Sie die Paketliste und installieren Sie die erforderlichen Module zur Unterstützung von USB-Speichern und dem ext4-Dateisystem:
root@OpenWrt:~# opkg update root@OpenWrt:~# opkg install block-mount kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-storage kmod-fs-ext4
Ignorieren Sie die Fehlermeldung, die während der Installation des Pakets kmod-usb-storage (Barrier Breaker 14.07) auftritt. Tatsächlich wird das Modul erfolgreich installiert.
kmod: failed to insert /lib/modules/3.10.49/sd_mod.ko
Starten Sie den Router neu:
root@OpenWrt:~# reboot
Verbinden Sie den USB-Speicher und prüfen Sie, wie das System darauf reagiert (es sollte ihn erkennen). In meinem Fall hat der Befehl dmesg Folgendes angezeigt:
root@OpenWrt:~# dmesg ... [ 18.800000] usb-storage 1-1.4:1.0: USB Mass Storage device detected [ 18.810000] scsi0 : usb-storage 1-1.4:1.0 [ 18.810000] usbcore: registered new interface driver usb-storage [ 19.810000] scsi 0:0:0:0: Direct-Access SanDisk Cruzer Fit 1.27 PQ: 0 ANSI: 6 [ 19.820000] sd 0:0:0:0: [sda] 62530624 512-byte logical blocks: (32.0 GB/29.8 GiB) [ 19.830000] sd 0:0:0:0: [sda] Write Protect is off [ 19.830000] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00 [ 19.830000] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 19.850000] sda: sda1 sda2 sda3 [ 19.860000] sd 0:0:0:0: [sda] Attached SCSI removable disk ...
Wenn das System den Speicher und alle seine Partitionen erkannt hat, bearbeiten wir die Datei /etc/config/fstab und geben die Einhängepunkte an.
Anstelle der Partitionsnamen „sdxx“ in der fstab-Datei verwenden Sie die „uuid“-Identifikatoren, da diese eindeutig sind. Wenn Sie weitere (oder sogar mehrere) Speicher anschließen, gibt es keine Garantie, dass der Router dem USB-Speicher den richtigen Namen zuweist. Geben Sie daher anstelle des Partitionsnamens „device“ den eindeutigen Partitionsidentifikator „uuid“ an.
Die Identifikatoren der Partitionen können Sie durch Ausführen des Befehls block detect ermitteln und anschließend die entsprechenden Änderungen in fstab vornehmen. Wenn das System neu installiert wird, ist es besser, die fstab automatisch zu generieren:
root@OpenWrt:~# block detect >> /etc/config/fstab
Überprüfen Sie das Ergebnis:
root@OpenWrt:~# cat /etc/config/fstab config 'global' option anon_swap '0' option anon_mount '0' option auto_swap '1' option auto_mount '1' option delay_root '5' option check_fs '0' config 'swap' option uuid 'b91e3bff-9e15-4fd0-82e7-25d75d889ce6' option enabled '0' config 'mount' option target '/mnt/sda2' option uuid '7ee9d192-239f-4401-b749-3fb60b4f8eaa' option enabled '0' config 'mount' option target '/mnt/sda3' option uuid 'ad0381c6-31b8-4eda-ac21-a87bbd09eef2' option enabled '0
Nehmen Sie Änderungen in der Datei /etc/config/fstab vor. Die Parameter der Partition sda3, die für NAS erstellt wurde, kommentieren wir vorerst aus oder löschen wir (die NAS-Konfiguration erfolgt später):
root@OpenWrt:~# vi /etc/config/fstab config 'global' option anon_swap '0' option anon_mount '1' option auto_swap '1' option auto_mount '1' option delay_root '5' option check_fs '0' option from_fstab '1' config 'swap' option uuid 'b91e3bff-9e15-4fd0-82e7-25d75d889ce6' option enabled '1' config 'mount' option target '/overlay' option uuid '7ee9d192-239f-4401-b749-3fb60b4f8eaa' option fstype 'ext4' option options 'rw,sync' option enabled '1'
Wenn die Parameter der Einhängepunkte offensichtlich sind, möchten wir auf die Parameter des globalen Abschnitts genauer eingehen:
option anon_swap '0' # монтировать своп-раздел, даже если он не описан в fstab option anon_mount '1' # монтировать раздел с данными, даже если он не описан в fstab option auto_swap '1' # автоматически монтировать своп-раздел при его обнаружении option auto_mount '1' # автоматически монтировать раздел с данными при его обнаружении option delay_root '5' # задержка X секунд до попытки монтирования корневого раздела option check_fs '0' # проверять файловую систему при монтировании option from_fstab '1' # читать данные fstab в случае "горячего" подключения устройства
Erstellen Sie ein temporäres Verzeichnis /mnt/sda2 (für die Übertragung des Systems, das sich im internen Speicher des Routers befindet), und hängen Sie die Partition des USB-Speichers dort ein.
root@OpenWrt:~# mkdir /mnt/sda2 root@OpenWrt:~# mount /dev/sda2 /mnt/sda2
Kopieren Sie die Partition /overlay vom internen Speicher des Routers auf die Partition, die sich auf dem USB-Speicher befindet. Der Kopiervorgang erfolgt unter Beibehaltung aller Rechte.
root@OpenWrt:~# tar -C /overlay -cf - . | tar -C /mnt/sda2 -xf -
Nun können Sie die Partition aushängen und das temporäre Verzeichnis löschen:
root@OpenWrt:~# umount /mnt/sda2 root@OpenWrt:~# rm -rf /mnt/sda2
Starten Sie den Router neu:
root@OpenWrt:~# reboot
Wenn alles korrekt durchgeführt wurde, sollte der Router vom USB-Speicher booten. Wenn der Router nicht bootet: Trennen Sie den USB-Speicher, booten Sie mit dem internen /overlay, verbinden Sie den USB-Speicher, hängen Sie die Partitionen ein und überprüfen Sie die fstab (manchmal sogar mehrmals … das hilft :)) Selbst getestet!
