Gargoyle - Sposoby montowania nośników
Przywrócenie montownia nośników w sposób zgodny z OpenWrtOstatnia zmiana: 2013-06-11 20:26
1. Przywrócenie standardowego sposobu montowania
2. extroot
3. Integracja extroota z pakietem plugin-gargoyle-usb-storage (konfiguracja ręczna)
4. Tworzenie extroota z poziomu interfejsu użytkownika
Gargoyle ma własny mechanizm montowania dysków (zawarty w pakiecie plugin-gargoyle-usb-storage), który automatycznie montuje znalezione nośniki w katalogu /tmp/usb_mount/. Nie w każdym przypadku odpowiada to użytkownikom, którzy chcieli by mieć pełniejszą kontrolę nad miejscem montowania czy innymi parametrami tego procesu. Można bezproblemowo wrócić do sposobu montowania nośników który jest standardem w OpenWrt - z wykorzystaniem pakietu block-mount i pliku /etc/config/fstab. Poniższe dane są prawdziwe dla wydań Gargoyle o numerach 1.5.7 i późniejszych (bazujących na OpenWrt Attitude Adjustment).
Mamy do wyboru albo całkowitą rezygnację z mechanizmów stosowanych w Gargoyle i przywrócenie standardowego sposobu montowania nośników (omawia tu punkt pierwszy), mamy możliwość także zrobienia extroota (punt drugi) lub integracji extroota z istniejącym rozwiązaniem stosowanym w Gargoyle (punkt trzeci). Należy wybrać jeden z tych sposobów.
Przywrócenie standardowego sposobu montowania
Podstawowym działaniem jest odinstalowanie pakietu plugin-gargoyle-usb-storage. Stracimy w ten sposób możliwość konfigurowania udostępniania zasobów przez sambę, ftp i nfs z poziomu GUI, ale jeżeli zostawimy go to będzie niepotrzebnie ponownie rywalizował w montowaniu partycji w systemie, co czasami może przynieść niepożądane efekty.
# opkg remove plugin-gargoyle-usb-storage
# uci del gargoyle.display.system_usb_storage
# uci del gargoyle.scripts.system_usb_storage
# uci del gargoyle.system.usb_storage
# uci commit gargoyle
Instalujemy pakiet block-mount i koniecznie włączamy montowanie na starcie systemu
# opkg update
# opkg install block-mount
# /etc/init.d/fstab enable
# uci set fstab.automount.anon_mount=1
# uci commit
extroot
Wymaga tak samo instalacji pakietu block-mount. Konfiguracja standardowo w pliku /etc/config/fstab, opisana jest w tym dokumencie. Jeżeli mamy pendrive z systemem plików ext4 to sekcja konfiguracyjna może wyglądać następująco:
config mount
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,noatime
option enabled 1
UWAGA: Pakiety samba36-server, vsftpd i nfs-kernel-server w Gargoyle są zmodyfikowane do współpracy z pakietem plugin-gargoyle-usb-storage i konfiguruje się je przez uci. Aby odzyskać normalną funkcjonalność pakietów, należy je po prostu ponownie zainstalować z repozytorium OpenWrt (nie Gargoyle!).
Integracja extroota z pakietem plugin-gargoyle-usb-storage (konfiguracja ręczna)
Najczęściej jednak oczekiwane jest zrobienie extroota wraz zachowaniem możliwości konfigurowania usług przy pomocy gui. Możliwe jest to do wykonania, mając pod uwagę kilka ograniczeń:- partycja systemowa (na której jest system plików - extroot) nie będzie widoczna dla pluginu gargoyle usb-storage, czyli tym samym nie da się udostępnić z niej danych. Dane muszą być na innym dysku lub innej partycji
- montowanie dodatkowych dysków lub partycji wykonywane jest przez plugin-gargoyle-usb-storage. fstab będzie służył tylko i wyłącznie do wykonania extroota
- usługi które zastaną zainstalowane ręcznie na extroocie (np. minidlna) i odwołują się partycji innych dysków (nie extroota) muszą uruchamiać się z opóźnieniem aby widziały dysk. Dyski montowane są przez procesy pluginu mogą być dostępne dopiero po kilku sekundach po starcie systemu, więc wszystkie usługi przed korzystaniem z dysku muszą poczekać na jego dostępność.
- zainstalować pakiety block-mount (jeżeli nie ma go jeszcze w systemie)
# opkg update
# opkg install block-mount
- wyłączyć automatyczne montowania nośników przez hotplug w block-mount
# uci set fstab.automount.anon_mount=0
# uci commit fstab
- zrobić extroota - przytoczony dokument opisuje ten proces. Jeżeli mamy pendrive z systemem plików ext4 to sprowadza się to poleceń:
# uci set fstab.@mount[0].target=/overlay
# uci set fstab.@mount[0].uuid=<uuid_partycji>
# uci set fstab.@mount[0].fstype=ext4
# uci set fstab.@mount[0].options=rw,noatime
# uci set fstab.@mount[0].enabled=1
# uci commit fstab
- uruchomić fstaba
# /etc/init.d/fstab enable
Tworzenie extroota z poziomu interfejsu użytkownika
Niezależnie od możliwości "ręcznego" utworzenia extroota, należy pamiętać że od wersji 1.5.9.10 możliwe jest wykonanie tego także z poziomu GUI podczas formatowania nośnika.
Formatowanie pozwala na utworzenie świeżego systemu plików na całym nośniku oraz określenie wielkości partycji wymiany (swap) - maksymalnie zostaną utworzone więc tylko dwie partycje. Jeżeli zostanie zaznaczone odpowiednie pole, na tym nośniku zostanie wykonany automatycznie extroot oraz zostanie przeniesiona cała istniejąca konfiguracja systemu na nowy nośnik. Należy pamiętać o ograniczeniach wymienionych w poprzednim punkcie.
Czy został wykonany extroot można przekonać się z zakładce "Dodatki" - pamięć wewnętrzna powinna pokazywać pojemność użytego nośnika oraz na zakładce "Nośniki USB" - powinna pojawić się informacja że extroot jest użyty. Z poziomu też zakładki można też "bezpiecznie" usunąć extroota.