Dzisiaj jest 24 kwie 2017, 04:32

Strefa czasowa UTC+1godz. [letni]




Nowy temat Odpowiedz w temacie  [ Posty: 21 ]  Przejdź na stronę 1, 2  Następna
Autor Wiadomość
 Tytuł: [minihowto] Debian na routerze
Post: 9 sty 2011, 16:26 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Na naszych routerach nie często pojawia się oryginalne firmware, za to często jest to alternatywa: DD-WRT, OpenWrt lub Tomato. Nic nie stoi na przeszkodzie, aby uruchomić na routerze "normalny" system, linuksa, który będzie dysponował ogromną bazą pakietów.

W tym przykładzie pokażę jak szybko uruchomić debiana na naszym routerze z wykorzystaniem pewnego mechanizmu zwanego chroot (a dzięki czemu będzie można się go pozbyć bez utraty podstawowego systemu).

Zasada działania jest prosta - uruchamiamy normalny router, ładuje się kernel linuksowy, a później wykonujemy opcję przełączenia na innych system. Brzmi prosto i jest proste do wykonania. Niestety wymagany jest do spełnienia jeden warunek - kernel musi mieć wkompilowaną emulację FPU. Jeżeli samodzielnie kompilujemy obraz, należy w kernelu zaznaczyć tą opcję.

Co jest potrzebne:
- router z USB: Linksys WRT160NL, TP-Link TL-WR1043ND i inne na ar71xx - to jest architektura MIPS. Jeżeli użyjemy np. Asusa WL-500gP - to jest MIPSEL
- pendrive z systemem plików ext2/ext3/ext4
- dostęp do komputera z linuksem (może być ubuntu LiveCD)
- normlany firmware do routera, np. openwrt.

1. Generujemy system plików
Ściągamy system plików debiana przy użyciu narzędzia debootstrap na normalnym linuksie. W debianie/ubuntu można go doinstalować poleceniem apt-get install debootstrap, w gentoo emerge dev-util/debootstrap. Następnie wykonujemy polecenia
mkdir -p /tmp/fs
cd /tmp
debootstrap --arch=mips lenny fs http://ftp.pl.debian.org/debian

Ściągnie odpowiednie pakiety i rozpakuje je do katalogu fs. Zapewne zakończy się to błędem, ale należy zignorować bo ściągamy pakiety dla innej architektury i nie można wykonać binarek.
Dla Broadcoma należy oczywiście podać mipsel zamiast mips.
2. Kopiujemy zawartość katalogu na pendrive
Nie sam katalog fs tylko jego zawartość
3. Instalujemy OpenWrt na routerze.
Należy pamiętać o potrzebie zaznaczenia odpowiedniej opcji
make kernel_menuconfig -> [x] Enable FPU emulation. Bez tego może się nie dać uruchomić debiana. Później należy doinstalować obsługę USB/usb_storage i system plików, np. ext2 jeżeli takiego używamy na pendrive.
4. Dokończenie instalacji
Teraz należy włożyć pendrive do USB, zamontować nośnik i dokończyć instalację.
mkdir -p /tmp/debian
mount /dev/sda1 /tmp/debian

Teraz należy wykonać chroot
chroot /tmp/debian /bin/bash

A następnie dokończyć instalację pakietów:
cd /var/cache/apt/archives/
dpkg --force-all -i dpkg*deb
dpkg --force-all -i libc6*deb
dpkg -iGREB .

ponieważ instalacja i konfiguracja pakietów nie jest wykonywana we właściwej kolejności to po ostatnim poleceniu mogą pojawić się błędy. Należy powtórzyć ostatnie polecenie aż nie będzie błędów (5 czy 6 razy). Zostaje tylko konfiguracja niektórych rzeczy
dpkg-reconfigure -a
exit


I mamy gotowego debiana.
5. Skrypty startowe
Wystarczy np. w /etc/rc.local dodać następujące linie:

