Crmgo Blog

OpenWRT na USB

OpenWRT na USB

Ažurirajte listu paketa i izvršite instalaciju potrebnih modula za podršku USB uređajima i ext4 fajl sistemu: Ne treba obratiti pažnju na poruku o grešci koja se javlja tokom instalacije paketa kmod-usb-storage (Barrier Breaker 14.07). Zapravo, modul se uspešno instalira.…

OpenWRT na USB

Ažurirajte listu paketa i instalirajte potrebne module za podršku USB uređajima i ext4 datotečnom sistemu:

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install block-mount kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-storage kmod-fs-ext4

Nemojte obraćati pažnju na poruku o grešci koja se javlja tokom instalacije paketa kmod-usb-storage (Barrier Breaker 14.07). Zapravo, modul se uspešno instalira.

kmod: failed to insert /lib/modules/3.10.49/sd_mod.ko

Restartujte ruter:

root@OpenWrt:~# reboot

Povežite USB uređaj i proverite kako ga je sistem prepoznao (trebalo bi da ga detektuje). U mom slučaju, komanda dmesg je prikazala sledeće:

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
...

Ako je sistem prepoznao uređaj i sve njegove particije, uredite fajl /etc/config/fstab navodeći tačke montaže.

Umesto imena particija „sdxx“ u fajlu fstab koristite UUID identifikatore, jer su oni jedinstveni. Ako priključite još jedan (ili više) uređaja, ne postoji garancija da će ruter dodeliti odgovarajuće ime USB uređaju. Stoga, umesto imena uređaja „device“, navedite jedinstveni identifikator particije „uuid“.

Identifikatore particija možete saznati izvršavanjem komande block detect, a zatim uneti odgovarajuće izmene u fstab. Ako se sistem instalira ispočetka, bolje je automatski generisati fstab:

root@OpenWrt:~# block detect >> /etc/config/fstab

Proverite šta je dobijeno:

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

Unesite izmene u fajl /etc/config/fstab. Parametre particije sda3, koja je kreirana za NAS, privremeno komentarišite ili obrišite (podešavanje NAS-a ćemo obaviti kasnije):

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'

Ako su parametri tačaka montaže očigledni, želeo bih da se detaljnije zadržim na parametrima globalne sekcije:

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 в случае "горячего" подключения устройства

Kreirajte privremeni direktorijum /mnt/sda2 (za prenos sistema koji se nalazi u unutrašnjoj memoriji rutera) i montirajte particiju USB uređaja u njega.

root@OpenWrt:~# mkdir /mnt/sda2 
root@OpenWrt:~# mount /dev/sda2 /mnt/sda2

Kopirajte particiju /overlay sa unutrašnje memorije rutera na particiju koja se nalazi na USB uređaju. Operacija kopiranja se vrši uz očuvanje svih dozvola.

root@OpenWrt:~# tar -C /overlay -cf - . | tar -C /mnt/sda2 -xf -

Sada možete odmontirati particiju i obrisati privremeni direktorijum:

root@OpenWrt:~# umount /mnt/sda2
root@OpenWrt:~# rm -rf /mnt/sda2

Restartujte ruter:

root@OpenWrt:~# reboot

Ako je sve urađeno ispravno, ruter bi trebalo da se pokrene sa USB uređaja. Ako se ruter ne pokreće: isključite USB uređaj, pokrenite sistem sa unutrašnjeg /overlay, ponovo priključite USB uređaj, montirajte particije i proverite fstab (ponekad — više puta … ovo pomaže :)) Provereno na sopstvenom iskustvu!

Napomena: tekst može biti uz pomoć AI uz ljudsku proveru. Odgovoran: Dmytro Lomaka, Kaltenkirchen.