Ankündigung

Einklappen
Keine Ankündigung bisher.

openWrt Image mit eibd

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Bräuchte mal eben eure Hilfe. Habe zum einrichten von extroot folgende Anleitung befolgt klick. Der Stick ist partitioniert und formatiert. Soweit alles klar. Dann habe ich die fstab wie folgt bearbeitet:
    config global automount
    option from_fstab 1
    option anon_mount 1

    config global autoswap
    option from_fstab 1
    option anon_swap 0

    config mount
    option target /home
    option device /dev/sda2
    option fstype ext3
    option options rw,sync
    option enabled 1
    option enabled_fsck 0
    option is_rootfs 0

    config swap
    option device /dev/sda1
    option enabled 1
    Nach einem Neustart sollte nach der Eingabe von mount folgende Zeile enthalten sein:
    /dev/sda on /home ext3 (rw,XXX)
    Ist sie aber nicht:
    root@OpenWrt:~# mount
    rootfs on / type rootfs (rw)
    /dev/root on /rom type squashfs (ro,relatime)
    none on /proc type proc (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
    tmpfs on /dev type tmpfs (rw,relatime,size=512k)
    devpts on /dev/pts type devpts (rw,relatime,mode=600)
    /dev/mtdblock3 on /overlay type jffs2 (rw,relatime)
    mini_fo:/overlay on / type mini_fo (rw,relatime)
    debugfs on /sys/kernel/debug type debugfs (rw,relatime)
    none on /proc/bus/usb type usbfs (rw,relatime)
    root@OpenWrt:~#
    SDA1 und SDA2 lassen sich zumindest manuell mounten. Kann mir jemand auf die Sprünge helfen?

    Kommentar


      #17
      Na klar

      option is_rootfs 1

      So mal kurze Anleitung dazu

      am besten Programme und Daten trennen. Ich gehe jezt mal von nem 4GB Stick aus.

      Code:
      root@OpenWrt:~# fdisk -l
      
      Disk /dev/sda: 4011 MB, 4011851776 bytes
      5 heads, 32 sectors/track, 48972 cylinders
      Units = cylinders of 160 * 512 = 81920 bytes
      Disk identifier: 0x00000000
      
         Device Boot      Start         End      Blocks   Id  System
      /dev/sda1               1       23194     1855504   83  Linux
      /dev/sda2           23195       24758      125120   82  Linux swap / Solaris
      /dev/sda3           24759       48972     1937120   83  Linux
      root@OpenWrt:~#
      wobei sda1 das Rootfs aus dem Overlay ist.
      in /etc/config/fstab das hinzufügen oder ändern
      Code:
      config mount
              option target   /ROOTFS
              option device   /dev/sda1
              option fstype   ext3
              option options  rw,sync
              option enabled  1
              option enabled_fsck 1
              option is_rootfs 1
      
      config mount
              option target   /home
              option device   /dev/sda3
              option fstype   ext3
              option options  rw,sync
              option enabled  1
              option enabled_fsck 1
      
      config swap
              option device   /dev/sda2
              option enabled  0
      Code:
      mkswap /dev/sda2 nicht vergessen
      WICHTIG. Das Dateisystem MUSS ext3 sein mit obiger config ext2 funktioniert nicht.

      also

      Code:
      mkfs.ext3 /dev/sda1
      Nils

      aktuelle Bausteine:
      BusAufsicht - ServiceCheck - Pushover - HS-Insight

      Kommentar


        #18
        Vielen Dank NilsS für Deine Unterstützung! Habe alles nach Anleitung gemacht:
        Disk /dev/sda: 1059 MB, 1059061760 bytes
        255 heads, 63 sectors/track, 128 cylinders
        Units = cylinders of 16065 * 512 = 8225280 bytes
        Disk identifier: 0x001907d6

        Device Boot Start End Blocks Id System
        /dev/sda1 1 55 441756 83 Linux
        /dev/sda2 56 74 152617+ 82 Linux swap / Solaris <--------was bedeutet das + Zeichen?
        /dev/sda3 75 128 433755 83 Linux
        nur halt mit einem 1 GB Stick. Die fstab habe ich nach Deinem Vorbild geändert. Swap ist nicht enabled. Ist das richtig?
        Aber trotzdem:
        rootfs on / type rootfs (rw)
        /dev/root on /rom type squashfs (ro,relatime)
        none on /proc type proc (rw,relatime)
        sysfs on /sys type sysfs (rw,relatime)
        tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
        tmpfs on /dev type tmpfs (rw,relatime,size=512k)
        devpts on /dev/pts type devpts (rw,relatime,mode=600)
        /dev/mtdblock3 on /overlay type jffs2 (rw,relatime)
        mini_fo:/overlay on / type mini_fo (rw,relatime)
        debugfs on /sys/kernel/debug type debugfs (rw,relatime)
        none on /proc/bus/usb type usbfs (rw,relatime)
        noch keine Spur vom mounten!?
        Das Dateisystem MUSS ext3 sein mit obiger config ext2 funktioniert nicht.
        War es! Hast Dich bestimmt verguckt!
        Hast Du sonst noch eine Idee? Kann es sein, dass die fstab beim booten nicht beachtet wird?

        EDIT: Gelöst! Ich dämel war die ganze Zeit im oberen USB-Port!

        Kommentar


          #19
          Reboot hast du gemacht ?

          mach mal
          Code:
          cat /etc/fstab
          manuelles mounten von sda1 geht sagst du.

          ist das sda1 leer ?
          Nils

          aktuelle Bausteine:
          BusAufsicht - ServiceCheck - Pushover - HS-Insight

          Kommentar


            #20
            kannst du sonst mal

            Code:
            mount
            nach manuellem mount von sda1 auf /mnt machen
            Nils

            aktuelle Bausteine:
            BusAufsicht - ServiceCheck - Pushover - HS-Insight

            Kommentar


              #21
              War im falschen USB-Port

              Jetzt sieht´s so aus:
              root@OpenWrt:~# mount
              rootfs on / type rootfs (rw)
              /dev/root on /rom type squashfs (ro,relatime)
              none on /proc type proc (rw,relatime)
              sysfs on /sys type sysfs (rw,relatime)
              tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
              tmpfs on /dev type tmpfs (rw,relatime,size=512k)
              devpts on /dev/pts type devpts (rw,relatime,mode=600)
              /dev/mtdblock3 on /overlay type jffs2 (rw,relatime)
              mini_fo:/overlay on / type mini_fo (rw,relatime)
              debugfs on /sys/kernel/debug type debugfs (rw,relatime)
              none on /proc/bus/usb type usbfs (rw,relatime)
              /dev/sda1 on /ROOTFS type ext3 (rw,sync,relatime,errors=continue,data=writeback)
              /dev/sda3 on /home type ext3 (rw,sync,relatime,errors=continue,data=writeback)
              und
              Filesystem 1K-blocks Used Available Use% Mounted on
              /dev/root 2432 2432 0 100% /rom
              tmpfs 14888 76 14812 1% /tmp
              tmpfs 512 0 512 0% /dev
              /dev/mtdblock3 4800 1924 2876 40% /overlay
              mini_fo:/overlay 2432 2432 0 100% /
              /dev/sda1 427796 10543 395166 3% /ROOTFS
              /dev/sda3 420050 10543 387820 3% /home
              Sieht schon besser aus. Aber: Müsste LuCi jetzt nicht unter Software den "free space" des Sticks anzeigen? Tuts nämlich nicht. Paket-Installationen werden immernoch vom spärlichen Flash des Routers abgezogen. Auch mit dem Befehl "free"
              total used free shared buffers
              Mem: 29776 10020 19756 0 1080
              Swap: 0 0 0
              Total: 29776 10020 19756
              kann ich keine Änderung feststellen. Irgenwas stimmt doch noch nicht!?

              Kommentar


                #22
                Du kannst nicht manuell in den ROOTFS mounten, der mount Point ROOTFS muss nichtmal existieren.

                es muss nur lediglich das option is_rootfs 1 in der config/fstab sein
                Nils

                aktuelle Bausteine:
                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                Kommentar


                  #23
                  So wir haben jetzt auch ne Ecke dafür in der Projektverwaltung
                  https://knx-user-forum.de/project.php?projectid=14

                  und außerdem werd ich diverse binaries auf http://openwrt.knx-user-forum.de laden, das ist dann auch als package repo eingetragen.

                  Da gibts dann aber nicht alles sondern nur was für KNX und Hausautomation einigermaßen interessant ist.

                  Request bitte in der Projektverwaltung.
                  Nils

                  aktuelle Bausteine:
                  BusAufsicht - ServiceCheck - Pushover - HS-Insight

                  Kommentar


                    #24
                    So, (ich hoffe meine Frage gehört noch hierhin und nicht in die PV?)
                    habe nun Knxweb auf dem Router (Stick) installiert und kann es über Port 82 aufrufen. Mir gelingt es aber nicht, das lighttpd beim booten bereits gestartet wird. Mit
                    /etc/init.d/lighttpd start
                    oder
                    lighttpd -D -f lighttpd.conf
                    lässt es sich aber manuell starten. Liegt der Fehler evtl. in der Datei /etc/init.d/lighttpd?:
                    #!/bin/sh /etc/rc.common
                    # Copyright (C) 2006 OpenWrt.org
                    START=50

                    BIN=lighttpd
                    DEFAULT=/etc/default/$BIN
                    LOG_D=/var/log/$BIN
                    RUN_D=/var/run
                    PID_F=$RUN_D/$BIN.pid

                    start() {
                    [ -f $DEFAULT ] && . $DEFAULT
                    mkdir -p $LOG_D
                    mkdir -p $RUN_D
                    $BIN $OPTIONS
                    }

                    stop() {
                    [ -f $PID_F ] && kill $(cat $PID_F)
                    }
                    Es wird wohl irgendwas damit zu tun haben, das httpd für LuCi ebenfalls gestartet wird. So ganz blicke ich da nicht durch. Jemand eine Idee?

                    Kommentar


                      #25
                      Hallo NilsS,

                      nach langen und zähen Stunden weis ich nun, dass rootfs auf dem Stick bei mir nicht funktioniert:
                      Filesystem Size Used Available Use% Mounted on
                      /dev/root 2.4M 2.4M 0 100% /rom
                      tmpfs 14.5M 76.0K 14.5M 1% /tmp
                      tmpfs 512.0K 0 512.0K 0% /dev
                      /dev/mtdblock3 4.7M 3.4M 1.2M 74% /overlay
                      mini_fo:/overlay 2.4M 2.4M 0 100% /
                      /dev/sda1 488.5M 10.3M 453.0M 2% /ROOTFS
                      /dev/sda3 429.5M 10.7M 396.7M 3% /home
                      sonst müsste "overlay" die gleiche größe (453.0M) haben wie "/dev/sda1". sda1 dürfte außerdem nicht in /ROOTFS gemountet sein sondern in overlay. Richtig? Die fstab ist jedenfalls so eingestellt, wie sie sein soll. Ich kann einfach keinen Fehler finden. Hast Du einen Tipp, bevor ich wieder alles neu flashe?

                      Kommentar


                        #26
                        Zitat von NilsS Beitrag anzeigen
                        So die aktuellen feeds und den eibd aus dem GIT häng ich nochmal an.

                        die feeds wie oben beschrieben unter feeds/packages/net|libs.... kopieren

                        den eibd aus dem GIT kann man nur manuell runterladen, also einfach aus dem eibd-dl die Datei unter openwrt/backfire/dl kopieren
                        Hallo Nils,
                        dein Thread hat mich animiert mich aus Neugier auch mal selbst mit dem Bau der OpenWrt-Packages für eibd und linknx zu beschäftigen. Selbst setze ich eibd + linknx + knxweb zusammen mit ein paar anderen Dingen auf einem Intel-System mit Ubuntu ein.

                        Ich bin fasziniert davon, mit Routern und OpenWrt stromsparende und kostengünstige Systeme für Aufgaben mit bescheidenen Leistungsansprüchen zu bauen. Ich setze einen Asus WL-500g Premium v2 unter OpenWrt als Security Gateway zum Internet ein, mit Funktionen wie Reverse-HTTP-Proxy mit SSL-Terminierung, als SMTP-Gateway und für Remote-Access über SSH. Schon dafür reichten die 4MB RAM meines ersten Kaufs WRT54GL nicht mehr aus. Alleine das Mail-Spool-Verzeichnis, welches das eingesetzte Xmail erzeugt, umfasst lächerlicherweise über 70MB. Ohne Filesystemerweiterung mit USB geht da also gar nichts, aber mit einem USB-Memory-Stick kein Problem.

                        So habe ich also einen WRT54GL rumliegen, für den ich aus reinem Interesse versuchen wollte anhand deiner Informationen eine eibd-linknx-knxweb-Appliance frisch zu bauen. Das habe ich nun zum grossen Teil geschafft, bis ich einsehen musste, dass auch dafür die 4MB nicht reichen, trotz ein paar speziellen Eingriffen.
                        Mein Fokus war dabei nicht die Erstellung eines benutzerspezifischen Images, sondern der Selbstbau der paar zusätzlichen Packages auf ein Original Backfire Image.

                        Ein paar Anregungen und Ergebnisse möchte ich hier loswerden, damit die ganzen Stunden pröbeln doch noch irgendwelchen Nutzen bringen können.

                        Das wertvollste für mich waren deine Feeds. Ich möchte deshalb anregen, dass du die Feeds auf jeden Fall unter http://openwrt.knx-user-forum.de/backfire auch noch veröffentlichst, damit man diese einfach findet, statt sie in irgendeinem Forum-Thread aufzuspüren zu müssen.

                        Auch fände ich es sinnvoll einen aktuellen Stand eines HowTo unter http://openwrt.knx-user-forum.de/backfire zu führen. Das Beschreiben in Forum-Threads finde ich nicht ganz so zweckmässig. Wenn dann später jemand danach sucht, findet er Dutzende von Treffern mit widersprüchlichen, vielleicht sogar später korrigierten Informationen zu unterschiedlichen Versionsständen. Daraus die korrekte Vorgehensweise zu konstruieren kann sehr verwirrend und sehr zeitaufwändig werden.

                        Und jetzt noch ein paar konkrete Hinweise zum Bau meiner Packages:

                        Bau von eibd, eibd-utils:
                        Aus Platzgründen habe ich die unnötige Abhängigkeit von libusb und uclibcxx im Makefile von bcusdk entfernt. Warum sind die überhaupt drin?

                        Beim Feed-Aufruf hast du angegeben:
                        ./scripts/feeds install bcusdk
                        Das geht aber meiner Meinung nach nicht, stattdessen:
                        ./scripts/feeds install eibd
                        ./scripts/feeds install eibd-utils

                        Bau von linknx:
                        Trotz der Angabe von -luClibc++ wollte das fertige Package die Library libstdc++ laden. Mir ist nicht klar geworden, weshalb nicht gegen uClibc++ gelinkt wurde. Ich habe mich dann entschlossen, uClibc++ ganz rauszuwerfen und den Aufruf mit -lstdc++ ersetzt. Deshalb kann ich ganz auf uClibc++ verzichten, muss dafür aber libstdcpp als Package erstellen.

                        linknx wünscht zusätzlich libesmtp. Beim Erstellen von libesmtp wird das Script libesmtp-config nicht in staging_dir installiert. Ich habe es deshalb manuell unter staging_dir/target-mipsel_uClibc-0.9.30.1/host/bin abgelegt. Zudem sucht das Makefile von linknx libesmtp-config überhaupt nicht in staging_dir, weshalb ich den Shell-Pfad noch um staging_dir/target-mipsel_uClibc-0.9.30.1/host/bin erweitert habe. Beide manuellen Fixes könnte man via Patches im Feed lösen, habe ich mir aber erspart.

                        linknx baut auch noch libcurl ein. libcurl seiterseits wird mit openssl gebaut. Das libopenssl Package benötigt alleine fast 800kB Platz. Also keine Chance unter diesen Voraussetzungen linknx auf einem WRT54GL zu installieren. Ich habe daher im Makefile manuell SSL und Crypto deaktiviert. Das ist natürlich nicht nötig, wenn 8MB zur Verfügung stehen.

                        Das alles resultiert bei mir in folgende Aktionen:

                        Mein eigenes Set von Feeds eingespielt mit:
                        scripts/feeds install libesmtp
                        scripts/feeds install libxml2
                        scripts/feeds install argp-standalone
                        scripts/feeds install pthsem
                        scripts/feeds install eibd
                        scripts/feeds install eibd-utils
                        scripts/feeds install linknx

                        Das Aktivieren folgender Packages mit <M> in "make menuconfig"
                        Base System: libstdcpp
                        Networks: eibd, eibd-utils, linknx
                        Libraries: argp-standalone, libcurl, libesmtp, libxml2, pthsem

                        Damit habe ich eibd und linknx auf dem WRT54GL zum Laufen gebracht. Dann habe ich aber abgebrochen, weil der restliche verfügbare Platz nicht mehr mal reicht das knxweb einzurichten geschweige denn etwas gescheit laufen zu lassen.

                        Bitte mach weiter unter http://openwrt.knx-user-forum.de/backfire, damit ein aktuelles Repository für OpenWrt für die KNX-Welt zur Verfügung steht.

                        Tru
                        EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                        Kommentar


                          #27
                          Hi Tru,
                          ich werd mal sehen ob ich die Anleitung mal ins Lexikon packen kann.

                          Deine Feed Dateien interessieren mich da fast noch mehr als mein
                          Ich hab das doch auch alles nur geklaut Die feeds waren von Jef2000, ich hab die halt nur ein bisschen zurecht gemurkst.

                          Ob uclibxx nötig ist oder nicht keine Ahnung.

                          Ich hab linknx auf jedenfall nicht ordentlich zum laufen gekriegt.

                          Das mit dem aktuell halten, ich hatte (wie schon bei anderen Dingen auch) gehofft das da vielleicht der ein oder andere ein bisschen einsteigt.
                          Ich hab da nämlich so irgendwie ein paar viele Sachen hier als Einzelkämpfer am laufen.

                          Daher bitte melden wer hier Interesse hat.
                          Nils

                          aktuelle Bausteine:
                          BusAufsicht - ServiceCheck - Pushover - HS-Insight

                          Kommentar


                            #28
                            Hallo NilsS (und alle anderen),
                            nun funktioniert auch alles bei mir! Habe mir die Firmware selbst compiliert. Block-Extroot lässt sich unter SquashFs nicht als Package installieren - dann läuft es nämlich nicht. Das weist Du aber sicherlich, da es bei Dir ja komischerweise läuft.
                            -
                            NilsS firmware wurde doch schon öfters runtergeladen. Hat sonst noch niemand probleme mit rootfs auf USB gehabt?
                            -
                            Auch lighttpd startet nun endlich beim booten automatisch und ich kann auf knxweb zugreifen.
                            Nun habe ich mich daran begeben, den Eibd auszuprobieren. Bin noch nicht weit gekommen. Aber kann mir mal jemand sagen, wie ich Eibd beim booten automatisch starte? Diese Anleitung klick ist warscheinlich schon zu alt. Das Script funktioniert jedenfalls bei mir nicht. In diesem Zusammenhang wäre ein Tipp für den "aktuell" passenden Startbefehl sehr hilfreich. Ich möchte mittels LAN-Kabel auf meinen Siemens IP-Router zugreifen (kein HS, ETS, Tunneling etc.).

                            Kommentar


                              #29
                              Zitat von Soraja1976 Beitrag anzeigen
                              Hallo NilsS (und alle anderen),
                              nun funktioniert auch alles bei mir! Habe mir die Firmware selbst compiliert. Block-Extroot lässt sich unter SquashFs nicht als Package installieren - dann läuft es nämlich nicht. Das weist Du aber sicherlich, da es bei Dir ja komischerweise läuft.
                              -
                              Hmm was meinst du extroot ist in der fw integriert und ist KEIN Package.

                              Hauptsächlich deshalb hab ich ja das image hochgeladen.
                              Nils

                              aktuelle Bausteine:
                              BusAufsicht - ServiceCheck - Pushover - HS-Insight

                              Kommentar


                                #30
                                Hallo NilsS,
                                Using jffs2 is the only way to boot openwrt from external storage with block-extroot without compiling an image...
                                Install the jffs2 version for your router model. Squashfs won't work whitout building an image.
                                Quelle: Klick

                                Block-Extroot muss im "menuconfig" mit "Y" dem Kernel hinzugefügt werden. Y= Compile and include this feature inside of the kernel. Mit "m" oder nachträglich als Package installiert, läuft block-extroot nicht.

                                Grüße.

                                Kommentar

                                Lädt...
                                X