Uživatelské nástroje

Nástroje pro tento web


openwrt

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
openwrt [2013/05/05 10:16] – [chroot na usb] djbuldogopenwrt [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 =====
 <code> <code>
 echo "CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" > /etc/TZ echo "CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" > /etc/TZ
Řádek 6: Řádek 7:
 http://wiki.openwrt.org/oldwiki/openwrtdocs/whiterussian/configuration http://wiki.openwrt.org/oldwiki/openwrtdocs/whiterussian/configuration
  
-==== statistiky provozu ====+===== statistiky provozu =====
   * jak nahradit hotsanic? :) - pomoci iptables :-D   * jak nahradit hotsanic? :) - pomoci iptables :-D
  
Řádek 12: Řádek 13:
 root@HomeRouterII:~# iptables -L INPUT -vxn root@HomeRouterII:~# iptables -L INPUT -vxn
 Chain INPUT (policy ACCEPT 8444 packets, 1003147 bytes) Chain INPUT (policy ACCEPT 8444 packets, 1003147 bytes)
-    pkts      bytes target     prot opt in     out     source               destination          +    pkts     bytes target      prot opt  in      out       source               destination          
- 1828997 189743951 ACCEPT     all  --    *        *       0.0.0.0/           0.0.0.0/          state RELATED,ESTABLISHED  + 1828997 189743951 ACCEPT      all  --    *        *       0.0.0.0/           0.0.0.0/          state RELATED,ESTABLISHED  
-   30524  1893399 ACCEPT     all  --  lo       *       0.0.0.0/           0.0.0.0/           +   30524   1893399 ACCEPT      all  --   lo        *       0.0.0.0/           0.0.0.0/           
-   10019   529628 syn_flood  tcp  --    *        *       0.0.0.0/           0.0.0.0/          tcp flags:0x17/0x02 +   10019    529628 syn_flood   tcp  --    *        *       0.0.0.0/           0.0.0.0/          tcp flags:0x17/0x02 
  2153813 265801766 input_rule  all  --    *        *       0.0.0.0/           0.0.0.0/            2153813 265801766 input_rule  all  --    *        *       0.0.0.0/           0.0.0.0/          
- 2153766 265799194 input      all  --    *        *       0.0.0.0/           0.0.0.0/   + 2153766 265799194 input       all  --    *        *       0.0.0.0/           0.0.0.0/   
 </code> </code>
  
Řá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 na usb ===== +===== Generovani NetFlow na embedded zarizeni ===== 
- +  * zkousel jsem generovat NetFlow pomoci fprobe/nprobe na mem RSpro .. pri 4Mbit to zralo asi 30% fprobe 60% nprobe CPUpamet minimalne 
-Pouzivani externiho uloziste jako korenovy adresar / (root) [[http://wiki.openwrt.org/doc/howto/extroot/extroot.theory|teorie extroot]], [[http://wiki.openwrt.org/doc/howto/extroot|extroot]] +  * dnes jsem videl akci router board 750 GL Atheros AR7242 400MHz 64 MB RAMCPU bylo kolem 20% pri nf9rikaji tomu traffic-flow 
- +  * fprobe ma nejaky special modul pro cteni paketu jadraale neumi nf9 pry obsahuje hodne chyb 
-Externi uloziste lze pouzivat dvema zpusoby: +  * nadeje vkladam do ipt-netflow projektu :) pry je hodne rychly :)
-  * 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://en.wikipedia.org/wiki/System-on-a-chip|SoC]]) vetsinou nepodporuji [[http://wiki.openwrt.org/doc/techref/process.boot|bootovani]] primo z USB (FTL flash)musi se nejprve spustit system ulozeny na flash chipu (raw flash). +
-  * pivot-root se lze 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 jinou verzi uClibc nez image. Nemusi byt kompatibilni. +
-    * 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 predejit problemum vypnutim bootovani z externiho zarizeni. V takovem pripade je extroot pripojen do /tmp/overlay-disabledaby se mohl opravit. +
-  * 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 necoco by v init pripojilo souborovy system na externim ulozisti bez jineho souboroveho systemu, kde by tato akce byla popsana. K tomu se pouziva modul ''block-mount'' (drive navic block-extroot, block-hotplug) +
-  * v image je dobre mit take nastroj ''e2fsprogs'', pro vytvareni filesystemu na externim ulozisit (neni nutne)   +
- +
-Pro image si udelam vlastni build, chci tam mit jen minimum veci nezbytnych pro pro boot z externiho uloziste. Pokud bych pouzil image primo openwrtmusel bych tam jeste doinstalovat chybejici balicky image by byl zbytecne velky. Bude se mi take lepe udrzovat konzistence mezi externim ulozistem a image, protoze budu mit stejne buildovaci prostredi. +
- +
-Postup: +
-  * vybereme zakladni balicky plus nasledujici +
- <code> +
-    block-mount kmod-usb-storage kmod-fs-ext4 mod-usb-core kmod-usb2 kmod-mmc +
- </code> +
-  * do fstab pridame (az po bootu nebo modfifikujeme cilovy fs) +
-<code>   +
-config mount +
-        option target        / +
-        option device        /dev/sda1 +
-        option fstype        ext4 +
-        option options       rw,sync +
-        option enabled       1 +
-        option enabled_fsck +
-</code>   +
- +
-==== 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 /dev/sda1) +
-    * 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) +
-     +
-<code> +
-mkfs.ext4 /dev/sda1 +
-mount /dev/sda1 /mnt +
-mkdir /tmp/cproot +
-mount --bind / /tmp/cproot +
-tar -C /tmp/cproot -cvf - . | tar -C /mnt -xvf - +
-sync ; umount /mnt +
-umount /tmp/cproot +
-</code> +
- +
-  * 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://wiki.openwrt.org/toh/tp-link/tl-wr1043nd wiki] pisou, jak instalovat balicky na usb..  +
-  * dva zpusoby: +
-    * pouzit fw s kernel modulem block-extroot +
-      * sestavit vlastni +
-      * pouzit predkompilovany z [http://openwrt.groov.pl/WR1043NDv1/ odkazu] z wiki.. blbnou  nektere programy +
-    * mapovat jen nektere adresare +
-     * nejdulezitejsi veci se daji primo do ROM, zbytek na USB +
-    +
-  * nejprve: +
-   +
-<code> +
-opkg install kmod-usb2 kmod-usb-storage kmod-fs-ext2 e2fsprogs +
-</code> +
- +
-  * pripravit USB disk s ext3 +
-  * [http://www.denx.de/wiki/bin/view/Know/MiniFOFAQ jak funguje spojeni R a W fs?] +
-  * 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 /dev/mtdblock3 on /overlay type jffs2 na usb +
-     * inicializace +
- +
-<code> +
-mkdir /tmp/sto /tmp/new_root +
-mount /dev/sda1 /tmp/sto +
-</code> +
- +
-     * vytvorime novy R/W FS zalozeny na ROM +
- +
-<code> +
-mount -t mini_fo -o base=/rom,sto=/tmp/sto /rom /tmp/new_root +
-</code> +
- +
-     * premountujeme adr, do ktereho se instaluji nove balicky +
- +
-<code> +
-mount --bind /tmp/sto /overlay +
-</code> +
- +
-     * premountujeme zakladni adresare :-D +
- +
-<code> +
-mount --bind /tmp/new_root/etc  /etc +
-mount --bind /tmp/new_root/lib /lib +
-mount --bind /tmp/new_root/sbin /sbin +
-mount --bind /tmp/new_root/usr /usr +
-mount --bind /tmp/sto/root /root +
-</code> +
- +
-    * slo by neco odmountovat?   +
-    * '''nejspis je potreba ext3!! na fat mi to hazelo nejake chyby.. nejde nastavit napriklad suid bit''' +
-    * script pro rspro :) +
-      * haze mi to seg.fault.. mam podezreni na FAT (misto ext3)... mozna chyba pri mountovani etc?  - zkusim preskocit +
- +
-<code> +
-mkdir /tmp/sto /tmp/new_root +
-mount /dev/sda1 /tmp/sto  +
-mount --bind /tmp/sto/chroot /jffs +
-mount -t mini_fo -o base=/rom,sto=/tmp/sto/chroot /rom /tmp/new_root +
- +
-mount --bind /tmp/new_root/lib /lib +
-which  +
-Segmentation fault :( +
-</code> +
- +
-  * zjednodusena verze +
- +
-<code> +
-mkdir /tmp/new_root +
-mount -t mini_fo -o base=/rom,sto=/mnt/sdcard/chroot /rom /tmp/new_root +
-ls -l /tmp/new_root/lib/ +
-Segmentation fault +
-</code> +
- +
-<code> +
-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 +
-</code>+
  
-  * zajimave.. ok je: /tmp/new_root/, /tmp/new_root/etc, /tmp/new_root/usr,  +===== build konkretni vereze kernel =====
-  * nok je .. /tmp/new_root/rom, /tmp/new_root/bin, /tmp/new_root/lib, /tmp/new_root/usr/*/ +
-==== build konkretni vereze kernel ====+
 Tweak the LINUX_VERSION variable in target/linux/ar71xx/Makefile. Tweak the LINUX_VERSION variable in target/linux/ar71xx/Makefile.
 Supported Kernels are listed in include/kernel-version.mk  Supported Kernels are listed in include/kernel-version.mk 
   * https://forum.openwrt.org/viewtopic.php?pid=91808   * https://forum.openwrt.org/viewtopic.php?pid=91808
openwrt.1367741816.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki