| Optware na CIFS | 
| shibby | Dodano 16-04-2012 11:05 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | Pomoc przy pisaniu tutoriala zaczerpnąłem z Wiki DD-WRT http://www.dd-wrt.com/wiki/index.php/..._in_a_file
 
 Do tej pory uważałem, że nie da się zainstalować optware na CIFS, ponieważ CIFS nie wykorzystuje symlinków. Jak się jednak okazuje jest na to dość prosty sposób.
 Zapraszam do lektury.
 
 Optware na CIFS to idealne rozwiązanie dla tych, którzy:
 a) mają NASa chodzące 24h na dobę
 b) mają router bez portu USB/SD-mod`u lub z jakiś przyczyn nie mogą z niego skorzystać
 
 Potrzebujemy przede wszystkim podmontowany udział pod CIFS. Na moim przykładzie będzie to udostępniony udział z NAS`a.
 
 
  
 Mając podmontowany udział ściągamy archiwum extras odpowiedni dla swojej wersji tomato i procesora. W moim przypadku (Asus RT-N16 z tomato 092) będzie to extras-mips2.tar.gz
 
 
 Cytat cd /tmpmkdir extras
 cd extras
 wget http://tomato.groov.pl/K26/build5x-092-EN/extras-mips2.tar.gz
 Rozpakowujemy archiwum
 
 Cytat tar -zxvf extras-mips2.tar.gz
 Potrzebujemy z niego trzy moduły, które kopiujemy sobie na udział cifs1. Pozostałe pliki usuwamy:
 
 Cytat cp loop.ko /cifs1/cp mbcache.ko /cifs1/
 cp ext2.ko /cifs1/
 cd ..
 rm -rf extras
 Ładujemy moduły:
 
 Cytat insmod /cifs1/loop.koinsmod /cifs1/mbcache.ko
 insmod /cifs1/ext2.ko
 Jeżeli nie wyskoczy nam żaden błąd to idziemy dalej. Jeżeli na tym etapie mamy błąd ładowania modułu to znaczy, że wybraliśmy złą wersję pliku extras.
 
 Tworzymy teraz plikopartycję o nazwie opt.ext2 o wielkości ok 200M
 
 Cytat dd if=/dev/null of=/cifs1/opt.ext2 bs=1 seek=200M
 U mnie proces sam się nie zakończył, więc po ok 10sek wcisnąłem zwyczajnie ctrl+c
 
 Jeżeli posiamy tomato z obsługa USB wystarczy wydać poniższe polecenie aby sformatować plikopartycje na ext2.
 
 Cytat echo y | mke2fs -L optware /cifs1/opt.ext2
 Jeżeli jednak tomato nie rozpoznaje nam tej komendy, musimy posłużyć się zewnętrznym busyboxem
 Ściągamy na cifs binarkę:
 
 Cytat cd /cifs1wget http://busybox.net/downloads/binaries/latest/busybox-mipsel
 i formatujemy plikopartycję za pomocą komendy:
 
 Cytat echo y | /cifs1/busybox-mipsel mke2fs -L optware /cifs1/opt.ext2
 Próbujemy zamontować plikopartycję pod /opt (w przypadku wersji USB)
 
 Cytat mount -o loop /cifs1/opt.ext2 /opt
 Jeżeli zaś uzywamy zewnętrznego busyboxa wydajemy komendę:
 
 Cytat /cifs1/busybox-mipsel mount -o loop /cifs1/opt.ext2 /opt
 Jeżeli wszystko przebiegło pomyślnie po wydaniu komendy "df -h" uzyskamy efekt podobny do poniższego:
 
  
 Teraz możemy przystąpić do instalacji optware (tu juz standardowo):
 
 Cytat cd /tmpwget http://update.groov.pl/optware-install.sh
 chmod +x optware-install.sh
 ./optware-install.sh
 ipkg update
 I oto mamy działające optware na CIFS.
 
 Pozostała jeszcze kwestia ładowania modułów i montowania partycji przy starcie routera. W tym celu do skryptu init dopisujemy:
 
 Cytat insmod /cifs1/loop.koinsmod /cifs1/mbcache.ko
 insmod /cifs1/ext2.ko
 mount -o loop /cifs1/opt.ext2 /opt
 Jeżeli wam to nie zadziała to znaczy, że udział CIFS montuje się zbyt późno. Można to rozwiązać tworząc na /cifs1 plik np mount.sh i wpisując w niego:
 
 Cytat #!/bin/shinsmod /cifs1/loop.ko
 insmod /cifs1/mbcache.ko
 insmod /cifs1/ext2.ko
 mount -o loop /cifs1/opt.ext2 /opt
 Jeżeli uzywamy zewnętrznego buxyboxa to oczywiście komendę "mount" musimy zamienić na "/cifs1/busybox-mipsel mount".
 
 Następnie nadajemy atrybut "execute":
 
 Cytat chmod +x /cifs1/mount.sh
 a wywołanie skryptu wpisujemy w Administration -> CIFS -> Execute When Mounted -> /cifs1/mount.sh
 
 To by było na tyle.
 Pozdrawiam
 
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| kille72 | Dodano 16-04-2012 11:21 | 
|  
 Administrator
 
  
 
 Posty: 2986
 Dołączył: 12/02/2007 23:43
 
 
 | Brawo Shibby! To oznacza ze Ci ktorzy nie maja portu USB tez beda mieli mozliwosc zamontowania optware  | 