sleep 20
mkdir -p /tmp/debian
mount /dev/sda1 /tmp/debian
chroot /tmp/debian /bin/bash
exit 0


Tym samym mamy system, który normalnie uruchamia jądro pochodzące w tym przypadku z openwrt a następnie uruchamiające samego debiana. Wszystkie niezbędne moduły można albo dodać do debiana (wypakować odpowiednie pliki z pakietów openwrt) lub prościej po prostu zainstalować w openwrt i pozwolić samodzielnie załadować je przez openwrt.

Debian dysponuje znacznie większą liczbą pakietów, wiec może więc być bardziej użyteczny pod tym względem. Należy pamiętać że 32MB dla wielu usług może być za małą wartością; warto zrobić odpowiedni swap.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 10 sty 2011, 18:23 
Offline
Użytkownik

Rejestracja: 11 kwie 2010, 11:31
Posty: 94
Tak z ciekawości: rzeczy związane z siecią (DHCP, limitowanie łącza, ustawienia WiFI, WAN) ustawiamy pod OpenWRT czy już Debianem?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 10 sty 2011, 19:00 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
W sumie to jak chcesz. Jak wystartuje openwrt to wszystko możesz już mieć ustawione.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 10 sty 2011, 21:04 
Offline
Przyjaciel openrouter.info

Rejestracja: 10 kwie 2010, 20:28
Posty: 475
Lokalizacja: Wolbórz
ja jednak wolę właściwy system a nie chroot. Debian bezpośrednio na routerku było by fajniej

_________________
rpcWiki - http://rpc.one.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 10 sty 2011, 23:07 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Od tego jest DebWrt. Ale on i tak korzysta z kernela openwrt. Nic nie stoi na przeszkodzie, aby usb i systemy plików wkompilować w kernel, wtedy możesz debiana natywnie z usb uruchomić.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 11 sty 2011, 00:13 
Offline
Przyjaciel openrouter.info

Rejestracja: 10 kwie 2010, 20:28
Posty: 475
Lokalizacja: Wolbórz
nawet nie wiedziałem że coś takiego jest :)

_________________
rpcWiki - http://rpc.one.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 3 kwie 2012, 18:18 
Offline
Użytkownik

Rejestracja: 3 kwie 2012, 18:07
Posty: 8
Próbował ktoś tego na tomato?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 3 kwie 2012, 18:19 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Najpierw musiał byś skompilować sobie tomato z emulacją FPU. Reszta jest tak samo.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 3 kwie 2012, 20:49 
Offline
Użytkownik

Rejestracja: 3 kwie 2012, 18:07
Posty: 8
U mnie przy uruchamianiu routera wyświetla się w logu:
Jan 1 01:00:49 mm user.warn kernel: Algorithmics/MIPS FPU Emulator v1.5
Co wskazywało by na to ze emulacja FPU jest juz w tomato zawarta


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 3 kwie 2012, 21:01 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Więc instaluj.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 3 kwie 2012, 23:26 
Offline
Użytkownik

Rejestracja: 3 kwie 2012, 18:07
Posty: 8
Ehh zasilacz od dysku mi się spalił, jestem daleko od domu będę dopiero w czwartek ale próbowałem już to instalować mam rt-n16 fw to najnowsza kompilacja shibbiego wiec ściągnąłem paczkę pod mipsel i podczas wykonywania chroota poleceniem:
chroot /tmp/debian /bin/bash wyskakuje mi
chroot: can't execute '/bin/bash': Permission denied
Wszystko robilem jak napisane w tutku nie wiesz o co tu moze chodzic?
jedyna różnica jest taka ze ja wykorzystałem paczkę stable a nie lenny no ale moim zdaniem on nawet nie zaczyna nic z tym robic tylko odrazu ten komunikat


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 4 kwie 2012, 05:54 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Że nie masz uprawnień do wykonania tego. Albo zrobiłeś to systemie plików np. fat czy ntfs albo coś jednak zrobiłeś inaczej, skoro /bin/bash na nośniku nie jest wykonywalny.

Trzymaj się wg opisów i tak rób. Później sobie zrobisz upgrade jak już wszystko będzie działać.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 6 kwie 2012, 14:38 
Offline
Użytkownik

Rejestracja: 3 kwie 2012, 18:07
Posty: 8
Zrobilem wszystko od nowa ale dalej jest to samo nie wiem juz o co moze chodzic, jakies pomysly?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 6 kwie 2012, 14:47 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Masz na nośniku w ogóle bin/bash? ma on prawa wykonania?

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 7 kwie 2012, 05:49 
Offline
Użytkownik

Rejestracja: 3 kwie 2012, 18:07
Posty: 8
No cos poszlo do przodu ale znowu jest problem, gdy chroot uruchomiony i probuje dokonczyc instalacje pakietow
root@mm:/tmp/debian# chroot /tmp/debian /opt/bin/bash
I have no name!@mm:/# cd /var/cache/apt/archives/
I have no name!@mm:/var/cache/apt/archives# dpkg --force-all -i dpkg*deb
bash: /usr/bin/dpkg: Permission denied
I have no name!@mm:/var/cache/apt/archives# /bin
bash: /bin: is a directory
I have no name!@mm:/var/cache/apt/archives# cd /bin
I have no name!@mm:/bin# bash
I have no name!@mm:/bin# dpkg --force-all -i dpkg*deb
bash: /usr/bin/dpkg: Permission denied
I have no name!@mm:/bin# ls
bash: /bin/ls: Permission denied
I have no name!@mm:/bin# chmod +x /bin/ls
bash: /bin/chmod: Permission denied
Tak jak by do niczego nie było uprawnień a chmody ustawione są na wykonywalne


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 7 kwie 2012, 06:55 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Raczej jak byś sam usunął te uprawnienia, bo jak je nadasz do działa. Jaki system plików masz na nośniku?

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 7 kwie 2012, 08:49 
Offline
Użytkownik

Rejestracja: 3 kwie 2012, 18:07
Posty: 8
System plików to ext3, kopiuje to wszystko na router przez ftp może mieć to jakieś znaczenie?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 7 kwie 2012, 09:07 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Tak. Ty nie ma masz tego kopiować, bo właśnie w ten sposób pozbywasz się atrybutów poszczególnych plików które system musi mieć. Sam więc sobie przeczysz, nie robisz tak jak napisano w tutorialu. Nic tam o kopiowaniu przez ftp nie było.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 7 kwie 2012, 09:17 
Offline
Użytkownik

Rejestracja: 3 kwie 2012, 18:07
Posty: 8
1. Generujemy system plików
Ściągamy system plików debiana przy użyciu narzędzia debootstrap na normalnym linuksie. W debianie/ubuntu można go doinstalować poleceniem apt-get install debootstrap, w gentoo emerge dev-util/debootstrap.

Ściągnie odpowiednie pakiety i rozpakuje je do katalogu fs. Zapewne zakończy się to błędem, ale należy zignorować bo ściągamy pakiety dla innej architektury i nie można wykonać binarek.
Dla Broadcoma należy oczywiście podać mipsel zamiast mips.
2. Kopiujemy zawartość katalogu na pendrive

Nie wiem, ja zrozumiałem z tego ze mam wytworzyć system plików np na maszynie wirtualnej a następnie skopiować na nośnik docelowy, nie było sprecyzowane jaką metodą


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [minihowto] Debian na routerze
Post: 7 kwie 2012, 09:19 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 12821
Lokalizacja: Warszawa
Podłączając pendrive pod maszynę wirtualną w Twoim przypadku.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 21 ]  Przejdź na stronę 1, 2  Następna

Strefa czasowa UTC+1godz. [letni]


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Przejdź do:  
cron
designed by digi-led.pl
...Copyright © 2010-2013, Ekipa openrouter.info