openwrt
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| openwrt [2013/05/05 10:16] – [chroot na usb] djbuldog | openwrt [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ===== OpenWrt | + | ====== OpenWRT tipy, finty ====== |
| - | ==== nastaveni time zone ==== | + | |
| + | ===== nastaveni time zone ===== | ||
| < | < | ||
| echo " | echo " | ||
| Řádek 6: | Řádek 7: | ||
| http:// | http:// | ||
| - | ==== statistiky provozu ==== | + | ===== statistiky provozu |
| * jak nahradit hotsanic? :) - pomoci iptables :-D | * jak nahradit hotsanic? :) - pomoci iptables :-D | ||
| Řádek 12: | Řádek 13: | ||
| root@HomeRouterII: | root@HomeRouterII: | ||
| Chain INPUT (policy ACCEPT 8444 packets, 1003147 bytes) | Chain INPUT (policy ACCEPT 8444 packets, 1003147 bytes) | ||
| - | pkts bytes target | + | pkts |
| - | | + | |
| - | | + | |
| - | | + | |
| | | ||
| - | | + | |
| </ | </ | ||
| Řádek 30: | Řádek 31: | ||
| * velikost potrebna pro rrdtool: ~ 1.7MB | * velikost potrebna pro rrdtool: ~ 1.7MB | ||
| - | === iftop === | + | ==== iftop ==== |
| * kolik zabere? :) | * kolik zabere? :) | ||
| * iftop (62791), libpcap (180563), libncurses (425516), libpthread (83890) | * iftop (62791), libpcap (180563), libncurses (425516), libpthread (83890) | ||
| * celkem ~ 800K | * celkem ~ 800K | ||
| - | ===== chroot | + | ===== Generovani NetFlow |
| - | + | * zkousel jsem generovat NetFlow pomoci fprobe/nprobe | |
| - | Pouzivani externiho uloziste jako korenovy adresar / (root) [[http:// | + | * dnes jsem videl v akci router board 750 GL s Atheros AR7242 400MHz |
| - | + | * fprobe ma nejaky special modul pro cteni paketu | |
| - | Externi uloziste lze pouzivat dvema zpusoby: | + | * nadeje vkladam |
| - | * pivot-overlay - na externi uloziste budu mit pripojeny pouze nektere adresare (/overlay) | + | |
| - | * pivot-root - na externim ulozisti bude uplne vsechno | + | |
| - | + | ||
| - | ===== pivot-root ===== | + | |
| - | * embeded zarizeni ([[http:// | + | |
| - | * pivot-root se lze v takovych pripadech realizovat pouze tak, ze do flash chipu se ulozi system, ktery behem startu prepne na nove externi uloziste | + | |
| - | * pro pivot-root je tedy potreba pripravit image pro raw flash routeru a souborovy system na externim ulozisti | + | |
| - | + | ||
| - | * omezeni (upgradovani) pri pouzivani externiho uloziste | + | |
| - | * nesmi se pouzivat balicky kompilovane | + | |
| - | * nesmi se upgradovat kernel na jinou verzi nebo z jineho build prostredi. Zpusobilo by nekompatibilitu. | + | |
| - | * nesmi se pouzivat balicky, ktere byly kompilovane vuci jine verzi kernelu (treba iptables) | + | |
| - | * OpenWRT od verze Attitude Adjustment se snazi detekovat takove nekonzistence | + | |
| - | * pokud je potreba upgradovat kernel, je treba provest upgrade jak na extroot, tak v image. | + | |
| - | + | ||
| - | ==== image pro raw flash ==== | + | |
| - | * image se vetsinou vytvari se souborovym system squashfs (read-only) + jffs (rw), aby bylo mozne ukladat konfiguracni zmeny nebo provadet upgrade balicku. | + | |
| - | * v kernelu je potreba drivery: | + | |
| - | * kmod-usb-storage mod-usb-core kmod-usb2 - zakladni usb subsystem | + | |
| - | * kmod-mmc - driver pro SD/MMC karty | + | |
| - | * kmod-fs-ext4 - pro pouzity filesystem na externim ulozisti | + | |
| - | * i kdyz mame tyto drivery v jadre.. stale je potreba neco, co by v init pripojilo souborovy system na externim ulozisti bez jineho souboroveho systemu, kde by tato akce byla popsana. K tomu se pouziva modul '' | + | |
| - | * v image je dobre mit take nastroj '' | + | |
| - | + | ||
| - | Pro image si udelam vlastni build, chci tam mit jen minimum veci nezbytnych pro pro boot z externiho uloziste. Pokud bych pouzil image primo z openwrt, musel bych tam jeste doinstalovat chybejici balicky | + | |
| - | + | ||
| - | Postup: | + | |
| - | * vybereme zakladni balicky plus nasledujici | + | |
| - | < | + | |
| - | block-mount kmod-usb-storage kmod-fs-ext4 mod-usb-core kmod-usb2 kmod-mmc | + | |
| - | </ | + | |
| - | * do fstab pridame (az po bootu nebo modfifikujeme cilovy fs) | + | |
| - | < | + | |
| - | config mount | + | |
| - | option target | + | |
| - | option device | + | |
| - | option fstype | + | |
| - | option options | + | |
| - | option enabled | + | |
| - | option enabled_fsck | + | |
| - | </ | + | |
| - | + | ||
| - | ==== priprava externiho uloziste ===== | + | |
| - | + | ||
| - | * externi uloziste se nejcasteji vytvari primo v nastarovanem OpenWrt na cilovem zarizeni. | + | |
| - | * nejprve se vytvori filesystem (v tomto pripade ext4 na externim zarizeni / | + | |
| - | * v root filesystemu jsou pripojeny specialni soubory ve slozkach jako /dev /proc .., abychom nekopirovaly tyto systemove soubory, vytvari se bind souboroveho systemu do jineho adresare | + | |
| - | * nevim, proc se pouziva tar misto cp, mozna je to flexibilnejsi (kopirovani po siti) | + | |
| - | + | ||
| - | < | + | |
| - | mkfs.ext4 /dev/sda1 | + | |
| - | mount /dev/sda1 /mnt | + | |
| - | mkdir / | + | |
| - | mount --bind / / | + | |
| - | tar -C /tmp/cproot -cvf - . | tar -C /mnt -xvf - | + | |
| - | sync ; umount /mnt | + | |
| - | umount / | + | |
| - | </ | + | |
| - | + | ||
| - | * aby se dalo ihned rozlisit, zda nastartoval image nebo extroot je mozne ulozit do /etc/banner info o tom, ze je to z extroot | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | * dobra finta.. ulozit do /etc/banner info o tom, ze je to z USB :) | + | |
| - | * na [http:// | + | |
| - | * dva zpusoby: | + | |
| - | * pouzit fw s kernel modulem block-extroot | + | |
| - | * sestavit vlastni | + | |
| - | * pouzit predkompilovany z [http:// | + | |
| - | * mapovat jen nektere adresare | + | |
| - | * nejdulezitejsi veci se daji primo do ROM, zbytek na USB | + | |
| - | + | ||
| - | * nejprve: | + | |
| - | + | ||
| - | < | + | |
| - | opkg install kmod-usb2 kmod-usb-storage kmod-fs-ext2 e2fsprogs | + | |
| - | </ | + | |
| - | + | ||
| - | * pripravit USB disk s ext3 | + | |
| - | * [http:// | + | |
| - | * problem - jak spustit chroot pred bootem init skriptu? prej to jde jen predanim options kernelu... ale do redboot preci zasahovat nemuzu ne? | + | |
| - | * model A | + | |
| - | * instalace | + | |
| - | * nakopirovat obsah / | + | |
| - | * inicializace | + | |
| - | + | ||
| - | < | + | |
| - | mkdir /tmp/sto / | + | |
| - | mount /dev/sda1 /tmp/sto | + | |
| - | </ | + | |
| - | + | ||
| - | * vytvorime novy R/W FS zalozeny na ROM | + | |
| - | + | ||
| - | < | + | |
| - | mount -t mini_fo -o base=/ | + | |
| - | </ | + | |
| - | + | ||
| - | * premountujeme adr, do ktereho se instaluji nove balicky | + | |
| - | + | ||
| - | < | + | |
| - | mount --bind /tmp/sto /overlay | + | |
| - | </ | + | |
| - | + | ||
| - | * premountujeme zakladni adresare :-D | + | |
| - | + | ||
| - | < | + | |
| - | mount --bind / | + | |
| - | mount --bind / | + | |
| - | mount --bind / | + | |
| - | mount --bind / | + | |
| - | mount --bind / | + | |
| - | </ | + | |
| - | + | ||
| - | * slo by neco odmountovat? | + | |
| - | * ''' | + | |
| - | * script pro rspro :) | + | |
| - | * haze mi to seg.fault.. mam podezreni na FAT (misto ext3)... mozna chyba pri mountovani etc? - zkusim preskocit | + | |
| - | + | ||
| - | < | + | |
| - | mkdir /tmp/sto / | + | |
| - | mount /dev/sda1 /tmp/sto | + | |
| - | mount --bind / | + | |
| - | mount -t mini_fo -o base=/ | + | |
| - | + | ||
| - | mount --bind / | + | |
| - | which | + | |
| - | Segmentation fault :( | + | |
| - | </ | + | |
| - | + | ||
| - | * zjednodusena verze | + | |
| - | + | ||
| - | < | + | |
| - | mkdir / | + | |
| - | mount -t mini_fo -o base=/ | + | |
| - | ls -l / | + | |
| - | Segmentation fault | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | logread -f | + | |
| - | Jul 3 20:11:41 HomeRouterII user.alert kernel: CPU 0 Unable to handle kernel paging request at virtual address 0000008c, epc == 87b921a0, ra == 800e1afc | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: Oops[#1]: | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: Cpu 0 | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $ 0 : 00000000 00000001 00000000 0000002e | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $ 4 : 874e6380 874e859c 873a1d90 00000009 | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $ 8 : 8732e011 874e635b 87b3bbe0 fffffff4 | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $12 : 00000025 00000807 00000800 00480000 | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $16 : 874e8580 874e8590 874e6300 873a1d90 | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $20 : 00000009 8732e012 23d0d3f8 873fa700 | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $24 : 00482398 87b92194 | + | |
| - | Jul 3 20:11:41 HomeRouterII user.warn kernel: $28 : 873a0000 873a1d08 873a1d80 800e1afc | + | |
| - | </ | + | |
| - | * zajimave.. ok je: / | + | ===== build konkretni vereze kernel |
| - | * nok je .. / | + | |
| - | ==== build konkretni vereze kernel ==== | + | |
| Tweak the LINUX_VERSION variable in target/ | Tweak the LINUX_VERSION variable in target/ | ||
| Supported Kernels are listed in include/ | Supported Kernels are listed in include/ | ||
| * https:// | * https:// | ||
openwrt.1367741816.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