|  | 
 
 | 
|  | 
| shibby | Dodano 16-04-2012 11:34 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | true. Ja to co prawda robiłem na Asusie RT-N16, nie mniej jednak nie miałem możliwości wykorzystania portu USB (do routera mam tylko dostęp zdalny) a "na gwałt" potrzebowałem optware   
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 16-04-2012 13:44 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | Zauważyłem dwa błędy w tutorialu. 1. niepoprawny link do pliku extras-mips2.tar.gz
 (wget http://tomato.groov.pl/K26/build5x-092-EN/http://tomato.groov.pl/K26/build5x-092-EN/extras-mips2.tar.gz)
 
 2. niepoprawne polecenie do ładowania modułu look.ko
 (ismod /cifs1/look.ko).
 
 Teraz proszę  o pomoc w rozwiązaniu problemu:
 Dochodzę do momentu ładowania modułów (po skopiowaniu do cifs), przy próbie ładowania otrzymuję błędy. Załączam screen
 
 Plik extras-mips2.tar.gz pobierałem z folderu 092 oraz 088, na jednym i drugim te same błędy.
 
 Tomato MIPSR2-088-PL K26 IPv6-VPN
 
valdikrk załączono następujące plik:
Nie masz uprawnień, by zobaczyć załączniki w tym wątku. | 
|  | 
 
 | 
|  | 
| shibby | Dodano 16-04-2012 14:00 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | zobacz jeszcze dmesg. nie zaladowal ci loop`a wiec moze dlatego nie chce zaladowac ext2.
 
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 16-04-2012 14:22 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | Z ładowaniem loop.ko sobie poradziłem, powodem błędu był źle udostępniony katalog. Ale przy ext2.ko dalej otrzymuję błąd:
 
 insmod: can't insert '/cifs1/ext2.ko': unknown symbol in module, or unknown parameter
 
 Link do dmesg
 http://wklej.org/hash/da214deaac4/
 | 
|  | 
 
 | 
|  | 
| shibby | Dodano 16-04-2012 14:43 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | jaki dokładnie router masz? Sprobuj zaladowac jeszcze mbcache.ko 
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 16-04-2012 14:51 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | Router WRT320N Po załadowaniu mbcache.ko poszło dalej bez błędu.
 Czy mbcache.ko także trzeba ładować przy starcie routera?
 
 Następny problem:
 Przy poleceniu:
 echo y | mke2fs -L optware /cifs1/opt.ext2
 
 otrzymuję:
 -sh: mke2fs: not found
 | 
|  | 
 
 | 
|  | 
| shibby | Dodano 16-04-2012 15:28 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | ehm wszystko rozchodzi sie o to ze ja to robiłem na routerze z USB i już miałem komendy do partycjonowania. Musisz wiec uzyc jakiegos gparteda i "sformatowac" sobie ten plik na ext2. 
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 16-04-2012 15:30 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | ok Dzięki za pomoc
 | 
|  | 
 
 | 
|  | 
| shibby | Dodano 16-04-2012 15:34 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | uaktualilem tutka o modul mbcache i info o gpartedzie. Daj znac jak się uda zamontowac partycję   
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 16-04-2012 17:13 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | Niestety kolejny problem. Po komendzie:
 mount -o loop /cifs1/opt.ext2 /opt
 
 otrzymuję:
 mount: mounting /cifs1/opt.ext2 on /opt failed: Block device required
 
 Plik sformatowałem w live cd ubuntu
 
 _______________
 
 Zalazłem  rozwiązanie,
 
 http://tomatousb.org/forum/t-269510
 
 
 Cytat Download a static build of busybox here:http://busybox.net/downloads/binaries/latest/busybox-mipsel
 
 And this command will work (if you have the 3 modules loaded first)
 
 /cifs1/busybox-mipsel mount /cifs1/opt.ext2 /opt
Edytowany przez valdikrk dnia 16-04-2012 17:20
 | 
|  | 
 
 | 
|  | 
| shibby | Dodano 17-04-2012 11:55 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | świetna robota. Rozumiem, że optware już ci działa   
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 17-04-2012 12:48 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | optware działa, ale mam jeszcze kłopot. Nie działa automatyczne ładowanie modułów oraz montowanie przy uruchamianiu routera (próbowałem przez init oraz plik na cifs). Działa natomiast przy podłączaniu nas'a (dla testu kilka razy odłączałem i podłączałem) 
 dodanie opóźnienia (sleep 10 czy sleep 20) nie rozwiązuje problemu
 
 --------------------------
 Formatowanie plikopartycji przez zewnętrzny busybox nie działa. Zwraca komunikat: -sh
  cifs1/busybox-mipsel: Permission denied Edytowany przez valdikrk dnia 17-04-2012 13:52
 | 
|  | 
 
 | 
|  | 
| shibby | Dodano 17-04-2012 14:02 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | oo dzieki za info, zaraz poprawie tutka. 
 Nie działa przez "Execute When Mounted"?
 
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 17-04-2012 14:10 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | Niestety nie działa "Execute When Mounted" Na cifs mam plik mount.sh o treści:
 
 Cytat #!/bin/shinsmod /cifs1/loop.ko
 insmod /cifs1/mbcache.ko
 insmod /cifs1/ext2.ko
 /cifs1/busybox-mipsel mount -o loop /cifs1/opt.ext2 /opt
 W Execute When Mounted mam wpisaną ścieżkę:
 
 -----------------------------------------------------------------
 Zauważyłem jeszcze, że po komendzie:
 
 Cytat cd /cifs1wget http://busybox.net/downloads/binaries/latest/busybox-mipsel
 potrzebna jest jeszcze komenda
 
 Cytat chmod +x /cifs1/busybox-mipsel
 Bez tego przy montowaniu będzie błąd.
 Formatowanie dalej nie działa
 Edytowany przez valdikrk dnia 17-04-2012 15:17
 | 
|  | 
 
 | 
|  | 
| shibby | Dodano 17-04-2012 15:18 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | a jak wywolasz plik /cifs1/mount.sh to ci zadziala? 
 moze skryptow sh nie mozna wywolywac z cifsa. Trzebaby go wtedy wrzucic np na jffs.
 
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 17-04-2012 15:49 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | Po wywołaniu pliku /cifs1/mount.sh zwraca(po ok. 20 sekundach): 
 Cytat .ko': module not foundo.ko': module not founde.ko
 .ko': module not foundo
 mount: can't setup loop device: No space left on device
 Na cifs zrobiłem plik reboot.sh:
 
 
 Później:
 
 Cytat chmod +x /cifs1/reboot.sh
 
 Router się zrestartował
 
 -------------------------------------------------------
 Mogę do WRT320N wrzucić tomato-K26USB-1.28.RT-MIPSR2-088-PL-VPN.trx?
 Edytowany przez valdikrk dnia 17-04-2012 15:59
 | 
|  | 
 
 | 
|  | 
| shibby | Dodano 17-04-2012 15:56 | 
|  
 SysOp
 
  
 
 Posty: 17165
 Dołączył: 15/01/2009 20:30
 
 
 | a kopiuj najpierw ten plik do /tmp 
 Router: Unifi Cloud Gateway FiberSwitch: Unifi USW-Lite-16-PoE
 Switch: Unifi USW-Flex-Mini - szt. 2
 Wi-Fi: Unifi U6-Lite - szt. 2
 Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
 VM #1: Synology SA6400
 VM #2: Debian, WWW
 VM #3:  Home Assistant OS
 | 
|  | 
 
 | 
|  | 
| valdikrk | Dodano 17-04-2012 15:59 | 
|  
 User
 
  
 
 Posty: 23
 Dołączył: 15/12/2009 03:32
 
 
 | Skopiowałem mount.sh do /tmp/. Po wywołaniu efekt taki sam jak z cifs 
 Mogę do WRT320N wrzucić tomato-K26USB-1.28.RT-MIPSR2-088-PL-VPN.trx?
 Pytam ponieważ w kompilacjach bez obsługi USB nie ma razem CIFS i JFFS
 Edytowany przez valdikrk dnia 17-04-2012 16:23
 | 
|  | 
 
 |