openrouter.info https://eko.one.pl/openrouter.info/forum/ |
|
[minihowto] Debian na routerze https://eko.one.pl/openrouter.info/forum/viewtopic.php?f=21&t=553 |
Strona 1 z 2 |
Autor: | obsy [ 9 sty 2011, 16:26 ] |
Tytuł: | [minihowto] Debian na routerze |
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. |
Autor: | tymmej [ 10 sty 2011, 18:23 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Tak z ciekawości: rzeczy związane z siecią (DHCP, limitowanie łącza, ustawienia WiFI, WAN) ustawiamy pod OpenWRT czy już Debianem? |
Autor: | obsy [ 10 sty 2011, 19:00 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
W sumie to jak chcesz. Jak wystartuje openwrt to wszystko możesz już mieć ustawione. |
Autor: | rpc [ 10 sty 2011, 21:04 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
ja jednak wolę właściwy system a nie chroot. Debian bezpośrednio na routerku było by fajniej |
Autor: | obsy [ 10 sty 2011, 23:07 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
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ć. |
Autor: | rpc [ 11 sty 2011, 00:13 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
nawet nie wiedziałem że coś takiego jest |
Autor: | adi1121 [ 3 kwie 2012, 18:18 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Próbował ktoś tego na tomato? |
Autor: | obsy [ 3 kwie 2012, 18:19 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Najpierw musiał byś skompilować sobie tomato z emulacją FPU. Reszta jest tak samo. |
Autor: | adi1121 [ 3 kwie 2012, 20:49 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
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 |
Autor: | obsy [ 3 kwie 2012, 21:01 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Więc instaluj. |
Autor: | adi1121 [ 3 kwie 2012, 23:26 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
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 |
Autor: | obsy [ 4 kwie 2012, 05:54 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Ż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ć. |
Autor: | adi1121 [ 6 kwie 2012, 14:38 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Zrobilem wszystko od nowa ale dalej jest to samo nie wiem juz o co moze chodzic, jakies pomysly? |
Autor: | obsy [ 6 kwie 2012, 14:47 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Masz na nośniku w ogóle bin/bash? ma on prawa wykonania? |
Autor: | adi1121 [ 7 kwie 2012, 05:49 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
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 |
Autor: | obsy [ 7 kwie 2012, 06:55 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Raczej jak byś sam usunął te uprawnienia, bo jak je nadasz do działa. Jaki system plików masz na nośniku? |
Autor: | adi1121 [ 7 kwie 2012, 08:49 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
System plików to ext3, kopiuje to wszystko na router przez ftp może mieć to jakieś znaczenie? |
Autor: | obsy [ 7 kwie 2012, 09:07 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
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. |
Autor: | adi1121 [ 7 kwie 2012, 09:17 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
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ą |
Autor: | obsy [ 7 kwie 2012, 09:19 ] |
Tytuł: | Re: [minihowto] Debian na routerze |
Podłączając pendrive pod maszynę wirtualną w Twoim przypadku. |
Strona 1 z 2 | Strefa czasowa UTC+1godz. |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |